Research Paper

Managing Technical Debt in Software Projects Using Scrum: An Action Research

Abstract

Ward Cunningham in his experience report presented at the OOPSLA’92 conference introduced the metaphor of technical debt. This metaphor is related to immature, incomplete or inadequate artifacts in the software development cycle that cause higher costs and lower quality.

A strategy for technical debt management is still a challenge because its definition is not yet part of the software development process.

Carolyn Seaman and Yuepu Guo proposed a technical debt management framework based on three stages:

  1. Identify and list debts are identified and listed.
  2. Measure debts by their payment efforts
  3. Select debts to be considered in the software development cycle.

This study evaluates the application of this framework in the real context of software projects adopting Scrum.

Action research is conducted in two companies where their projects have significant technical debt. We performed three action research cycles based on the three stages of the framework for both companies.

The main contribution of this paper is to provide real experiences and improvements for projects using Scrum and that may adopt the technical debt management framework proposed by Seaman and Guo.

Both teams recognized that the proposed approach is feasible for being considered in the software development process after some modifications.

Because of project time constraints and ease of use, we reduced the use of the proposed metrics to two:

  • Principal
  • Current Amount of Interest.

In consequence, decision-making was benefitted by the early consideration of the debts that really need to be paid. Instead of using probabilities to find the interest, these are registered every time the technical debt occurs. During the first phase, the debt identification was improved when all Scrum roles participated, while measurement and decision-making were improved when the team was responsible for these phases. The Product Owner role in both companies understood the importance of Technical Debt monitoring and prioritization during a development cycle. With these changes, the two teams mentioned they would remain using the resulting approach.

Frederico Oliveira
Institute of Research Technology
São Paulo, Brazil
[email protected]

Alfredo Goldman
Institute of Mathematics and Statistics,
University of São Paulo
São Paulo, Brazil
[email protected]

Viviane Santos
Federal University of Pará
Belém, Brazil
[email protected]

Agile Alliance members-only content

To read the full content, and gain access to many more valuable resources, conference discounts, and invitations to exclusive networking and learning events, please consider becoming an Agile Alliance member.

If you’re already a member, please log in now. 

Your membership enables Agile Alliance to offer a wealth of first-rate resources, present renowned international events, support global community groups, and more — all geared toward helping Agile practitioners reach their full potential and deliver innovative, Agile solutions.

Got feedback? Join the conversation!

Additional Agile Research Papers

In Agile software development, key artifacts used to support the process are the User Story (usually recorded on a Storycard) and Story Cardwall (usually a dedicated portion of a wall). These low-fidelity tools work together to help teams stay focuse…
With the popularization of Agile methods for developing and managing software projects, many organizations have been using visual management tools for planning, executing and evaluating their activities. These visual management tools range from simpl…

Discover the many benefits of membership

Your membership enables Agile Alliance to offer a wealth of first-rate resources, present renowned international events, support global community groups, and more — all geared toward helping Agile practitioners reach their full potential and deliver innovative, Agile solutions.

IMPORTANT: We have transitioned to a new membership platform. If you have not already done so, you will need to set up an account on the new platform to establish your user profile.

When you see the login screen, choose “Set up Account” and follow the prompts to create your new account. You can choose to log in using your social credentials for either Google or Linkedin (recommended), or you can set up your account using an email address.

Not yet a member? Sign up now