intermediate 2 min answer

A stakeholder states a requirement as an adjective. How does constraint thinking convert it into something designable?

constraintsrequirementsnumbersdriftzoomconceptual
Show the full answer Hide the answer

The conversion

Adjectives are not designable. "Fast", "reliable", "secure", "scalable" all pass review and none can be tested, so they are settled later by whoever is loudest during the incident.

Four mechanical questions convert them:

1. How much, how often, how fast? Volume, rate, latency percentile. "Join within 2 seconds at p99 for a meeting of up to N participants from any continent" is designable; "instant" is not.

2. What happens if it fails? Money, safety, reputation, regulatory exposure. This is what sets how much the constraint is worth paying for.

3. Who says so, and can they change their mind? A constraint from a regulator differs in kind from one from a product manager.

4. When does it bite? Peak, not average. Average load never designed anything.

What the conversion reveals

Frequently that two stated requirements are jointly unsatisfiable — and discovering that during design is vastly cheaper than during the first incident. A high cache hit ratio and a five-second global freshness target argue immediately once both are numbers, which forces the productive question: fresh for which content?

Most apparent conflicts dissolve once the workload is segmented; the ones that survive segmentation are real and worth escalating to whoever can accept the cost.

The half that is usually missed

Constraints have a shelf life. A constraint derived from today's volume expires when the volume moves, and nothing announces it.

So the practice is to record the number next to the decision it justified — "we run three regions because peak concurrent is X" ages far better than "we run three regions" — and to instrument the assumption itself, so an approaching change is a planned piece of work rather than an unexplained incident.

The classic case is a system whose functional specification never changed while one number moved by an order of magnitude, invalidating every capacity, topology and default decision that had been sized against it.