Constraint

A constraint is a restriction on the freedom an architect or engineer has in creating, designing, implementing, or otherwise delivering a solution. Unlike an ordinary requirement, which describes something a system must do or a quality it must have, a constraint is imposed from outside the design process and simply must be worked within, whether or not it would have been chosen freely.

Constraints are often global in scope rather than tied to one feature or component. Examples: limited development resources or timelines, a mandated technology stack, regulatory obligations, or a decision by senior management that restricts how a system may be planned, designed, developed, or operated.

Because they apply everywhere at once, constraints behave much like concerns. They shape the whole architecture rather than any single part of it. Capturing them explicitly, early, prevents a design from later being found infeasible for reasons that were knowable from the start.