Site Archive (Complete)
Architecture Blog: What Is the Most Valuable Principle in Design?
Architecture & Design
PATTERN LANGUAGE

Modeling, Managing, Making it Right.

by Jonathan Erickson
IF YOU BUILD IT

... Will they Come?

by Arnon Rotem-Gal-Oz
February 21, 2007

What Is the Most Valuable Principle in Design?

There’s a thread on the Microsoft’s Architecture Forum where someone asked what is the most valuable principle in design?

There are many good candidates -- loose coupling, abstractions, flexibility, KISS, YAGNI, separation of concerns, to name a few. However, in my opinion the most important principle is to get a practical solution.

"Practical" means a solution that take into consideration the (limited) time, budget, resources, capabilities of the team members, and so on. It is about getting the balance right. To do that you have to be pragmatic. While some solution might be the most perfect technical solution ever, it is just as worthless as a bad design if it can’t fit within the project’s other (non-technical) constraints.

It is my experience that unless you are dealing with simple projects you can’t have it all -- you can't get all the quality attributes in one system, so you have to prioritize. The challenge of getting this prioritization right is probably the number one reason the most important trait for architects is experience. You have to see the consequences of decisions in the long term in order to be able to understand the implications of what need to be done. Experience also lets you grow the needed pragmatism and to understand that the "best solution" is a relative term.

Posted by Arnon Rotem-Gal-Oz at 06:22 AM  Permalink




 
INFO-LINK


Related Sites: DotNetJunkies, SD Expo, SqlJunkies