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 translate into long-term cost-of-ownership. And that tends to get the project sponsor’s attention!