Agile Requirements Engineering in Practice: Status Quo and Critical Problems

Authors

  • Stefan Wagner University of Stuttgart
  • Daniel Méndez Fernández Technical University of Munich
  • Marcos Kalinowski Pontifical Catholic University of Rio de Janeiro (PUC-Rio)
  • Michael Felderer University of Innsbruck

DOI:

https://doi.org/10.19153/cleiej.21.1.6

Keywords:

Survey, Requirements Engineering, Agile Projects, NaPiRE

Abstract

Requirements Engineering (RE) is being treated differently in agile development when compared to more traditional development processes. Yet, there is little empirical knowledge on the state of the practice and contemporary problems in agile RE. As part of a bigger survey initiative (Naming the Pain in Requirements Engineering), the main goal of this paper is to build an empirical basis on such aspects of agile RE, based on the responses of representatives from 92 different organisations. Our survey data analyses revealed that agile RE concentrates on free-text documentation of requirements elicited with a variety of techniques. The backlog is the central means to deal with changing requirements. Commonly traces between requirements and code are explicitly managed and testing and RE are typically aligned. Furthermore, continuous improvement of RE is performed due to intrinsic motivation and RE standards are commonly practiced. Among the main problems, we highlight incomplete requirements, communication flaws and moving targets. Those problems were reported to happen commonly in agile projects and to have critical consequences, including project failure. Overall, our findings show that most organisations conduct RE in a way we would expect and that agile RE is in several aspects not so different from RE in other development processes.

References

[1] K. Beck, Test-driven development: by example, Addison-Wesley Professional, 2003.
[2] D. Bustard, G. Wilkie, D. Greer, “The maturation of agile software development principles and practice: Observations on successive industrial studies in 2010 and 2012,” in Proc. International Conference on Engineering of Computer Based Systems (ECBS), pp. 139–146, 2013.
[3] L. Cao, B. Ramesh, “Agile requirements engineering practices: An empirical study,” IEEE Software, vol. 25 (1), pp. 60–67, 2008.
[4] D. Chelimsky, D. Astels, B. Helmkamp, D. North, Z. Dennis, A. Hellesoy, The RSpec book: Behaviour driven development with Rspec, Cucumber, and friends. Pragmatic Bookshelf, 2010.
[5] B. Cheng, J. Atlee, “Research directions in requirements engineering,” in Proc. Future of Software Engineering (FOSE’07), pp. 285–303, 2007.
[6] P. Diebold, J. Ostberg, S. Wagner, U. Zendler, “What do practitioners vary in using Scrum?,” in Proc. International Conference Agile Processes, in Software Engineering, and Extreme Programming (XP), pp. 40–51, 2015.
[7] M. Fowler, J. Highsmith, “The agile manifesto,” Software Development, vol. 9 (8), pp. 28–35, 2001.
[8] V.T. Heikkilä, D. Damian, C. Lassenius, M. Paasivaara, “A mapping study on requirements engineering in agile software development,” in Proc. Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pp. 199–207, 2015.
[9] I. Inayat, S.S. Salim, S. Marczak, M. Daneva, S. Shamshirband, “A systematic literature review on agile requirements engineering practices and challenges,” Computers in Human Behavior, vol. 51, pp. 915–929, 2015.
[10] M. Kalinowski, M. Felderer, T. Conte, R. Spinola, R. Prikladnicki, D. Winkler, D. Méndez Fernández, S. Wagner, “Preventing incomplete/hidden requirements: Reflections on survey data from Austria and Brazil,” in Proc. Software Quality Days, Springer Lecture Notes in Business Information Processing, vol. 238, pp. 63-78, 2016.
[11] M. Kalinowski, R. Spinola, T. Conte, R. Prikladnicki, D. Méndez Fernández, S. Wagner, “Towards building knowledge on causes of critical requirements engineering problems,” in Proc. International Conference on Software Engineering and Knowledge Engineering (SEKE), pp. 1-6, 2015.
[12] D. Leffingwell, Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise, Addison-Wesley, 2011.
[13] T.S. Mendes, H.F. Soares, M.A.F. Farias, M. Kalinowski, M. Mendonça, R.O. Spínola, “Impacts of Agile Requirements Documentation Debt on Software Projects: A Retrospective Study,” in Proc. ACM Symposium on Applied Computing (SAC), pp. 1290-1295, 2016.
[14] D. Méndez Fernández, S. Wagner, “Naming the Pain in Requirements Engineering - NaPiRE Report 2013,” Technical Report TUM-I1326, Technische Universität München, 2013.
[15] D. Méndez Fernández, S. Wagner, “Naming the pain in requirements enginering: A design for a global family of surveys and first results from Germany,” Information and Software Technology, vol. 57, pp. 616–643, 2014.
[16] D. Méndez Fernández, S. Wagner, M. Kalinowski, A. Schekelmann, A. Tuzcu, T. Conte, R. Spinola, R. Prikladnicki, “Naming the pain in requirements engineering: Comparing practices in Brazil and Germany,” IEEE Software, vol. 32 (5), pp. 16–23, 2015.
[17] D. Méndez Fernández, S. Wagner, M. Kalinowski, M., Felderer, P. Mafra, A. Vetrò, T. Conte, M.-T. Christiansson, D. Greer, C. Lassenius, T. Männistö, M. Nayebi, M. Oivo, B. Penzenstadler, D. Pfahl, R. Prikladnicki, G. Ruhe, A. Schekelmann, S. Sen, R. Spinola, A. Tuzcu, J.L. de la Vara, R. Wieringa, “Naming the pain in requirements engineering: contemporary problems, causes, and effects in practice,” Empirical Software Engineering, doi:10.1007/s10664-016-9451-7 , 2016.
[18] A. Sillitti, M. Ceschi, B. Russo, G. Succi, “Managing uncertainty in requirements: a survey in documentation driven and agile companies,” in Proc. of the IEEE International Software Metrics Symposium (METRICS), 2005.
[19] S. Wagner, D. Méndez Fernández, M. Felderer, M. Kalinowski, “Requirements engineering practice and problems in agile projects: results from an international survey,” in Proc. of the 20th Ibero-American Conference on Software Engineering (CIBSE), Requirements Engineering (WER) Track, Buenos Aires, Argentina, 2017.

Downloads

Published

2018-04-04