Graziela S. Tonin¹, Rogério Chaves², Alfredo Goldman¹, Viviane Santos¹.Instituto de Matemática Estatística e Ciência da Computação – Universidade de São Paulo (USP). ² Instituto de Pesquisas Tecnológicas do Estado de São Paulo (IPT)
Agenda Motivation Research Objectives Methodology Research Contextualization Studied Cases Results Threats to validity
Motivations Techinical Debt “Shipping first time code is like going into a debt. A little debt speeds development so long as it is paid back promptly with a rewrite. Objects make the cost of this transaction tolerable. The dangers occurs when the debt is not repaid. Every minute spent on not-quite-right counts as interest on that debt...” Cunningham (1992) Gartner (2012) Technical Debt cost in 2010 was approximately $ 500 billion 2015 : The cost will reach U$1 trillion
Motivations Increased the adoption of Agile Methods in the last 10 years. (VersionOne 2012 e Williams 2010). Effectiveness and benefits have been significant: More productive teams . Less Stress. Customers more satisfied with the products delivered.
Research Objectives (1) The Technical Debt concept is known in the company? If yes, how is considered in project management? (2) Strategic Decisions generated Technical Debt? (3) What was the impact over time?
Methodology Exploratory case study Selected based on purposive sampling method. [Yin, 2010] Data collected through interviews. Open and close questions. Interviews of the 30 minutes. Five people interviewed. Focus on historical project.
Context Research Project conducted in a technology company with more than 350 developers and 45 Scrum teams. Project: Monitoring and automation system, developed in java with more than 100,000 lines of code. Four cases studied.
Studied Cases Case 1 Upgrade of the JQuery version. Fix system bugs. New features. Case 2 Persistence method of monitoring events in the database. Scalability limitation. Thousands devices monitored. Monitored only status changes. Metrics collected in the monitoring agents not persisted.
Studied Cases Case 3 Use of MON (https://mon.wiki.kernel.org/) as monitoring agent. Monitor service availability. Case 4 CMDB (Configuration Management Database) as mandatory data insertion in the system. System for configuration management.
Classification • According Cunnignham properties(1996)
Characterization andconceptualization – Case 1
Characterization andconceptualization – Case 2
Characterization andconceptualization – Case 3
Characterization andconceptualization – Case 4
Resulting Model: characterizationand e conceptualization of cases
Results(1) The Technical Debt concept is known in thecompany? If yes, how is considered in projectmanagement? The company had knowledge. But not considered in project management.
Results(2) Strategic Decisions generated Technical Debt?(3) What was the impact over time?
Analysis of impacts in the Cases Case 2, Case 3 and Case 4 Process Adjustment. Business adapting to the system. All cases Rewrite code. Team division: Maintain an old system. Develop new solution. High level of stress – customer and project team Customer dissatisfied.
Contributions Confirms the importance of not ignoring Technical Debt. Highlights the importance of communication between technical and business team. General Model that may help to show: Where Techincal Debt arise; What are your influences and motivations; Can be considered at the moment of decision-making. Can be replicated in other projects.
Threats to validity Data collected only through interviews. Data triangulation. Don’t have a detailed calculation of impact / cost. No data access as: Man/hour value. Cost of maintaining the old system while the new version was made.