Towards optimal quality requirement documentation in agile software development: a multiple case study

Context: Agile software development (ASD) promotes minimal documentation and often prioritizes functional requirements over quality requirements (QRs). The minimal documentation emphasis may be beneficial in reducing time-to-market for software. However, it can also be a concern, especially with QRs, since they are challenging to specify and document and are crucial for software success. Therefore, understanding how practitioners perceive the importance of QR documentation is valuable because it can provide insight into how they approach this task. It also helps in developing models and guidelines that support the documentation of QRs in ASD, which is a research gap. Objective: We aim to understand practitioners’ perceptions of QR documentation and factors influencing this task to derive a model that supports optimal QR documentation in ASD. Method: We conducted a multiple case study involving 12 participants from three cases that apply ASD. Results: Practitioners identify QR documentation as important and perceive it as contributing to ensuring quality, clarifying QRs, and facilitating decision-making. Time constraints, QR awareness, and communication gaps affect QR documentation. Missing and outdated QR documentation may lead to technical debt and a lack of common understanding regarding QRs. We introduce a model to support optimal QR documentation in ASD by focusing on the factors: time constraints, QR awareness, and communication gaps. The model provides a representation and explanation of the factors affecting QR documentation in ASD and identifies mitigation strategies to overcome issues that may occur due to these factors. Conclusion: The study reveals the importance of documenting QRs in ASD. It introduces a model that is based on empirical knowledge of QR documentation practices in ASD. Both practitioners and researchers can potentially benefit from the model. For instance, practitioners can analyze how time constraints or QR awareness affect documentation, see potential issues that may arise from them, and utilize strategies suggested by the model to address these issues. Researchers can learn about QR documentation in ASD and utilize the model to understand the topic. They can also use the study as a baseline to investigate the topic with other cases. Keywords-agile software development; documentation; quality requirements; non-functional requirements

[1]  Lawrence Chung,et al.  Handling non-functional requirements for big data and IOT projects in Scrum , 2017, 2017 7th International Conference on Cloud Computing, Data Science & Engineering - Confluence.

[2]  Lester Gilbert,et al.  AGILE SECURITY METHODS: AN EMPIRICAL INVESTIGATION , 2014 .

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

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

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

[6]  Martin Glinz,et al.  On Non-Functional Requirements , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[7]  Orit Hazzan,et al.  The Agile Manifesto , 2014 .

[8]  John Grundy,et al.  Systematic literature reviews in agile software development: A tertiary study , 2017, Inf. Softw. Technol..

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

[10]  Mary Shaw,et al.  What makes good research in software engineering? , 2002, International Journal on Software Tools for Technology Transfer.

[11]  Andreas Jacobsson,et al.  A Novel Security-Enhanced Agile Software Development Process Applied in an Industrial Setting , 2015, 2015 10th International Conference on Availability, Reliability and Security.

[12]  Sanja Aaramaa,et al.  How agile software development practitioners perceive the need for documenting quality requirements: a multiple case study , 2020, 2020 46th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[13]  Xavier Franch,et al.  Data-driven and tool-supported elicitation of quality requirements in agile companies , 2020, Software Quality Journal.

[14]  Roel Wieringa,et al.  Quality Requirements in Large-Scale Distributed Agile Projects - A Systematic Literature Review , 2017, REFSQ.

[15]  Daniela Cruzes,et al.  Agile Team Members Perceptions on Non-functional Testing: Influencing Factors from an Empirical Study , 2016, 2016 11th International Conference on Availability, Reliability and Security (ARES).

[16]  Christoph J. Stettina,et al.  Necessary and neglected?: an empirical study of internal documentation in agile software development teams , 2011, SIGDOC '11.

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

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

[19]  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.

[20]  Roel Wieringa,et al.  Understanding Challenging Situations in Agile Quality Requirements Engineering and Their Solution strategies: Insights from a Case Study , 2018, 2018 IEEE 26th International Requirements Engineering Conference (RE).

[21]  Mark T True,et al.  Software Requirements , 2005 .

[22]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

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

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

[25]  Laurie A. Williams,et al.  On agile performance requirements specification and testing , 2006, AGILE 2006 (AGILE'06).

[26]  Suzana Sampaio,et al.  Guide to the Support for the Enhancement of Security Measures in Agile Projects , 2015, 2015 6th Brazilian Workshop on Agile Methods (WBMA).

[27]  Andreia Malucelli,et al.  Requirements engineering: A systematic mapping study in agile software development , 2018, J. Syst. Softw..

[28]  Stefan Voigt,et al.  A Study of Documentation in Agile Software Projects , 2016, ESEM.

[29]  Jerzy Nawrocki,et al.  On Importance of Non-functional Requirements in Agile Software Projects - A Survey , 2020, Integrating Research and Practice in Software Engineering.

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

[31]  Wan Fatimah Wan Ahmad,et al.  Handling tradeoffs between agile and usability methods , 2014, 2014 International Conference on Computer and Information Sciences (ICCOINS).

[32]  Torgeir Dingsøyr,et al.  A decade of agile methodologies: Towards explaining agile software development , 2012, J. Syst. Softw..

[33]  Twittie Senivongse,et al.  Non-functional Requirement Patterns for Agile Software Development , 2019, ICSEB.

[34]  Ali Kashif Bashir,et al.  Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) , 2013, ICIRA 2013.

[35]  Kurt Schneider,et al.  Quality Requirements in Agile as a Knowledge Management Problem: More than Just-in-Time , 2017, 2017 IEEE 25th International Requirements Engineering Conference Workshops (REW).

[36]  Robert Feldt,et al.  Validity Threats in Empirical Software Engineering Research - An Initial Survey , 2010, SEKE.

[37]  Eric Knauss,et al.  Requirements engineering challenges and practices in large-scale agile system development , 2021, J. Syst. Softw..

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

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

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

[41]  Markku Oivo,et al.  Documentation of Quality Requirements in Agile Software Development , 2020, EASE.

[42]  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.

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

[44]  A. Tait,et al.  Survey Research , 2019, Anesthesiology.

[45]  Dayang N. A. Jawawi,et al.  Non-Functional Requirement Traceability Process Model for Agile Software Development , 2017 .

[46]  Hossein Saiedian,et al.  A Tagging Approach to Extract Security Requirements in Non-Traditional Software Development Processes , 2014, Int. J. Secur. Softw. Eng..

[47]  Xavier Franch,et al.  Agile Quality Requirements Management Best Practices Portfolio: A Situational Method Engineering Approach , 2017, PROFES.

[48]  Xavier Franch,et al.  Strategies to manage quality requirements in agile software development: a multiple case study , 2021, Empir. Softw. Eng..

[49]  Parastoo Mohagheghi,et al.  An industry experience report on managing product quality requirements in a large organization , 2017, Inf. Softw. Technol..