Kinds of requirements
In short: BABOK sorts requirements into four kinds: business (why), stakeholder (what a group needs), solution (what the system does and how well) and transition (how to get from the old to the new). Constraints are not needs but limits.
Problem
Everything in one list
After the meeting with the owner the notes look like this:
- Repeat orders up by 15 %.
- The customer can see their old orders.
- An "Order again" button next to each order.
- The page opens fast.
- Old orders are moved over from the current system.
- Ready by 1 December.
Everything is a "requirement". But the first is checked six months later with a sales report, the third with a test of the screen, the fifth once and never again, and the sixth with a calendar. Mix them up and you will not know which to check when, or how.
The idea
What a requirement is
A requirement is a need someone has, or a capability or property the system must have to meet it. It is written so that it can be checked later.
Both parts matter. "A need" means there is a person and a reason behind every requirement. "Can be checked" means there will be a moment when someone says "yes, it is met" or "no".
More precisely, if you are curious
IREB CPRE gives a three-part definition: a requirement is (1) a need perceived by a stakeholder; (2) a capability or property that a system shall have; (3) a documented representation of (1) or (2). The BABOK Guide v3 calls it a usable representation of a need. Both say the same thing: the requirement is the bridge between someone's need and the solution.
The idea
The four kinds in BABOK
BABOK sorts requirements from "why" down to "how exactly":
| Kind | Answers | In the shop |
|---|---|---|
| Business requirement | why we make the change | Repeat orders grow by 15 % by the end of the year. |
| Stakeholder requirement | what one group needs | The customer easily finds what they ordered before. |
| Solution requirement, functional | what the system does | The customer sees their previous orders and reorders with one button. |
| Solution requirement, non-functional | how well it does it | The list of orders opens in under 2 seconds with 200 orders. |
| Transition requirement | how to get from the old to the new | Orders from the last two years are moved over before the new system goes live. |
You already know functional and non-functional. They are the two halves of solution requirements. BABOK also calls non-functional requirements quality of service requirements.
Transition requirements are temporary: after the launch they are gone. That is why they are easy to forget, and without them the new system starts without the old data and with a support team that does not know the new screen.
More precisely, if you are curious
In the notes from the start: 1 is a business requirement. 2 is a stakeholder requirement (the customer's). 3 is a functional solution requirement, and really a proposed solution for 2. 4 is non-functional but has no measure yet: "fast" needs to become a number. 5 is a transition requirement. 6 is a constraint.
Other sources split things differently. IREB CPRE has three kinds: functional requirements, quality requirements (the non-functional ones) and constraints. "User requirement" is a common phrase at work. It usually means the stakeholder requirement of whoever uses the system.
Try it
Which kind is it?
The idea
Constraints
Some statements do not say what someone needs, but what the solution has to fit into:
- deadline and budget: by 1 December, for 20,000 €;
- law: the 14-day right of return from receipt, the protection of personal data;
- contract: payments go only through the bank the shop has a contract with;
- existing systems: the courier accepts the address only in its own format.
This is a constraint. It is usually not up for negotiation: it was there before the project started. But it is checked too, it is forgotten too, and so it is written down.
The idea
Goal versus solution
In the previous lesson the accountant asked for an Excel button, and the need was the monthly report. The same happens with every kind of requirement.
A goal says what must be achieved and can be checked without saying how. A solution says how. "The customer understands how much delivery will cost before paying" is a goal. "A "Delivery" line in the cart, above the "Pay" button, with the amount in bold" is a solution.
Solutions are not forbidden. At some point someone has to decide. It is dangerous when the solution is written down instead of the goal:
- the goal gets lost, and nobody can check whether the solution reaches it;
- better solutions are ruled out before anyone has seen them;
- the tester checks the button, not the need.
The check is simple. For every requirement ask "why?". If the answer is another requirement on the list, this one sits lower in the chain. If there is no answer, either the requirement is unnecessary or you have missed the goal.
Try it
Goal or solution?
Exercise
The chain
1. From the goal to the screen. Solution requirements serve business requirements. Which serves which, and what else needs asking?
Test
Check yourself
Related lessons
Section titled "Related lessons"- Builds on: What quality is · Who has a say · How requirements are elicited
- Continues in: The good requirement · When a table is clearer · What a story is · The traceability matrix
- Tasks on this topic: Requirements