Technical Debt

An entry about agile Publication date 3. August 2009 09:50

Often when people are talking about the concept of technical debt in software, they relate it to cleaning up “quick and dirty” code. I'm not convinced that this is what Ward Cunningham was really talking about when he first coined the term.

To me, technical debt is the natural, inevitable result of evolving requirements. Code that was perfectly written to model the requirements as they were known two months ago, may detoriate and become inadequate or even incapable of supporting the implementation of todays requirements. This is really the essence of Agile software development: We write code to model the world as it is known today, with less regard for what may be known tomorrow. Then, as we discover more knowledge, we pay back the debt we owe for the assumptions we made by remodelling and refactoring the code.

So please don’t think that you can use technical debt as an excuse to write quick and dirty code that you’ll come back and “fix” later. Paying back technical debt is about keeping your code clean – which implies that it was, in fact, clean to begin with.

Currently rated 4.0 by 4 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Comments

Powered by BlogEngine.NET 1.4.5.0

Welcome!

My name is Fredrik Kalseth, and this is my blog - thanks for visiting! I am fortunate enough to work with what I love for a living, and this blog is essentially the biproduct of that.

I work as a senior consultant for Capgemini, and am also an active participant in the Norwegian .NET community, as an avid attendee but also as a speaker (most recently at NNUG and MSDN Live).

As a developer, I have a wide circle of interest. My primary passion is for agile, test-driven development, with focus on best practices and clean code. That said, I also love to work on the frontend, especially with web development.

On Twitter? My handle is fkalseth. On LinkedIn? I`m there too.


Disclaimer

This is a personal blog; any opinions expressed here are my own and do not necessarily reflect those of my employer. All content herein is my own original creation, and as such is protected by copyright law. Unless otherwise stated, all source code posted on this blog is freely usable under the Microsoft Permissive License.

What Readers Talk About

Comment RSS