A stakeholder tells you the system must be scalable. How do you turn that into a requirement you can design and test against?
Answer
Short answer
Rewrite it as a quality-attribute scenario: a named stimulus arriving at a stated rate, hitting a stated system state, with a response measured at a percentile over a defined window.
Scalability is one of the quality attributes, so the answer should turn vague non functional requirements into measurable behaviour. Good quality attributes have a scenario, a stimulus, an environment, a response, and a measurement. Weak non functional requirements say 'must scale' without saying to what load, for which operation, at what latency, and under which failure mode. Strong quality attributes make non functional requirements testable before design starts.
Quality attributes become useful when the team can run a test and agree whether the attribute was met.
Was this answer helpful?
Likely follow-ups
- The business says every attribute is critical and refuses to rank them. What do you do next?
- How would you set the error budget for this target, and what happens operationally when it is exhausted?
- Your load test passes at p99 but real users complain. What are the likely explanations?
- How do you write a testable scenario for modifiability or for security, where there is no obvious percentile?
Related questions
- The business says the system must be highly available. How do you turn that into a number, and what does that number cost?mediumAlso on slo and quality-attributes4 min
- Two quality attributes are in direct conflict and both stakeholders say theirs is non-negotiable. How do you resolve that?hardAlso on quality-attributes7 min
- Reliability work keeps losing to features in planning. How do you change that across the whole organisation?hardAlso on slo5 min
- The load test was green and the launch still fell over. What did the test not model?hardAlso on load-testing5 min