Site Archive (Complete)
Architecture Blog: Architect-less Development
Architecture & Design
PATTERN LANGUAGE

Modeling, Managing, Making it Right.

by Jonathan Erickson
IF YOU BUILD IT

... Will they Come?

by Arnon Rotem-Gal-Oz
December 14, 2006

Architect-less Development

Can you develop software without having an architect on the team. Sure you can, but how would that affect your software quality? I guess the more interesting question is can you develop quality software without an architect?

The way I see it there are three types of projects that can work without architects:

  • Simple systems. That's the most obvious type. You just have talented developers (for a simple enough system you might not even need that) and you just develop a solution. For example, there are many small businesses that have custom solution that fill all their needs and while these architectures might not win prizes (you know, five users VB6, and access systems where all the logic is embedded in the forms and the like) -- they just work and they are good enough for their purpose.
  • Implicit architect. In this type the development team may not have an architect, but they are influenced by the architectural decisions of the architects of the tools they use. A good example for this is Rails. When you choose rails to develop your web site you may not spend too much time thinking about the architecture of your solution, but you are get all the architectural decisions made by David Heinemeier Hansson, e.g. using ActiveRecord for O/R mapping.
  • Reference Architecture. This is similar to the previous type in the sense that someone else does the architecture for you -- only this time the decision is more conscious. You decide to use an architecture someone else designed (We're using "3-tier" architecture is an example for relying on a reference architecture.

All these options can save you time. The question is will you regret that saved time later when your solution crash and burn (or you'd have an architecture that is more complicated (vs. what you really need)). On the other hand, if the architecture you use is close enough to to what you really need you do save time and money.

It is best to have qualified architects (even if they only use is make the recommendation to use one of the methods above and the architect is dismissed). Architects should be able to help deciding on the alternatives. Without an architectural perspective you are just guessing that a solution is right, Again, whatever your decision is -- don't wait too long until you prove it with working code.

What do you think?

Posted by Arnon Rotem-Gal-Oz at 06:45 PM  Permalink




 
INFO-LINK


Related Sites: DotNetJunkies, SD Expo, SqlJunkies