Requirement templates also called boilerplates are sets of structures that can be used to write requirement text in a standardized way. There are many benefits of working with them:
- Standardized formulation: The requirement template forces requirements to be written down in a certain way, helping similar requirements look alike.
- Prevent ambiguity: The rigidness of the requirement template prevents a vague language, and encourages specifying the exact meaning.
- Prevent inconsistencies: A clearer language and specification of purpose helps developers and other stakeholders see dependencies between requirements, thus preventing inconsistencies.
- Uniformity of language/Consistency
- Easy to use: Requirement templates are written in what is called a semi-formal language.
When working with requirement templates a requirement is often defined as a combination of a filled in boilerplate and a number of attributes which provide more information to it, like a rationale, priority, risk, etc.
Examples of boilerplates
- A structure of a user story is actually a boilerplate: As <a role> I want to <activity> so that <benefit>. Standard attributes of a user story are Size and Priority.
- International Requirements Engineering Board (IREB) came up with a more sophisticated model of a boiler plate, see a picture below:
Figure 1: Requirement template according to IREB
Examples of requirements from boilerplates
These structures help us to define better requirements, check these sample requirements:
- The buyer shall receive a confirmation of his booking within 10 s after he completed his purchase. OR
- The weapons operator shall be able to fire a missile within 3 seconds of radar sighting while in severe sea conditions. OR
- The communications system shall sustain telephone contact with not less than 10 callers while in the absence of external power.