Design constraints

I use this chapter to explain the architectural consequences of decisions imposed on my work by others, especially decisions I feel has forced me to make certain unusual or undesirable design decisions.

Yes, there may be an element of ‘cover-my-ass‘ to this chapter, but mostly I believe it helps future maintenance work to explain the rationale and consequences of things long forgotten when the next major upgrade starts.

And I also use this chapter as a tool in negotiations with the stakeholders imposing their decisions on the solution. In my experience they often are not fully aware of the consequences, which I always translates into long-term cost-of-ownership. And that tends to get the project sponsor’s attention!

If I can help the organization reconsider and revise some counter-productive decisions I have a better chance of meeting deadlines, meeting the design goals and being less frustrated along the way!