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