Skip to main content

Non-functional Requirements Documentation in Agile Software Development: Challenges and Solution Proposal

  • Conference paper
  • First Online:
Product-Focused Software Process Improvement (PROFES 2017)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Notes

  1. 1.

    http://q-rapids.eu/.

References

  1. Azham, Z. et al.: Security backlog in scrum security practices. In: 2011 5th Malaysian Conference in Software Engineering, MySEC 2011, pp. 414–417 (2011)

    Google Scholar 

  2. Beck, K. et al.: Agile Manifesto. http://agilemanifesto.org/

  3. 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

    Chapter  Google Scholar 

  4. Cao, L., Ramesh, B.: Agile requirements engineering practices: an empirical study. Softw. IEEE 25(1), 60–67 (2008)

    Article  Google Scholar 

  5. Chung, L., et al.: Non-Functional Requirements in Software Engineering. Springer, New York (2000). doi:10.1007/978-1-4615-5269-7

    Book  MATH  Google Scholar 

  6. 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)

    Chapter  Google Scholar 

  7. 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

    Chapter  Google Scholar 

  8. Farid, W.M., Mitropoulos, F.J.: NORPLAN: non-functional requirements planning for agile processes. In: 2013 Proceedings of IEEE, Southeastcon, pp. 1–8 (2013)

    Google Scholar 

  9. Glinz, M.: On non-functional requirements. In: 15th IEEE International Requirements Engineering Conference, RE 2007, 21–26 (2007)

    Google Scholar 

  10. 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

    Chapter  Google Scholar 

  11. 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)

    Google Scholar 

  12. 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

    Article  Google Scholar 

  13. 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)

    Google Scholar 

  14. De Lucia, A., Qusef, A.: Requirements engineering in agile software development. J. Emerg. Technol. Web Intell. 2(3), 212–220 (2010)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. Pohl, K.: Requirements Engineering: Fundamentals, Principles, and Techniques. Springer, Heidelberg (2010)

    Book  Google Scholar 

  19. Runeson, P. et al.: Case Study Research in Software Engineering, Wiley (2012). doi:10.1002/9781118181034

  20. Sillitti, A., Succi, G.: Requirements engineering for agile methods. In: Engineering and Managing Software Requirements, pp. 309–326 (2005)

    Google Scholar 

  21. Wagner, S.: Software Product Quality Control. Springer, Heidelberg (2013). doi:10.1007/978-3-642-38571-1

    Book  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Woubshet Behutiye .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics