practice

Constraint Thinking

Designing for the budget, timeline, skills, regulations and existing estate that actually exist, rather than for the ones a textbook assumes.

metaconstraintspragmatism

An architecture is a proposal about how to spend a real organisation's real resources. A design requiring skills the team does not have, a budget nobody approved, or a data residency posture the regulator forbids is not a good design that was unlucky — it is a design that failed to account for its inputs.

Constraints are also generative. "It must run in one region" or "we cannot add a database" removes options and thereby makes the remaining decision tractable, which is why experienced architects ask for constraints early rather than treating them as bad news.

The related discipline is knowing which constraints are real. "We have always used SQL Server" is a preference, "our data cannot leave the EU" is a law, and telling them apart is worth the conversation.