Just remember that someone else is paying the bill. You can persuade, recommend, and suggest the right architecture, but ultimately it comes down to some compromise between your ideals and what it costs someone else.
I am certainly not suggesting that you create something cheap and cheesy, just the opposite. Sometimes you need to vote with your feet, and just walk away from an architectural assignment.
As a software architect faced with a budget, and who isn’t, you need to find that middle-of-the-road that will satisfy your client’s needs and requirements, and still yield a consistent harmonious whole. If you’re convinced that can’t be done, you must tell your client and be prepared to walk.
You’ll either convince them to scrap the project (good), re-scope the project (better), or expand their budget (best). In the long run, a resume with many happy clients and no failures is much better that a resume with even one unhappy client.
With this in mind, remember that the project manager is not your client; they only are concerned with time and money. The software engineers and builders on a project are not your customer either. The one that is actually paying the bill, "the one who has the gold," is your client, and they "rule." Talk directly to the "ruler".
This work is licensed under a Creative Commons Attribution 3
Back to 97 Things Every Software Architect Should Know home page