Skip to main content

Part of the book series: Lecture Notes in Business Information Processing ((LNBIP,volume 166))

Included in the following conference series:

Abstract

Technical Debt is a term coined by Ward Cunningham to denote the amount of rework required to put a piece of software into that state which it should have had from the beginning. The term outdates the agile revolution. Technical debt can occur using any development approach, but since agile development has become wide spread the notion of “technical debt” has gained much more attention. That is because if agile development is not done properly, technical debt accrues very fast and threatens to strangle the project. In this paper the author describes how technical debt comes to being, how it can be measured and what can be done to prevent it in agile development. The emphasis of the paper is on how to prevent it. What measures are necessary in an agile development project to keep technical debt from accruing over time? The paper lists out a number of measures which can be taken – organizational, procedural and technical. Automated tools play an important role in the struggle against technical debt. Samples are given how a tool can be helpful in identifying and removing problems before they get out of hand. Also important is an external auditing agency which monitors projects in progress with the aide of automated tools. In the end a case study is presented which illustrates the monitoring of technical debt within an agile development and what counter measures are required to stop it.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Kruchten, P., Nord, R.: Technical Debt – from Metaphor to Theory and Practice. IEEE Software, S.18 (December 2012)

    Google Scholar 

  2. Cunningham, W.: The Wgcash Portfolio Management System. In: Proc. of ACM Object-Oriented Programming Systems, Languages and Applications, OOPSLA, New Orleans, p. S.29 (1992)

    Google Scholar 

  3. Sterling, C.: Managing Software Dept – Building for inevitable Change. Addison-Wesley (2011)

    Google Scholar 

  4. Lim, E., Taksande, N., Seaman, C.: A Balancing Act – What Practioneers say about Technical Debt. IEEE Software, S.22 (December 2012)

    Google Scholar 

  5. Fowler, M., Beck, K.: Improving the Design of existing Code. Addison-Wesley, Boston (2011)

    Google Scholar 

  6. Zhang, M., Hall, T., Baddoo, M.: Code Smells – A Review of Current Knowledge. Journal of Software Maintenance and Evolution 23(3), 179 (2011)

    Article  Google Scholar 

  7. Curtis, B., Sappidi, J., Szynkarski, A.: Estimating the Principle of an Application’s Technical Debt. IEEE Software, S. 34 (December 2012)

    Google Scholar 

  8. Wendehost, T.: Der Source Code birgt eine Kostenfalle. Computerwoche 10, S.34 (2013)

    Google Scholar 

  9. Nakajo, T.: A Case History Analysis of Software Error Cause and Effect Relationships. IEEE Trans. on S.E. 17(8), S.830 (1991)

    Google Scholar 

  10. Shore, J.: Why I never met a Programmer that I could trust. ACM Software Engineering Notes 5(1) (January 1979)

    Google Scholar 

  11. Linz, T.A.O.: Testing in Scrum Projects, p. 177. Dpunkt Verlag, Heidelberg

    Google Scholar 

  12. Lai, C.: Java Insecurity – accounting for Sublities that can compromise Code. IEEE Software Magazine 13 (January 2008)

    Google Scholar 

  13. Merlo, E., Letrte, D., Antoniol, G.: Automated Protection of PHP Applications against SQL Injection Attacks. In: IEEE Proc. 11th European Conference on Software Maintenance and Reengineering (CSMR 2007), Amsterdam, p. 191 (March 2007)

    Google Scholar 

  14. Crispin, L., Gregory, J.: Agile Testing – A practical Guide for Testers and agile Teams. Addison-Wesley-Longman, Amsterdam (2009)

    Google Scholar 

  15. Ayewah, N., Pugh, W.: Using Static Analysis to find Bugs. IEEE Software Magazine, 22 (September 2008)

    Google Scholar 

  16. Vieg, J., McGraw, G., Felten, E.: Statically Scanning Java Code – Finding Security Vulnerabilities. IEEE Software Magazine, 68 (September 2000)

    Google Scholar 

  17. Zheng, J., Williams, L., Nagappan, N., Snipes, W.: On the Value of Static Analysis for Fault Detection in Software. IEEE Trans. on S.E. 32(4), 240 (2006)

    Article  Google Scholar 

  18. Gueheneu, Y.-G., Moha, N., Duchien, L.: DÉCOR – A Method for the Detection of Code and Design Smells. IEEE Trans. on S.E 36(1), 20 (2010)

    Article  Google Scholar 

  19. Linz, T.A.O.: Testing in Scrum Projects, p. 179. Dpunkt Verlag, Heidelberg

    Google Scholar 

  20. Sneed, H., Baumgartner, M.: Value-driven Testing – The economics of software testing. In: Proc. of 7th Conquest Conference, Nürnberg, p. 17 (September 2009)

    Google Scholar 

  21. Marre, M., Bertolini, A.: Using Spanning Sets for Coverage Measurement. IEEE Trns. on S.E. 29(11), 974 (2003)

    Article  Google Scholar 

  22. Bloch, U.: Wenn Integration mit Agilität nicht Schritt hält. Computerwoche 24, S. 22 (2011)

    Google Scholar 

  23. Duvall, P., Matyas, S., Glover, A.: Continuous Integration – Improving Software Quality and reducing Risk. Addison-Wesley, Reading (2007)

    Google Scholar 

  24. Humble, J., Fairley, D.: Continuous Delivery. Addison-Wesley, Boston (2011)

    Google Scholar 

  25. Cockburn, A.: Agile Software Development. Addison-Wesley, Reading (2002)

    MATH  Google Scholar 

  26. Bavani, R.: Distributed Agile Testing and Technical Debt. IEEE Software, S.28 (December 2012)

    Google Scholar 

  27. Rothman, J.: Do you know what fracture-it is? Blog (June 2, 2011), http://www.jrothman.com

  28. Letouzey, J.L., Ilkiewicz, M.: Managing Technical Debt. IEEE Software Magazine, 44 (December 2012)

    Google Scholar 

  29. Rothman, J.: Buy Now, Pay Later. In: Proc. of Belgium Testing Days, Brussels (March 2012)

    Google Scholar 

  30. Crispin, L., House, T.: Testing Extreme Programming. Addison-Wesley-Longmann, Reading (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Sneed, H.M. (2014). Dealing with Technical Debt in Agile Development Projects. In: Winkler, D., Biffl, S., Bergsmann, J. (eds) Software Quality. Model-Based Approaches for Advanced Software and Systems Engineering. SWQD 2014. Lecture Notes in Business Information Processing, vol 166. Springer, Cham. https://doi.org/10.1007/978-3-319-03602-1_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-03602-1_4

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-03601-4

  • Online ISBN: 978-3-319-03602-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics