Improving agile requirements: the Quality User Story framework and tool

User stories are a widely adopted requirements notation in agile development. Yet, user stories are too often poorly written in practice and exhibit inherent quality defects. Triggered by this observation, we propose the Quality User Story (QUS) framework, a set of 13 quality criteria that user story writers should strive to conform to. Based on QUS, we present the Automatic Quality User Story Artisan (AQUSA) software tool. Relying on natural language processing (NLP) techniques, AQUSA detects quality defects and suggest possible remedies. We describe the architecture of AQUSA, its implementation, and we report on an evaluation that analyzes 1023 user stories obtained from 18 software companies. Our tool does not yet reach the ambitious 100 % recall that Daniel Berry and colleagues require NLP tools for RE to achieve. However, we obtain promising results and we identify some improvements that will substantially improve recall and precision.

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

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

[3]  Pericles Loucopoulos,et al.  System Requirements Engineering , 1995, System Requirements Engineering.

[4]  Rainer Grau Requirements Engineering in Agile Software Development , 2012 .

[5]  Elmar Jürgens,et al.  Rapid requirements checks with requirements smells: two case studies , 2014, RCoSE 2014.

[6]  Tao Xie,et al.  Automated extraction of security policies from natural-language software documents , 2012, SIGSOFT FSE.

[7]  Didar Zowghi,et al.  On the interplay between consistency, completeness, and correctness in requirements evolution , 2003, Inf. Softw. Technol..

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

[9]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.

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

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

[12]  H. Holbrook,et al.  A scenario-based methodology for conducting requirements elicitation , 1990, SOEN.

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

[14]  David Benyon,et al.  How Stories Capture Interactions , 1999, INTERACT.

[15]  Jean M. Tague,et al.  The pragmatics of information retrieval experimentation , 1981 .

[16]  Vladan Devedzic,et al.  A comparative study of software tools for user story management , 2015, Inf. Softw. Technol..

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

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

[19]  John C. Grundy,et al.  Improving requirements quality using essential use case interaction patterns , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[20]  Sjaak Brinkkemper,et al.  Gamified Requirements Engineering: Model and Experimentation , 2016, REFSQ.

[21]  Jean Tague-Sutcliffe,et al.  The Pragmatics of Information Retrieval Experimentation Revisited , 1997, Inf. Process. Manag..

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

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

[24]  Sylvie Trudel,et al.  Requirements Engineering Quality Revealed through Functional Size Measurement: An Empirical Study in an Agile Context , 2014, 2014 Joint Conference of the International Workshop on Software Measurement and the International Conference on Software Process and Product Measurement.

[25]  Jan Mendling,et al.  Process Model Generation from Natural Language Text , 2011, CAiSE.

[26]  Thomas Moser,et al.  DODT: Increasing requirements formalism using domain ontologies for improved embedded systems development , 2011, 14th IEEE International Symposium on Design and Diagnostics of Electronic Circuits and Systems.

[27]  Marco Roveri,et al.  Validation of requirements for hybrid systems: A formal approach , 2012, TSEM.

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

[29]  R. Campbell Two Case Studies , 1998 .

[30]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[31]  Frank J. Mitropoulos,et al.  Visualization and scheduling of non-functional requirements for agile processes , 2013, 2013 Proceedings of IEEE Southeastcon.

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

[33]  Alain Abran,et al.  Sizing user stories using paired comparisons , 2009, Inf. Softw. Technol..

[34]  Chunyan Miao,et al.  Using goal net to model user stories in agile software development , 2014, 15th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD).

[35]  H. Simon,et al.  The sciences of the artificial (3rd ed.) , 1996 .

[36]  Michael J. Rees,et al.  A feasible user story tool for agile software development? , 2002, Ninth Asia-Pacific Software Engineering Conference, 2002..

[37]  Márcia Lucena,et al.  US2StarTool: Generating i* Models From User Stories , 2015, iStar.

[38]  Martin Fowler,et al.  Planning Extreme Programming , 2000 .

[39]  Viljan Mahnic,et al.  On using planning poker for estimating user stories , 2012, J. Syst. Softw..

[40]  Mohamad Kassab,et al.  The changing landscape of requirements engineering practices over the past decade , 2015, 2015 IEEE Fifth International Workshop on Empirical Requirements Engineering (EmpiRE).

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

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

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

[44]  Sjaak Brinkkemper,et al.  The Use and Effectiveness of User Stories in Practice , 2016, REFSQ.

[45]  Alan Cooper,et al.  The Inmates are Running the Asylum , 1999, Software-Ergonomie.

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

[47]  Sjaak Brinkkemper,et al.  Forging high-quality User Stories: Towards a discipline for Agile Requirements , 2015, 2015 IEEE 23rd International Requirements Engineering Conference (RE).

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

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

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

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

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

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

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

[55]  Laurie Williams,et al.  Automated extraction of non-functional requirements in available documentation , 2013, 2013 1st International Workshop on Natural Language Analysis in Software Engineering (NaturaLiSE).

[56]  Muthu Ramachandran,et al.  Story Card Maturity Model (SMM): A Process Improvement Framework for Agile Requirements Engineering Practices , 2009, J. Softw..

[57]  Ron Jeffries,et al.  Extreme Programming Installed , 2000 .

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

[59]  Mehrdad Sabetzadeh,et al.  Improving requirements glossary construction via clustering: approach and industrial case studies , 2014, ESEM '14.