Documentation of Quality Requirements in Agile Software Development

Context: Quality requirements (QRs) have a significant role in the success of software projects. In agile software development (ASD), where working software is valued over comprehensive documentation, QRs are often under-specified or not documented. Consequently, they may be handled improperly and result in degraded software quality and increased maintenance costs. Investigating the documentation of QRs in ASD, would provide evidence on existing practices, tools and aspects considered in ASD that other practitioners might utilize to improve documentation and management of QRs in ASD. Although there are some studies examining documentation in ASD, those that specifically investigate the documentation of QRs in depth are lacking. Method: we conducted a multiple case study by interviewing 15 practitioners of four ASD cases, to provide empirical evidence on documentation of QRs in ASD. We also run workshops with two of the cases, to identify important aspects that ASD practitioners consider when documenting QRs in requirements management repositories. Result and conclusions: ASD companies approach documentation of QRs to fit the needs of their context. They used tools, backlogs, iterative prototypes, and artifacts such as epic, and stories to document QRs, or utilized face-face communication without documenting QRs. We observed that documentation of QRs in ASD is affected by factors such as context (e.g. product domain, and size) and the experience of practitioners. Some tools used to document QRs also enhanced customer collaboration, enabling customers report and document QRs. Aspects such as levels of abstraction, the traceability of QRs, optimal details of information of QRs and verification and validation are deemed important when documenting QRs in ASD requirements management repositories.

[1]  Mário André de Freitas Farias,et al.  Impacts of agile requirements documentation debt on software projects: a retrospective study , 2016, SAC.

[2]  Galal H. Galal-Edeen,et al.  Stakeholder identification in the requirements engineering process , 1999, Proceedings. Tenth International Workshop on Database and Expert Systems Applications. DEXA 99.

[3]  Ezequiel Scott,et al.  Technical Debt and Waste in Non-Functional Requirements Documentation: An Exploratory Study , 2019, PROFES.

[4]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[5]  Richard Baskerville,et al.  Agile requirements engineering practices and challenges: an empirical study , 2007, Inf. Syst. J..

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

[7]  Per Runeson,et al.  Case studies synthesis: a thematic, cross-case, and narrative synthesis worked example , 2014, Empirical Software Engineering.

[8]  Andrea De Lucia,et al.  Requirements Engineering in Agile Software Development , 2010 .

[9]  Steffen Bartsch,et al.  Practitioners' Perspectives on Security in Agile Development , 2011, 2011 Sixth International Conference on Availability, Reliability and Security.

[10]  Bahiya M. Aljallabi,et al.  Enhancement approach for non-functional requirements analysis in Agile environment , 2015, 2015 International Conference on Computing, Control, Networking, Electronics and Embedded Systems Engineering (ICCNEEE).

[11]  Marja Kapyaho,et al.  Agile requirements engineering with prototyping: A case study , 2015, 2015 IEEE 23rd International Requirements Engineering Conference (RE).

[12]  M. Marshall,et al.  The key informant technique. , 1996, Family practice.

[13]  Alberto Sillitti,et al.  Requirements Engineering for Agile Methods , 2005 .

[14]  Miroslaw Ochodek,et al.  Agile Requirements Engineering: A Research Perspective , 2014, SOFSEM.

[15]  Daniela Cruzes,et al.  Recommended Steps for Thematic Synthesis in Software Engineering , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[16]  Shari Lawrence Pfleeger,et al.  Software Quality: The Elusive Target , 1996, IEEE Softw..

[17]  Jouni Markkula,et al.  Survey on agile and lean usage in finnish software industry , 2012, Proceedings of the 2012 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement.

[18]  Manoel Mendonca,et al.  Investigating the Link between User Stories and Documentation Debt on Software Projects , 2015, 2015 12th International Conference on Information Technology - New Generations.

[19]  Jan Gulliksen,et al.  Existing but Not Explicit - The User Perspective in Scrum Projects in Practice , 2013, INTERACT.

[20]  Alistair A. Young,et al.  Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) , 2017, MICCAI 2017.

[21]  Eric Knauss,et al.  Requirements Engineering Challenges in Large-Scale Agile System Development , 2017, 2017 IEEE 25th International Requirements Engineering Conference (RE).

[22]  Markku Oivo,et al.  Analyzing the concept of technical debt in the context of agile software development: A systematic literature review , 2017, Inf. Softw. Technol..

[23]  Robert L. Nord,et al.  Architectural Tactics to Support Rapid and Agile Stability , 2012 .

[24]  Xavier Franch,et al.  Non-functional Requirements Documentation in Agile Software Development: Challenges and Solution Proposal , 2017, PROFES.

[25]  Roel Wieringa,et al.  Quality requirements challenges in the context of large-scale distributed agile: An empirical study , 2019, Inf. Softw. Technol..

[26]  James Noble,et al.  Documentation strategies on agile software development projects , 2012 .

[27]  Andreas Gohr,et al.  sprintDoc: Concept for an agile documentation tool , 2016, 2016 11th Iberian Conference on Information Systems and Technologies (CISTI).

[28]  Shahid Nazir Bhatti,et al.  Role of Requirements Elicitation & Prioritization to Optimize Quality in Scrum Agile Development , 2016 .

[29]  Tor Erlend Fægri,et al.  Documentation Work in Agile Teams: The Role of Documentation Formalism in Achieving a Sustainable Practice , 2012, 2012 Agile Conference.

[30]  Xavier Burgués Illa,et al.  Management of quality requirements in agile and rapid software development: A systematic mapping study , 2020, Inf. Softw. Technol..

[31]  Per Håkon Meland,et al.  Security Testing in Agile Web Application Development - A Case Study Using the EAST Methodology , 2010, XP.

[32]  Maya Daneva,et al.  Handling requirements dependencies in agile projects: A focus group with agile software development practitioners , 2013, IEEE 7th International Conference on Research Challenges in Information Science (RCIS).

[33]  F. Maurer,et al.  The Requirements Abstraction in User Stories and Executable Acceptance Tests , 2008 .