Clarify reqs with 5 simple templates

Tweet: Writing natural language reqs? Use EARS (Easy Approach to Req Syntax) from Rolls Royce: only 5 templates!

Tags: Requirements Engineering, Specification, Industrial case study

Summary Paper: Alistair Mavin, "Listen, Then Use EARS," IEEE Software, vol. 29, no. 2, pp. 17-18, March-April 2012, doi:10.1109/MS.2012.36
Longer Paper: A. Mavin and P. Wilkinson, “Big EARS (The Return of ‘Easy Approach to Requirements Syntax’),” Proc. 18th Int’l Requirements Eng. Conf. (RE 10), IEEE CS, 2010, pp. 277–282

Background

B1. Requirements need to be written down and communicated to many different users and stakeholders
B2. A number of req specification formats have been proposed but natural, english language is the dominating choice
Problem: Natural language is ambigous and it is not clear how to constrain it so we can write testable and understandable requirements

Method

M1. Studied existing requirements and then simplfied them into 5 generic templates
M2. Applied the 5 templates to rewrite 3 industrial requirements sets at the Rolls Royce PLC: an aircraft engine control system, a generic sub-system req set, a set of safety requirements
M3. Company "airworthiness" expert validated the rewritten requirements

Results

R1. Five req templates: Ubiquitous, Event-driven, Unwanted behavior, State-driven, and Optional Feature.
R2. Reqs rewritten with EARS decreased wordiness, complexity, vagueness/ambiguity and increased testability
R3. Common templates makes comparison between reqs easier => easier to identify duplicate and missing requirements => easier to judge if req document is complete

Limitations/Threats

L1. Partial validation with only one evaluator
L2. Existing requirements were rewritten => organization might have already refined their knowledge about the actual requirements, which makes any rewrite simpler
Tiny SE - latest SW Eng research in <140 chars