Abstract
Background: To adequately attend to non-functional requirements (NFRs), they must be documented; otherwise, developers would not know about their existence. However, the documentation of NFRs may be subject to Technical Debt and Waste, as any other software artefact. Aims: The goal is to explore indicators of potential Technical Debt and Waste in NFRs documentation. Method: Based on a subset of data acquired from the most recent NaPiRE (Naming the Pain in Requirements Engineering) survey, we calculate, for a standard set of NFR types, how often respondents state they document a specific type of NFR when they also state that it is important. This allows us to quantify the occurrence of potential Technical Debt and Waste. Results: Based on 398 survey responses, four NFR types (Maintainability, Reliability, Usability, and Performance) are labelled as important but they are not documented by more than 22% of the respondents. We interpret that these NFR types have a higher risk of Technical Debt than other NFR types. Regarding Waste, 15% of the respondents state they document NFRs related to Security and they do not consider it important. Conclusions: There is a clear indication that there is a risk of Technical Debt for a fixed set of NFRs since there is a lack of documentation of important NFRs. The potential risk of incurring Waste is also present but to a lesser extent.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
NaPiRE web site – http://napire.org.
References
Ameller, D., Ayala, C., Cabot, J., Franch, X.: How do software architects consider non-functional requirements: An exploratory study. In: 2012 Proceedings of the 20th IEEE International Requirements Engineering Conference, RE 2012, Chicago, USA (2012)
Beck, K., et al.: Manifesto for agile software development (2001)
Behutiye, W., Karhapää, P., Costal, D., Oivo, M., Franch, X.: 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.) PROFES 2017. LNCS, vol. 10611, pp. 515–522. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-69926-4_41
Berntsson Svensson, R., Gorschek, T., Regnell, B.: Quality requirements in practice: an interview study in requirements engineering for embedded systems. In: Glinz, M., Heymans, P. (eds.) REFSQ 2009. LNCS, vol. 5512, pp. 218–232. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02050-6_19
Borg, A., Yong, A., Carlshamre, P., Sandahl, K.: The bad conscience of requirements engineering: an investigation in real-world treatment of non-functional requirements. In: Third Conference on Software Engineering Research and Practice in Sweden (SERPS 2003), Lund (2003)
Chrissis, M.B., Konrad, M., Shrum, S.: CMMI: Guidelines for Process Integration and Product Improvement. Addison-Wesley, Upper Saddle River (2007)
Chung, L., do Prado Leite, J.C.S.: On non-functional requirements in software engineering. In: Borgida, A.T., Chaudhri, V.K., Giorgini, P., Yu, E.S. (eds.) Conceptual Modeling: Foundations and Applications. LNCS, vol. 5600, pp. 363–379. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02463-4_19
Eckhardt, J., Vogelsang, A., Fernández, D.M.: Are “non-functional” requirements really non-functional? In: Proceedings of the 38th International Conference on Software Engineering - ICSE 2016, pp. 832–842. ACM Press, New York (2016)
Ernst, N.A.: On the role of requirements in understanding and managing technical debt. In: Proceedings of the Third International Workshop on Managing Technical Debt, Piscataway, NJ, USA, pp. 61–64 (2012)
Haigh, M.: Software quality, non-functional software requirements and it-business alignment. Softw. Qual. J. 18, 361–385 (2010)
Hoda, R., Noble, J.: Becoming agile: a grounded theory of agile transitions in practice. In: Proceedings - 2017 IEEE/ACM 39th International Conference on Software Engineering, ICSE 2017 (2017)
IEEE: IEEE standard glossary of software engineering terminology. IEEE Std 610.12-1990, pp. 1–84, December 1990
Ikonen, M., Kettunen, P., Oza, N., Abrahamsson, P.: Exploring the sources of waste in Kanban software development projects. In: 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 376–381 (2010)
ISO: ISO 9001:2015. Quality Management Systems - Requirements (2015)
ISO/IEC Standard: ISO/IEC 25010:2011 Systems and software engineering - systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models (2011)
ISO/IEC/IEEE: ISO/IEC/IEEE 29148:2018 Systems and software engineering - life cycle processes - requirements engineering. Technical report, International Standards Organization (2018)
Kalinowski, M., et al.: Preventing incomplete/hidden requirements: reflections on survey data from Austria and Brazil. In: Winkler, D., Biffl, S., Bergsmann, J. (eds.) SWQD 2016. LNBIP, vol. 238, pp. 63–78. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-27033-3_5
Li, Z., Avgeriou, P., Liang, P.: A systematic map** study on technical debt and its management. J. Syst. Softw. 101, 193–220 (2015)
Méndez Fernández, D.: Supporting requirements-engineering research that industry needs: the NaPiRE initiative. IEEE Softw. 35(1), 112–116 (2018)
Fernández, D.M., et al.: Naming the pain in requirements engineering. Empir. Softw. Eng. 22(5), 2298–2338 (2017)
Fernández, D.M., Wagner, S.: Naming the pain in requirements engineering: design of a global family of surveys and first results from Germany. In: EASE - 17th International Conference on Evaluation and Assessment in Software Engineering, Porto de Galinhas (2013)
Fernández, D.M., et al.: Naming the pain in requirements engineering: comparing practices in Brazil and Germany. IEEE Softw. 32(5), 16–23 (2015)
Poort, E.R., Martens, N., van de Weerd, I., van Vliet, H.: How architects see non-functional requirements: beware of modifiability. In: Regnell, B., Damian, D. (eds.) REFSQ 2012. LNCS, vol. 7195, pp. 37–51. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-28714-5_4
Seaman, C., Guo, Y.: Chapter 2 - measuring and monitoring technical debt. Adv. Comput. 82, 25–46 (2011)
Stettina, C.J., Heijstek, W.: Necessary and neglected? An empirical study of internal documentation in agile software development teams. In: Proceedings of the 29th ACM International Conference on Design of Communication (SIGDOC 2011), Pisa, Italy, 3–5 October 2011 (2011)
de la Vara, J.L., Wnuk, K., Berntsson Svensson, R., Sanchez, J., Regnell, B.: An empirical study on the importance of quality requirements in industry. In: Proceedings of 23rd International Conference on Software Engineering and Knowledge Engineering, New York, NY, USA, pp. 311–317 (2010)
Wagner, S., et al.: Status quo in requirements engineering: a theory and a global family of surveys. ACM Trans. Softw. Eng. Methodol. (TOSEM) 28(2), 9:1–9:48 (2019)
Wagner, S., Méndez Fernández, D., Felderer, M., Kalinowski, M.: Requirements engineering practice and problems in agile projects; results from an international survey. In: 2017 Iberoamerican Conference on Software Engineering (CiBSE 2017) (2017)
Wagner, S., Méndez-Fernández, D., Kalinowski, M., Felderer, M.: Agile requirements engineering in practice: status quo and critical problems. CLEI Electron. J. 21(1) (2018). https://doi.org/10.19153/cleiej.21.1.6
Wang, X., Conboy, K., Cawley, O.: “Leagile” software development: an experience report analysis of the application of lean approaches in agile software development. J. Syst. Softw. 85, 1287–1299 (2012)
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29044-2
Acknowledgments
The authors would like to thank all practitioners who took the time to respond to the NaPiRE survey as well as all colleagues involved in the NaPiRE project. The authors further acknowledge Dietmar Pfahl’s contribution to research process described in this paper. Ezequiel Scott is supported by the Estonian Center of Excellence in ICT research (EXCITE), ERF project TK148 “IT Tippkeskus EXCITE”. Gabriela Robiolo is supported by Universidad Austral.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Robiolo, G., Scott, E., Matalonga, S., Felderer, M. (2019). Technical Debt and Waste in Non-functional Requirements Documentation: An Exploratory Study. In: Franch, X., Männistö, T., Martínez-Fernández, S. (eds) Product-Focused Software Process Improvement. PROFES 2019. Lecture Notes in Computer Science(), vol 11915. Springer, Cham. https://doi.org/10.1007/978-3-030-35333-9_16
Download citation
DOI: https://doi.org/10.1007/978-3-030-35333-9_16
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-35332-2
Online ISBN: 978-3-030-35333-9
eBook Packages: Computer ScienceComputer Science (R0)