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.