Advertisement

Technical Debt and Waste in Non-functional Requirements Documentation: An Exploratory Study

  • Gabriela RobioloEmail author
  • Ezequiel Scott
  • Santiago Matalonga
  • Michael Felderer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11915)

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.

Keywords

Non functional requirements Technical Debt Waste 

Notes

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.

References

  1. 1.
    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) Google Scholar
  2. 2.
    Beck, K., et al.: Manifesto for agile software development (2001)Google Scholar
  3. 3.
    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_41CrossRefGoogle Scholar
  4. 4.
    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_19CrossRefGoogle Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    Chrissis, M.B., Konrad, M., Shrum, S.: CMMI: Guidelines for Process Integration and Product Improvement. Addison-Wesley, Upper Saddle River (2007)Google Scholar
  7. 7.
    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_19CrossRefGoogle Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    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)Google Scholar
  10. 10.
    Haigh, M.: Software quality, non-functional software requirements and it-business alignment. Softw. Qual. J. 18, 361–385 (2010)CrossRefGoogle Scholar
  11. 11.
    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)Google Scholar
  12. 12.
    IEEE: IEEE standard glossary of software engineering terminology. IEEE Std 610.12-1990, pp. 1–84, December 1990Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    ISO: ISO 9001:2015. Quality Management Systems - Requirements (2015)Google Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    ISO/IEC/IEEE: ISO/IEC/IEEE 29148:2018 Systems and software engineering - life cycle processes - requirements engineering. Technical report, International Standards Organization (2018)Google Scholar
  17. 17.
    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_5CrossRefGoogle Scholar
  18. 18.
    Li, Z., Avgeriou, P., Liang, P.: A systematic mapping study on technical debt and its management. J. Syst. Softw. 101, 193–220 (2015)CrossRefGoogle Scholar
  19. 19.
    Méndez Fernández, D.: Supporting requirements-engineering research that industry needs: the NaPiRE initiative. IEEE Softw. 35(1), 112–116 (2018)CrossRefGoogle Scholar
  20. 20.
    Fernández, D.M., et al.: Naming the pain in requirements engineering. Empir. Softw. Eng. 22(5), 2298–2338 (2017)CrossRefGoogle Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    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)CrossRefGoogle Scholar
  23. 23.
    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_4CrossRefGoogle Scholar
  24. 24.
    Seaman, C., Guo, Y.: Chapter 2 - measuring and monitoring technical debt. Adv. Comput. 82, 25–46 (2011)CrossRefGoogle Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    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)CrossRefGoogle Scholar
  28. 28.
    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)Google Scholar
  29. 29.
    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
  30. 30.
    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)CrossRefGoogle Scholar
  31. 31.
    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-2CrossRefzbMATHGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Gabriela Robiolo
    • 1
    Email author
  • Ezequiel Scott
    • 2
  • Santiago Matalonga
    • 3
  • Michael Felderer
    • 4
  1. 1.LIDTUA (CIC), Facultad de IngenieríaUniversidad AustralBuenos AiresArgentina
  2. 2.Institute of Computer ScienceTartu UnviersityTartuEstonia
  3. 3.School of Computing, Engineering and Physical SciencesUniversity of the West of ScotlandPaisleyUK
  4. 4.Department of Computer ScienceUniversity of InnsbruckInnsbruckAustria

Personalised recommendations