O'Reilly logo

97 Things Every Software Architect Should Know by Richard Monson-Haefel

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 66. If There Is Only One Solution, Get a Second Opinion

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.

Timothy High
image with no caption

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required