LOGBOOK

HELP

Quiz Entry - updated: 2026.08.27

What is a constraint in requirements engineering, and how does it differ from a functional or a quality requirement?

A constraint is a requirement that limits the solution space beyond what is necessary for meeting the functional and quality requirements — it rules options out, rather than describing what the system does or how well it does it.

Nested regions: every possible design, then those meeting the functional requirements, then the quality requirements, then the constraints — leaving what you may actually build.

* Each requirement type shrinks the space of acceptable designs; the constraint shrinks it further than the need itself demands. *

Put the three types side by side and the distinction is clean:

  • A functional requirement says what the system must do — "the user can transfer money".
  • A quality requirement says how well it must do it — "the transfer confirms within two seconds".
  • A constraint says and you may not solve it that way — "it must run on the existing Oracle database", "the data must stay hosted in Switzerland", "no new third-party libraries".

The definition's careful phrase is beyond what is necessary. A constraint is not derived from the need; it is imposed on top of it. A dozen designs might satisfy the functional and quality requirements equally well, and the constraint deletes most of them — for reasons that are usually organisational, legal or historical rather than technical. That makes constraints worth capturing explicitly and worth challenging explicitly: an unexamined constraint quietly costs you every option it removed.

Constraints also act one level up, on the requirements work itself. Different project constraints influence requirements engineering: people, domain factors and organisational constraints — for instance the spatial distribution or the temporal availability of project members — have a large impact on which techniques are even usable. Stakeholders spread across three time zones make a full-day joint workshop impossible, so elicitation has to shift to interviews and asynchronous document review, which changes what you are likely to discover.

Tip: Test a candidate constraint by asking "what would we do differently if this were lifted?" If the answer is "nothing", it was never a constraint — it was a preference.

Go deeper:

From Quiz: SPRG / Security Requirements Fundamentals | Updated: Aug 27, 2026