Timothy High is a software architect with more than 15 years' experience with web, multitiered client-server, and application-integration technologies. He is currently working as a software architect for Sakonnet Technologies, a leader in Energy Trading and Risk Management (ETRM) software.
YOU'VE PROBABLY HEARD THIS SAID BEFORE. If you're an experienced architect, you know it's true: if you can only think of one solution to a problem, you're in trouble.
Software architecture is about finding the best possible solution for a problem given any number of constraints. It is rarely possible to satisfy all requirements and constraints with the first solution that comes to mind. Generally, tradeoffs must be made by choosing the solution that best satisfies the requirements according to the most critical priorities.
If you only have one solution to the problem at hand, it means that you will have no room to negotiate these tradeoffs. It's very possible that this one solution will be insatisfactory to the stakeholders of your system. It also means that if priorities are shifted due to a changing business environment, your system may have no room to adapt to new requirements.
Rarely, if ever, is this situation caused by a real lack of options. It is much more likely due to the inexperience of the architect in this particular ...