Abstract
Context: Software specifications are usually written in natural language and may suffer from imprecision, ambiguity, and other quality issues, called thereafter, requirement smells. Requirement smells can hinder the development of a project in many aspects, such as delays, reworks, and low customer satisfaction. From an industrial perspective, we want to focus our time and effort on identifying and preventing the requirement smells that are of high interest. Aim: This paper aims to characterise 12 requirements smells in terms of frequency, severity, and effects. Method: We interviewed ten experienced practitioners from different divisions of a large international company in the safety-critical domain called MBDA Italy Spa. Results: Our interview shows that the smell types perceived as most severe are Ambiguity and Verifiability, while as most frequent are Ambiguity and Complexity. We also provide a set of six lessons learnt about requirements smells, such as that effects of smells are expected to differ across smell types. Conclusions: Our results help to increase awareness about the importance of requirement smells. Our results pave the way for future empirical investigations, ranging from a survey confirming our findings to controlled experiments measuring the effect size of specific requirement smells.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Ahonen, J.J., Savolainen, P.: Software engineering projects may fail before they are started: post-mortem analysis of five cancelled projects. J. Syst. Softw. 83(11), 2175–2187 (2010)
Boehm, B.W.: Software engineering economics. IEEE Trans. Softw. Eng. 10(1), 4–21 (1984). https://doi.org/10.1109/TSE.1984.5010193
Davis, A.M.: Software Requirements - Analysis and Specification. Prentice Hall, Upper Saddle River (1990). ISBN 978-0-13-824673-0
Davis, A.M., Tubío, Ó.D., Hickey, A.M., Juzgado, N.J., Moreno, A.M.: Effectiveness of requirements elicitation techniques: empirical results derived from a systematic review. In: 14th IEEE International Conference on Requirements Engineering (RE 2006), Minneapolis/St.Paul, Minnesota, USA, 11–15 September 2006, pp. 176–185. IEEE Computer Society (2006). https://doi.org/10.1109/RE.2006.17
Dick, J., Hull, E., Jackson, K.: Requirements Engineering, 4th edn. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-61073-3. ISBN 978-3-319-61072-6
Falessi, D., Cantone, G., Kazman, R., Kruchten, P.: Decision-making techniques for software architecture design: a comparative survey. ACM Comput. Surv. 43(4):33:1–33:28 (2011). https://doi.org/10.1145/1978802.1978812
Femmer, H., Fernández, D.M., Wagner, S., Eder, S.: Rapid quality assurance with requirements smells. CoRR, abs/1611.08847 (2016). http://arxiv.org/abs/1611.08847
Fernández, D.M., et al.: Naming the pain in requirements engineering - contemporary problems, causes, and effects in practice. Empir. Softw. Eng. 22(5), 2298–2338 (2017). https://doi.org/10.1007/s10664-016-9451-7
Ferrari, A., et al.: Detecting requirements defects with NLP patterns: an industrial experience in the railway domain. Empir. Softw. Eng. 23(6), 3684–3733 (2018). https://doi.org/10.1007/s10664-018-9596-7
Elizabeth, M., Hull, C., Jackson, K., Dick, J. (eds.): Requirements Engineering, 3rd edn. Springer, Heidelberg (2011). ISBN 978-1-8499-6404-3. https://doi.org/10.1007/978-1-84996-405-0
IEC ISO. Ieee. 29148: 2011-systems and software engineering-requirements engineering. Technical report, Technical report (2011)
Kassab, M., Neill, C., Laplante, P.: State of practice in requirements engineering: contemporary data. Innov. Syst. Softw. Eng. 10, 235–241 (2014)
Kretsou, M., Arvanitou, E.-M., Ampatzoglou, A., Deligiannis, I.S., Gerogiannis, V.C.: Change impact analysis: a systematic mapping study. J. Syst. Softw. 174, 110892 (2021). https://doi.org/10.1016/j.jss.2020.110892
Kruchten, P.: What do software architects really do? J. Syst. Softw. 81(12), 2413–2416 (2008). https://doi.org/10.1016/j.jss.2008.08.025
Laplante, P.A., et al.: Real-Time Systems Design and Analysis. Wiley, New York (2004)
Mavin, A., Wilkinson, P.: Big ears (the return of “easy approach to requirements engineering”). In: 2010 18th IEEE International Requirements Engineering Conference, pp. 277–282. IEEE (2010)
Mencl, V.: Deriving behavior specifications from textual use cases. Citeseer (2004)
Montgomery, L., Fucci, D., Bouraffa, A., Scholz, L., Maalej, W.: Empirical research on requirements quality: a systematic mapping study. In: Engels, G., Hebig, R., Tichy, M. (eds.) Software Engineering 2023, Fachtagung des GI-Fachbereichs Softwaretechnik, 20–24 February 2023, Paderborn, vol. P-332 of LNI, pp. 91–92. Gesellschaft für Informatik e.V. (2023). https://dl.gi.de/20.500.12116/40098
Pohl, K.: Requirements Engineering - Fundamentals, Principles, and Techniques. Springer, Heidelberg (2010). ISBN 978-3-642-12577-5. http://www.springer.com/computer/swe/book/978-3-642-12577-5?changeHeader
Robertson, S., Robertson, J.: Mastering the Requirements Process: Getting Requirements Right. Addison-wesley, Boston (2012)
Robson, C.: Real world research blackwell. 2\(^{\underline{o}}\) edição (2002)
Seki, Y., Hayashi, S., Saeki, M.: Detecting bad smells in use case descriptions. In: Damian, D.E., Perini, A., Lee, S.W. (eds.) 27th IEEE International Requirements Engineering Conference, RE 2019, Jeju Island, Korea (South), 23–27 September 2019, pap. 98–108. IEEE (2019). https://doi.org/10.1109/RE.2019.00021
Sjøberg, D.I.K., Yamashita, A.F., Anda, B.C.D., Mockus, A., Dybå, T.: Quantifying the effect of code smells on maintenance effort. IEEE Trans. Softw. Eng. 39(8), 1144–1156 (2013). https://doi.org/10.1109/TSE.2012.89
Solemon, B., Sahibuddin, S., Ghani, A.A.A.: Requirements engineering problems and practices in software companies: an industrial survey. In: Slezak, D., Kim, T., Kiumi, A., Jiang, T., Verner, J., Abrahao, S. (eds.) ASEA 2009. CCIS, vol. 59, pp. 70–77. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-10619-4_9
Sommerville, I., Sawyer, P.: Requirements Engineering: A Good Practice Guide. John Wiley & Sons Inc., Hoboken (1997)
Subramaniam, K., Liu, D., Far, B.H., Eberlein, A.: UCDA: use case driven development assistant tool for class model generation. In: Maurer, F., Ruhe, G. (eds.) Proceedings of the Sixteenth International Conference on Software Engineering & Knowledge Engineering (SEKE 2004), Banff, Alberta, Canada, 20–24 June 2004, pp. 324–329 (2004)
Veizaga, A., Alférez, M., Torre, D., Sabetzadeh, M., Briand, L.C.: On systematically building a controlled natural language for functional requirements. Empir. Softw. Eng. 26(4), 79 (2021). https://doi.org/10.1007/s10664-021-09956-6
Veizaga, A., Shin, S.Y., Briand, L.C.: Automated smell detection and recommendation in natural language requirements. CoRR, abs/2305.07097 (2023). https://doi.org/10.48550/arXiv.2305.07097
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Gentili, E., Falessi, D. (2024). Characterizing Requirements Smells. In: Kadgien, R., Jedlitschka, A., Janes, A., Lenarduzzi, V., Li, X. (eds) Product-Focused Software Process Improvement. PROFES 2023. Lecture Notes in Computer Science, vol 14483. Springer, Cham. https://doi.org/10.1007/978-3-031-49266-2_27
Download citation
DOI: https://doi.org/10.1007/978-3-031-49266-2_27
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-49265-5
Online ISBN: 978-3-031-49266-2
eBook Packages: Computer ScienceComputer Science (R0)