Research Group for Applied Software Engineering
Forschungsgruppe für Angewandte Softwaretechnik
Masterthesis
Application and Evaluation of s Semiformal Requirements Specification Language: a Case Study
Advisor
Yang Li and Stephan Krusche
Author
David Frey
Date
15.06.2015
 Many software projects suffer from low customer acceptance levels, late change requests and development cost overruns. A main cause of these problems is a lack of shared understanding among stakeholders. Traditional requirements specification languages and methods face difficulties to create and maintain shared understanding. For example by representing requirements in several different models and transferring information from one model to another information is lost. Each transformation introduces errors and stakeholders are not capable of correcting those mistakes, because the models are not easy to understand. Projects without shared understanding between stakeholders are bound to fail. We propose a semiformal behavior-driven specification language that is derived from methods developed by practitioners over the last 10 years. Behavior-driven specification uses ubiquitous language to describe system behavior as acceptance criteria from a user perspective. These semiformal models are easy to understand for stakeholders and form a basis for communication across domains, thereby enabling shared understanding. We apply the behavior-driven specification language in an industrial case study with a small development team on a mobile application development project. In a survey we show that lack of shared understanding is a root cause of problems in the development team and in an experimental setup we show that behavior-driven specification establishes shared understanding of requirements. Moreover in another survey we observe the explanatory value of shared understanding as well as better acceptance and better team performance as outcomes of shared understanding in a real world project.