?
If there is only one solution, Get a Second Opinion
Timothy High
You ' VE pRoBABly HEARd this said before. If you're experienced architect, you know it's true:if you can only think of one solution to a prob-lem, you ' re in TR Ouble.
Software architecture is on finding the best possible solution for a problem given any number of constraints. It's rarely possible to satisfy all requirements and constraints with the first solution that comes to mind. Generally, tradeoffs must is made by choosing the solution the best satisfies the requirements according to the most crit ical priorities.
If you are only having one solution to the problem at hand, it means so you'll have no-to-negotiate these tradeoffs. It's very possible that this one solu-tion'll be the insatisfactory to the stakeholders of the your system. It also means that if priorities is shifted due to a changing business environment, your system could have no hostel 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 on this particular problem domain. If you know this is the case, does yourself a favor and ask someone more experienced to give you a hand.
?
?? A more insidious manifestation of this problem was when an architecture was designed from habit. An architect can is experienced with a single style of architecture (e.g., a three-tier, layered client-server system), BU t know enough to recognize when the that style doesn ' t fit. If you find yourself in the situation where you automatically know the solution, without has done any comparison to Oth Er approaches, stop, take-a step back, and ask yourself if you can think of another-do it. If you can ' t, need of some help.
A friend of mine is once the technical person in charge of a small, but grow-ing, Internet startup. As its user base started growing, so does the load require-ments on its system. Performance was going under the tubes, and the company were starting to lose some of its Hard-won user base.
So, the boss of asked him, "What can we do to improve the performance?" My Friend had the answer: "Buy a bigger machine!"
"What else can we do?"
"Umm...as far as I am know, that ' s it."
My Friend was fired on the spot. Of course, the boss is right.
If there is only one solution, Get a Second Opinion