
How to Reduce Technical Debt
Reducing technical debt plays an important role in almost all Agile transitions. Although reducing technical debt using practices like “the boy scout rule”[1] is an important aspect of quality driven agile IT departments, I strongly suggest to start reducing the “Learning Debt” first. Technical debt often is just a symptom of learning debt and reducing it is nothing more than tackling symptoms and not addressing the cause of the problem. Focus on reducing the learning debt first and it does not only reduce technical debt but also increases productivity, time to market, quality and it even makes an organization more fun to work.
Learning debt is the difference in knowledge and skills between the way an organization expects a person to fulfill its role and how it’s really been fulfilled. Knowledge about company processes, applications, software engineering patterns, quality, etc.. Learning debt causes technical debt and is even harder to address. Learning Debt is somewhat invisible and difficult to measure, it requires understanding developers, testers and engineers through interaction which unfortunately is not one of the strongest skills of most organizations.
Most organizations are able to reduce their technical debt often by hiring some really skilled professionals who re-design a whole system and then move on to other companies to do exactly the same. Reducing technical debt by hiring external resources does, even in some scenarios slightly reduce the learning debt. Some people learn, but only when actively coached. So when these external resources leave new technical debt occurs. And after some years that same organization needs to hire new professionals to reduce their newly created technical debt and it starts all over again. This whole process contains lots of waste and does not address the cause of the problem which is reducing the learning debt.
Designing, creating and delivering an application is knowledge intensive, this means a lot depends on the skills of the professionals and how they are facilitated by their organization. Agile, Continuous Delivery(CD), Scrum and DevOps are commodities, the professional makes the real difference. In Agile transitions this is important and I therefore urge organizations who do not share this vision to stop their transition immediately!! You’re wasting money, frustrating your co-workers and in the progress contribute to the downfall of the hype Agile already is.
If an organization wants to make a successful transition to Agile it has to address the learning debt. Managers have an important role here by coaching their professionals and the organization by facilitating [2]. This means not just giving them the tools but through understanding their needs so they can outperform and make a difference. Recruitment also plays an important role in hiring those people who want to learn and not those who think they already know. A must read for all managers and HR professionals here is the talent myth by Malcolm Gladwell [3].
Only by understanding and actively coaching the learning debt can be addressed. As a result culture changes and the promised effects of the agile transition become apparent. So start with reducing your organizations learning debt and not just the side effects of poor governance and management.
Confucius: He who learns but does not think, is lost! He who thinks but does not learn is in great danger.