Abstract
Fierce competition in the software market forces companies to release their product under tough time constraints. The competition makes companies reactive and they need to release new versions often. To achieve this need for speed, companies take shortcuts to reach deadlines. These shortcuts and resulting omitted quality are called technical debt. We investigated one middle-size Finnish software company with two independent product lines and interviewed 12 persons in different positions to understand the causes and effects of technical debt. We were also interested in specific strategies and practices for managing technical debt. The results showed that technical debt is mostly formed as a result of intentional decisions made during the project to reach deadlines. Customer satisfaction was identified as the main reason for taking technical debt in short-term but it turned to economic consequences and quality issues in the longer perspective. Interestingly, neither of the product lines had any specific management plan for reducing technical debt but several practices have been identified.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Van de Laar, P., Punter, T. (eds.): Views on Evolvability of Embedded Systems. Springer, Dordrecht (2011)
Cunningham, W.: The WyCash Portfolio Management System. In: Addendum to the Proceedings on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 1992, pp. 29–30. ACM, New York (1992), http://dl.acm.org/citation.cfm?id=157715 (accessed: March 25, 2014)
Seaman, C., Guo, Y., Zazworka, N., Shull, F., Izurieta, C., Cai, Y., Vetro, A.: Using technical debt data in decision making: Potential decision approaches. In: 2012 Third International Workshop on Managing Technical Debt (MTD), pp. 45–48 (2012)
Zazworka, N., Vetro, A., Izurieta, C., Wong, S., Cai, Y., Seaman, C., Shull, F.: Comparing four approaches for technical debt identification. Software Quality Journal, 1–24 (2013)
McConnell, S.: Technical Debt-10x Software Development | Construx (November 01, 2007), http://www.construx.com/10x_Software_Development/Technical_Debt/ (accessed: March 25, 2014)
Eisenberg, R.J.: A Threshold Based Approach to Technical Debt. SIGSOFT Software Engineering Notes 37(2), 1–6 (2012)
Lim, E., Taksande, N., Seaman, C.: A Balancing Act: What Software Practitioners Have to Say about Technical Debt. IEEE Software 29(6), 22–27 (2012)
Klinger, T., Tarr, P., Wagstrom, P., Williams, C.: An Enterprise Perspective on Technical Debt. In: Proceedings of the 2nd Workshop on Managing Technical Debt, New York, NY, USA, pp. 35–38 (2011)
Siebra, C.S.A., Tonin, G.S., Silva, F.Q.B., Oliveira, R.G., Junior, A.L.O.C., Miranda, R.C.G., Santos, A.L.M.: Managing Technical Debt in Practice: An Industrial Report. In: Proceedings of the ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, New York, NY, USA, pp. 247–250 (2012)
Zazworka, N., Shaw, M.A., Shull, F., Seaman, C.: Investigating the Impact of Design Debt on Software Quality. In: Proceedings of the 2nd Workshop on Managing Technical Debt, New York, NY, USA, pp. 17–23 (2011)
Vaucher, S., Khomh, F., Moha, N., Guéhéneuc, Y.: Tracking Design Smells: Lessons from a Study of God Classes. In: 16th Working Conference on Reverse Engineering, WCRE 2009, pp. 145–154 (2009)
Buschmann, F.: To Pay or Not to Pay Technical Debt. IEEE Software 28(6), 29–31 (2011)
Guo, Y., Seaman, C., Gomes, R., Cavalcanti, A., Tonin, G., da Silva, F.Q.B., Santos, A.L.M., Siebra, C.: Tracking technical debt - An exploratory case study. In: 2011 27th IEEE International Conference on Software Maintenance (ICSM), pp. 528–531 (2011)
Codabux, Z., Williams, B.: Managing technical debt: An industrial case study. In: 2013 4th International Workshop on Managing Technical Debt (MTD), pp. 8–15 (2013)
Power, K.: Understanding the impact of technical debt on the capacity and velocity of teams and organizations: Viewing team and organization capacity as a portfolio of real options. In: 2013 4th International Workshop on Managing Technical Debt (MTD), pp. 28–31 (2013)
Guo, Y., Seaman, C.: A Portfolio Approach to Technical Debt Management. In: Proceedings of the 2nd Workshop on Managing Technical Debt, New York, NY, USA, pp. 31–34 (2011)
Zazworka, N., Seaman, C., Shull, F.: Prioritizing Design Debt Investment Opportunities. In: Proceedings of the 2nd Workshop on Managing Technical Debt, New York, NY, USA, pp. 39–42 (2011)
Krishna, V., Basu, A.: Minimizing Technical Debt: Developer’s viewpoint. In: International Conference on Software Engineering and Mobile Application Modelling and Development (ICSEMA 2012), pp. 1–5 (2012)
Krishna, V., Basu, A.: Software Engineering Practices for Minimizing Technical Debt. presented at the SERP 2013 The, International Conference on Software Engineering Research and Practice (2013)
Denzin, N.K., Lincoln, Y.S.: The SAGE Handbook of Qualitative Research, 4th edn. Sage Publications
Verner, J.M., Sampson, J., Tosic, V., Bakar, N.A.A., Kitchenham, B.A.: Guidelines for industrially-based multiple case studies in software engineering. In: Third International Conference on Research Challenges in Information Science, RCIS 2009, pp. 313–324 (2009)
Yin, R.K.: Case study research: design and methods. Sage Publications, Thousand Oaks (2003)
Strauss, A., Corbin, J.M.: Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory. SAGE Publications (1998)
Ojameruaye, B., Bahsoon, R.: Systematic Elaboration of Compliance Requirements Using Compliance Debt and Portfolio Theory. In: Salinesi, C., van de Weerd, I. (eds.) REFSQ 2014. LNCS, vol. 8396, pp. 152–167. Springer, Heidelberg (2014)
Kruchten, P., Nord, R.L., Ozkaya, I.: Technical Debt: From Metaphor to Theory and Practice. IEEE Software 29(6), 18–21 (2012)
Zazworka, N., SpÃnola, R.O., Vetro’, A., Shull, F., Seaman, C.: A Case Study on Effectively Identifying Technical Debt. In: Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering, New York, NY, USA, pp. 42–47 (2013)
Tom, E., Aurum, A., Vidgen, R.: An exploration of technical debt. Journal of Systems and Software 86(6), 1498–1516 (2013)
Brown, N., Cai, Y., Guo, Y., Kazman, R., Kim, M., Kruchten, P., Lim, E., MacCormack, A., Nord, R., Ozkaya, I., Sangwan, R., Seaman, C., Sullivan, K., Zazworka, N.: Managing Technical Debt in Software-reliant Systems. In: Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research, New York, NY, USA, pp. 47–52 (2010)
Morgenthaler, J.D., Gridnev, M., Sauciuc, R., Bhansali, S.: Searching for build debt: Experiences managing technical debt at Google. In: 2012 Third International Workshop on Managing Technical Debt (MTD), pp. 1–6 (2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Yli-Huumo, J., Maglyas, A., Smolander, K. (2014). The Sources and Approaches to Management of Technical Debt: A Case Study of Two Product Lines in a Middle-Size Finnish Software Company. In: Jedlitschka, A., Kuvaja, P., Kuhrmann, M., Männistö, T., Münch, J., Raatikainen, M. (eds) Product-Focused Software Process Improvement. PROFES 2014. Lecture Notes in Computer Science, vol 8892. Springer, Cham. https://doi.org/10.1007/978-3-319-13835-0_7
Download citation
DOI: https://doi.org/10.1007/978-3-319-13835-0_7
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-13834-3
Online ISBN: 978-3-319-13835-0
eBook Packages: Computer ScienceComputer Science (R0)