Abstract
Non-functional requirements (NFRs) are determinant for the success of software projects. However, they are characterized as hard to define, and in agile software development (ASD), are often given less priority and usually not documented. In this paper, we present the findings of the documentation practices and challenges of NFRs in companies utilizing ASD and propose guidelines for enhancing NFRs documentation in ASD. We interviewed practitioners from four companies and identified that epics, features, user stories, acceptance criteria, Definition of Done (DoD), product and sprint backlogs are used for documenting NFRs. Wikis, word documents, mockups and spreadsheets are also used for documenting NFRs. In smaller companies, NFRs are communicated through white board and flip chart discussions and developers’ tacit knowledge is prioritized over documentation. However, loss of traceability of NFRs, the difficulty in comprehending NFRs by new developers joining the team and limitations of documentation practices for NFRs are challenges in ASD. In this regard, we propose guidelines for documenting NFRs in ASD. The proposed guidelines consider the diversity of the NFRs to document and suggest different representation artefacts depending on the NFRs scope and level of detail. The representation artefacts suggested are among those currently used in ASD in order not to introduce new specific ones that might hamper actual adoption by practitioners.
Notes
References
Azham, Z. et al.: Security backlog in scrum security practices. In: 2011 5th Malaysian Conference in Software Engineering, MySEC 2011, pp. 414–417 (2011)
Beck, K. et al.: Agile Manifesto. http://agilemanifesto.org/
Bourimi, M., et al.: AFFINE for enforcing earlier consideration of NFRs and human factors when building socio-technical systems following agile methodologies. In: Bernhaupt, R., Forbrig, P., Gulliksen, J., Lárusdóttir, M. (eds.) HCSE 2010. LNCS, vol. 6409. Springer, Heidelberg (2010). doi:10.1007/978-3-642-16488-0_15
Cao, L., Ramesh, B.: Agile requirements engineering practices: an empirical study. Softw. IEEE 25(1), 60–67 (2008)
Chung, L., et al.: Non-Functional Requirements in Software Engineering. Springer, New York (2000). doi:10.1007/978-1-4615-5269-7
Cysneiros, L.M., Yu, E.: Non-functional requirements elicitation. In: do Prado Leite, J.C.S., Doorn, J.H. (eds.) Perspectives on Software Requirements, pp. 115–138. Springer, Boston (2004)
Eckhardt, J., Vogelsang, A., Méndez Fernández, D.: On the distinction of functional and quality requirements in practice. In: Abrahamsson, P., Jedlitschka, A., Nguyen Duc, A., Felderer, M., Amasaki, S., Mikkonen, T. (eds.) PROFES 2016. LNCS, vol. 10027, pp. 31–47. Springer, Cham (2016). doi:10.1007/978-3-319-49094-6_3
Farid, W.M., Mitropoulos, F.J.: NORPLAN: non-functional requirements planning for agile processes. In: 2013 Proceedings of IEEE, Southeastcon, pp. 1–8 (2013)
Glinz, M.: On non-functional requirements. In: 15th IEEE International Requirements Engineering Conference, RE 2007, 21–26 (2007)
Guzmán, L., Oriol, M., Rodríguez, P., Franch, X., Jedlitschka, A., Oivo, M.: How can quality awareness support rapid software development? – A research preview. In: Grünbacher, P., Perini, A. (eds.) REFSQ 2017. LNCS, vol. 10153, pp. 167–173. Springer, Cham (2017). doi:10.1007/978-3-319-54045-0_12
Heikkilä, V.T. et al.: A mapping study on requirements engineering in agile software development. In: 2015 41st Euromicro Conference on Software Engineering and Advanced Applications, pp. 199–207 (2015)
Inayat, I. et al.: A systematic literature review on agile requirements engineering practices and challenges. Comput. Hum. Behav. 51, 915–929 (2015). doi:10.1016/j.chb.2014.10.046
Van Lamsweerde, A. et al.: Goal-oriented requirements engineering: a guided tour. In: Proceedings of Fifth IEEE International Symposium on Requirements Engineering, pp. 249–262 (2001)
De Lucia, A., Qusef, A.: Requirements engineering in agile software development. J. Emerg. Technol. Web Intell. 2(3), 212–220 (2010)
Martakis, A., Daneva, M.: Handling requirements dependencies in agile projects: a focus group with agile software development practitioners. In: Proceedings - International Conference on Research Challenges in Information Science (2013)
Mendes, T.S., et al.: Impacts of agile requirements documentation debt on software projects. In: Proceedings of the 31st Annual ACM Symposium on Applied Computing - SAC 2016, pp. 1290–1295 (2016)
Paech, B., Kerlow, D.: non-functional requirements engineering - quality is essential. In: Proceedings of 10th Anniversary of International Workshop on Requirements Engineering, Foundational Software Quality, pp. 237–250 (2004)
Pohl, K.: Requirements Engineering: Fundamentals, Principles, and Techniques. Springer, Heidelberg (2010)
Runeson, P. et al.: Case Study Research in Software Engineering, Wiley (2012). doi:10.1002/9781118181034
Sillitti, A., Succi, G.: Requirements engineering for agile methods. In: Engineering and Managing Software Requirements, pp. 309–326 (2005)
Wagner, S.: Software Product Quality Control. Springer, Heidelberg (2013). doi:10.1007/978-3-642-38571-1
Acknowledgments
This work is a result of the Q-Rapids project, which has received funding from the European Union’s Horizon 2020 research and innovation program under grant agreement N° 732253.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Behutiye, W., Karhapää, P., Costal, D., Oivo, M., Franch, X. (2017). Non-functional Requirements Documentation in Agile Software Development: Challenges and Solution Proposal. In: Felderer, M., Méndez Fernández, D., Turhan, B., Kalinowski, M., Sarro, F., Winkler, D. (eds) Product-Focused Software Process Improvement. PROFES 2017. Lecture Notes in Computer Science(), vol 10611. Springer, Cham. https://doi.org/10.1007/978-3-319-69926-4_41
Download citation
DOI: https://doi.org/10.1007/978-3-319-69926-4_41
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-69925-7
Online ISBN: 978-3-319-69926-4
eBook Packages: Computer ScienceComputer Science (R0)