About
Rhino Research is a consulting and training company focusing on software architecture. Our primary consultant and instructor is Dr. George Fairbanks, who has a Ph.D. in Software Engineering from Carnegie Mellon University and has been teaching software architecture and object oriented design since 1998. More…
Just Enough Software Architecture book
Just Enough Software Architecture: A Risk-Driven Approach by George Fairbanks.
Buy the hardback from Amazon for $34.50 or the e-book for $19.50.
Public Talks
- 9 Feb 2010: Boulder Java User Group – Design Fragments.
- 4 Mar 2010: CU Boulder Colloquium – Design Fragments.
- 6 May 2010: IASA Denver ITARC — Architecture Haiku
- 21 May 2010: SEI SATURN conference – Risk Driven Architecture.
- 14-15 June 2010: AgileRoots 2010 — Architecturally Evident Coding Style in Salt Lake City
- 21 July 2010: Northern Colorado Architects Group — Architecture Haiku in Ft. Collins
- 3 Aug 2010: Denver Open Source User Group — Architecture Haiku
- 7 Sept 2010: Boulder Java User Group — Architecture Haiku
- 17-21 Oct 2010: SPLASH / OOPSLA — tutorial on Architecturally Evident Coding Style
Recent blog posts
- Architecture Hoisting - video of Atlanta talk
- Speaking at Atlanta IASA, Weds 14th, 2012
- Book on sale: Now just $19.50 with free shipping (limited time)
- More book citations: Muddy architecture
- New review of my book
- Talk on expressing architecture in code: AgileRoots 2010
- CompArch/WICSA 2011 - Panel discussion and Haiku tutorial
- Much good news: Second printing, Amazon top-10
- Another great Amazon review of my book
- Interview in InfoQ -- and in Japan




Thanks George. It’s true,
Thanks George.
It’s true, I don’t disagree with what you say here. Here’s all I am trying to say:
I always learned the “modeling first” approach to OO design. And even today, no matter which language I use, I do pretty much always model my domain concepts with types in that language. However, what I don’t normally hear from the “modeling first” approach is, what do I do about all that other code I have to write but that has no manifestation in the domain?
It sounds like your answer is that most of the infrastructure code for your average programmer already exists in the form of libraries and frameworks. This is probably true.
All I can say is that my experience from using this approach often lead to designs where non-domain functionality, like display for instance, would get lumped in with the domain classes, since domain decomposition didn’t really tell me where this stuff needed to go.
Thanks bro.
Nels