I'd like to share my experience with our development team, which accumulated technical debt over time while developing new features — in the same way weeds grow unchecked, flourishing under the sunlight and taking water and fertilizers that are meant only for the crop. The development team discovered that they had a huge chunk of technical debt, which resulted in additional unplanned effort, less productivity, unpredictability, and steep fluctuations in velocity.
Just as we need to get rid of weeds to improve the growth of plants, we must make an effort to reduce technical debt. Here is a summary of what the team did to reduce this load.
The project involved developing a website to automate one of the manual processes in an organization. It was a six-month project with 12 sprints of 15 days each.
Though the teams were well used to the agile/Scrum framework and followed all Scrum events and best practices religiously, we observed unsatisfactory results in the first few sprints. There was a steep fluctuation in the velocity, and the product quality was decreasing with each sprint. The issue was brought to us, as subject matter experts, for consideration. Because we discovered these results early in the project, we wanted to investigate the underlying cause so that we could implement changes quickly and reap the benefits in the remaining sprints.
We uncovered that the team was continuously working on developing new features. At the end of each sprint, delivery was made to the customer for their feedback. By regularly fixing all the critical bugs, the team unknowingly introduced defects into the system.
In a rush to deliver new features and functionalities sprint after sprint, fixing these defects became less of a priority. As a result, there was a dramatic difference in what was planned and what was delivered because of the sizable number of defects left in the system. We discovered that the parked defects were damaging product quality and were the root cause of many critical defects that were encountered later. Even though the time to market had been reduced, the overall business objective remained unattainable.
There was obviously a serious need for managing technical debt. We decided to do this by continuously clearing it as we developed new features.
We suggested the following measures, which resulted in significantly reducing technical debt.
By implementing these practices, the team reduced the technical debt. Their output flourished, just like plants rid of weeds. After technical debt was reduced, the team enjoyed predictability and better productivity.
Shalu Tyagi is an agile enthusiast and practitioner with extensive experience in process training, quality assurance, and process transformation in the IT industry. She also participates in various agile forums, events, communities and meetups.
Get the latest resources from Scrum Alliance delivered straight to your inboxSubscribe