Software debt exists in different ways. Technical debt is widely known, some other forms are competence debt and quality debt. Software debt can cause product maintenance costs to increase and can depress developers. Several solutions exist to manage software debt.
An exploration of recent advice from Henrik Knibert, Ward Cunningham and Hayim Makabee on technical debt, how to make the most of it and when to pay it off.
“Many team and their product owners believe that the team's unique job is to deliver more and more story points, but we consider this to be a complete misunderstanding of the relation between the team and the product owner” said Damien Thouvenin and Pierrick Revol. They ran a sprint planning game on investing time to produce stories, investigate issues, reduce technical debt, or do training.
Agile teams sometimes struggle with the planning of pure technical tasks that have no direct value for the user of a system, but have to be done to deliver working software. Should you create user stories to handle such technical tasks and technical debt, or not?
The 10th anniversary edition of the XP Days Benelux 2012 conference continues on the second day. An impression of the sessions about agile adoption, self organizing and managing technical debt.
According to a report by CAST Software, technical debt now costs a company on average $3.61 per line of code. The report's findings are summarized in this article and more discussion is presented from other thought leaders on the topic.
A discussion has been taking place on the LinkedIn Agile Alliance group questioning if "technical debt" is still a valid metaphor in today's global software development world. This discussion has surfaced a strong support for the effectiveness of the metaphor even after 20 years.
Technical debt can be difficult to connect directly to customer value, but delivering customer value is what Agile processes are all about. So how can we track and reduce technical debt in an Agile development environment?
Is technical debt a purely technical issue that can be addressed directly by refactoring and tests or is it a symptom of a bigger problem? Will the adoption of TDD fix the issue or just cover up a symptom of something bigger?
In a recent article entitled “Continued Delivery of High Values as Systems Age”, Chris Sterling discusses the concept of Software Debt – “Software debt accumulates when focus remains on immediate completion while neglecting changeability of the system over time.” Software Debt goes beyond technical debt an encompases a variety of aspects that impact on the ability to deliver value.
In this interview made by InfoQ’s Deborah Hartmann during Agile 2008, Rebecca Wirfs-Brock talks about software design, the need for good design and the technical debt that might accumulate slowing down the development process. The conclusion is that agile developers should not disregard design.