Forging high-quality User Stories: Towards a discipline for Agile Requirements

User stories are a widely used notation for formulating requirements in agile development projects. Despite their popularity in industry, little to no academic work is available on assessing their quality. The few existing approaches are too generic or employ highly qualitative metrics. We propose the Quality User Story Framework, consisting of 14 quality criteria that user story writers should strive to conform to. Additionally, we introduce the conceptual model of a user story, which we rely on to design the AQUSA software tool. AQUSA aids requirements engineers in turning raw user stories into higher-quality ones by exposing defects and deviations from good practice in user stories. We evaluate our work by applying the framework and a prototype implementation to three user story sets from industry.

[1]  Michal Smialek,et al.  Writing Coherent User Stories with Tool Support , 2005, XP.

[2]  Mike Cohn,et al.  User Stories Applied: For Agile Software Development , 2004 .

[3]  J. M. Singer,et al.  IEEE Recommended Practice for Software Requirements SpeciÞcations , 1993 .

[4]  Stephen Clark,et al.  Best Practices for Automated Traceability , 2007, Computer.

[5]  Sooyong Park,et al.  Managing requirements conflicts in software product lines: A goal and scenario based approach , 2007, Data Knowl. Eng..

[6]  W. N. Robinson,et al.  Integrating multiple specifications using domain goals , 1989, IWSSD '89.

[7]  Erik Kamsties,et al.  Ambiguity in Requirements Specification , 2004 .

[8]  Pao-Ann Hsiung,et al.  VERTAF: an application framework for the design and verification of embedded real-time software , 2004, IEEE Transactions on Software Engineering.

[9]  Arne Sølvberg,et al.  Understanding quality in conceptual modeling , 1994, IEEE Software.

[10]  Paolo Giorgini,et al.  Managing Security Requirements Conflicts in Socio-Technical Systems , 2013, ER.

[11]  Kurt Schneider,et al.  Why We Need a Granularity Concept for User Stories , 2014, XP.

[12]  Nora Koch,et al.  Metamodeling the Requirements of Web Systems , 2006, WEBIST.

[13]  Isabelle Mirbel,et al.  Unifying and Extending User Story Models , 2014, CAiSE.

[14]  Antonio Bucchiarone,et al.  Quality analysis of NL requirements: an industrial case study , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[15]  George A. Miller,et al.  WordNet: A Lexical Database for English , 1995, HLT.

[16]  Bashar Nuseibeh,et al.  Speculative requirements: Automatic detection of uncertainty in natural language requirements , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[17]  Peter Sawyer,et al.  On the Effectiveness of Abstraction Identification in Requirements Engineering , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[18]  Andy Zaidman,et al.  A Quality Framework for Agile Requirements: A Practitioner's Perspective , 2014, ArXiv.

[19]  Tetsuo Tamai,et al.  How Does Requirements Quality Relate to Project Success or Failure? , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[20]  Nenad Medvidovic,et al.  Reducing Ambiguities in Requirements Specifications Via Automatically Created Object-Oriented Models , 2008, Monterey Workshop.

[21]  John Mylopoulos,et al.  Understanding "why" in software process modelling, analysis, and design , 1994, Proceedings of 16th International Conference on Software Engineering.

[22]  Jie Sun,et al.  The Role of Requirements Engineering Practices in Agile Development: An Empirical Study , 2014, APRES.

[23]  Peter Sawyer,et al.  The Case for Dumb Requirements Engineering Tools , 2012, REFSQ.

[24]  Neil A. M. Maiden Exactly How Are Requirements Written? , 2012, IEEE Software.

[25]  Kevin Ryan,et al.  The role of natural language in requirements engineering , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[26]  Daniel M. Berry,et al.  The Design of SREE - A Prototype Potential Ambiguity Finder for Requirements Specifications and Lessons Learned , 2013, REFSQ.

[27]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[28]  Mathias Landhäußer,et al.  Connecting User Stories and code for test development , 2012, 2012 Third International Workshop on Recommendation Systems for Software Engineering (RSSE).

[29]  Barbara Plank,et al.  Supporting Agile Software Development by Natural Language Processing , 2012, EternalS@ECAI.

[30]  Pedro Pablo Alarcón Cavero,et al.  A Systematic and Lightweight Method to Identify Dependencies between User Stories , 2010 .

[31]  Laurie A. Williams,et al.  Hidden in plain sight: Automatically identifying security requirements from natural language artifacts , 2014, 2014 IEEE 22nd International Requirements Engineering Conference (RE).

[32]  Martin Glinz,et al.  Improving the Quality of Requirements with Scenarios , 2000 .