Advertisement

Estimating the Implementation Risk of Requirements in Agile Software Development Projects with Traceability Metrics

  • Patrick Rempel
  • Patrick Mäder
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9013)

Abstract

[Context and Motivation] Agile developments follow an iterative procedure with alternating requirements planning and implementation phases boxed into sprints. For every sprint, requirements from the product backlog are selected and appropriate test measures are chosen. [Question/problem] Both activities should carefully consider the implementation risk of each requirement. In favor of a successful project, risky requirements should either be deferred or extra test effort should be dedicated on them. Currently, estimating the implementation risk of requirements is mainly based on gut decisions. [Principal ideas/results] The complexity of the graph spanned by dependency and decomposition relations across requirements can be an indicator of implementation risk. In this paper, we propose three metrics to assess and quantify requirement relations. We conducted a study with five industry-scale agile projects and found that the proposed metrics are in fact suitable for estimating implementation risk of requirements. [Contribution] Our study of heterogeneous, industrial development projects delivers for the first time evidence that the complexity of a requirements traceability graph is correlated with the error-proneness of the implementing source code. The proposed traceability metrics provide an indicator for requirements’ implementation risks. This indicator supports product owners and developers in requirement prioritization and test measure selection.

Keywords

Agile development Requirements prioritzation Traceability metrics Risk estimation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bansiya, J., Davis, C.G.: A hierarchical model for object-oriented design quality assessment. IEEE Transactions on Software Engineering 28(1), 4–17 (2002)CrossRefGoogle Scholar
  2. 2.
    Beck, K., Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, R., et al.: The agile manifesto (2001)Google Scholar
  3. 3.
    Boehm, B., Basili, V.R.: Software defect reduction top 10 list. Computer 34(1), 135–137 (2001)CrossRefGoogle Scholar
  4. 4.
    Boehm, B., Turner, R.: Using risk to balance agile and plan-driven methods. Computer 36(6), 57–66 (2003)CrossRefGoogle Scholar
  5. 5.
    Breusch, T.S., Pagan, A.R.: A simple test for heteroscedasticity and random coefficient variation. Econometrica: Journal of the Econometric Society, 1287–1294 (1979)Google Scholar
  6. 6.
    Briand, L.C., Wüst, J., Daly, J.W., Victor Porter, D.: Exploring the relationships between design measures and software quality in object-oriented systems. Journal of Systems and Software 51(3), 245–273 (2000)CrossRefGoogle Scholar
  7. 7.
    Burnham, K.P., Anderson, D.R., Huyvaert, K.P.: Aic model selection and multimodel inference in behavioral ecology: some background, observations, and comparisons. Behavioral Ecology and Sociobiology 65(1), 23–35 (2011)CrossRefGoogle Scholar
  8. 8.
    Cao, L., Ramesh, B.: Agile requirements engineering practices: An empirical study. IEEE Software 25(1), 60–67 (2008)CrossRefGoogle Scholar
  9. 9.
    Cohn, M.: Agile estimating and planning. Pearson Education (2006)Google Scholar
  10. 10.
    Costello, R.J., Liu, D.B.: Metrics for requirements engineering. Journal of Systems and Software 29(1), 39–63 (1995)CrossRefGoogle Scholar
  11. 11.
    Dick, J.: Rich traceability. In: Proc. of the 1st Int. Workshop on Traceability in Emerging Forms of Software Engineering, Edinburgh, Scotland, pp. 18–23 (2002)Google Scholar
  12. 12.
    Fenton, N.E., Pfleeger, S.L.: Software metrics: a rigorous and practical approach. PWS Publishing Co. (1998)Google Scholar
  13. 13.
  14. 14.
    Graves, T.L., Karr, A.F., Marron, J.S., Siy, H.: Predicting fault incidence using software change history. IEEE TSE 26(7), 653–661 (2000)Google Scholar
  15. 15.
    Hull, E., Jackson, K., Dick, J.: Requirements engineering. Springer, London (2011)CrossRefzbMATHGoogle Scholar
  16. 16.
    Jaber, K., Sharif, B., Liu, C.: A study on the effect of traceability links in software maintenance. IEEE Access 1, 726–741 (2013)CrossRefGoogle Scholar
  17. 17.
  18. 18.
    Leffingwell, D.: Agile software requirements: lean requirements practices for teams, programs, and the enterprise. Addison-Wesley Professional (2010)Google Scholar
  19. 19.
    Mäder, P., Egyed, A.: Do developers benefit from requirements traceability when evolving and maintaining a software system? EmpSE, pp. 1–29 (2014)Google Scholar
  20. 20.
    Mäder, P., Gotel, O., Philippow, I.: Getting back to basics: promoting the use of a traceability information model in practice. In: ICSE Workshop on Traceability in Emerging Forms of Software Engineering, TEFSE, pp. 21–25. IEEE (2009)Google Scholar
  21. 21.
    Mäder, P., Gotel, O., Philippow, I.: Motivation matters in the traceability trenches. In: Proc. of the 17th IEEE RE conference, pp. 143–148. IEEE (2009)Google Scholar
  22. 22.
    Marinescu, R.: Measurement and quality in object-oriented design. In: Proc. of the 21st IEEE Int. Conference on Software Maintenance, pp. 701–704. IEEE (2005)Google Scholar
  23. 23.
    Murgia, A., Concas, G., Tonelli, R., Turnu, I.: Empirical study of software quality evolution in open source projects using agile practices. In: Proc. of the 1st International Symposium on Emerging Trends in Software Metrics, p. 11 (2009)Google Scholar
  24. 24.
    Nagappan, N., Ball, T., Zeller, A.: Mining metrics to predict component failures. In: Proc. of the 28th Int. Conf. on Software Engineering, pp. 452–461. ACM (2006)Google Scholar
  25. 25.
    Pfleeger, S.L., Bohner, S.A.: A framework for software maintenance metrics. In: Proc. of Software Maintenance conference, pp. 320–327. IEEE (1990)Google Scholar
  26. 26.
    Rempel, P., Mäder, P., Kuschke, T.: An empirical study on project-specific traceability strategies. In: Proceedings of the 21st IEEE International Requirements Engineering Conference (RE), pp. 195–204. IEEE (2013)Google Scholar
  27. 27.
    Rempel, P., Mäder, P., Kuschke, T., Cleland-Huang, J.: Mind the gap: assessing the conformance of software traceability to relevant guidelines. In: Proc. of the 36th International Conference on Software Engineering (ICSE), India (2014)Google Scholar
  28. 28.
    Rempel, P., Mäder, P., Kuschke, T., Philippow, I.: Requirements traceability across organizational boundaries - a survey and taxonomy. In: Doerr, J., Opdahl, A.L. (eds.) REFSQ 2013. LNCS, vol. 7830, pp. 125–140. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  29. 29.
    Sedigh-Ali, S., Ghafoor, A., Paul, R.A.: Software engineering metrics for cots-based systems. Computer 34(5), 44–50 (2001)CrossRefGoogle Scholar
  30. 30.
    Sillitti, A., Ceschi, M., Russo, B., Succi, G.: Managing uncertainty in requirements: a survey in documentation-driven and agile companies. In: 11th IEEE International Symposium on Software Metrics, p. 10. IEEE (2005)Google Scholar
  31. 31.
    Subramanyam, R., Krishnan, M.S.: Empirical analysis of ck metrics for object-oriented design complexity: Implications for software defects. IEEE Transactions on Software Engineering 29(4), 297–310 (2003)CrossRefGoogle Scholar
  32. 32.
    Washizaki, H., Yamamoto, H., Fukazawa, Y.: A metrics suite for measuring reusability of software components. In: Proceedings of the Ninth International of Software Metrics Symposium, pp. 211–223. IEEE (2003)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Software Systems GroupTechnische Universität IlmenauIlmenauGermany

Personalised recommendations