Tuesday, April 4, 2017

Technical Debt Increases Agility

You might think that "Agility" is a good thing, and "Technical Debt" is bad. Right?
Well it depends.

Of course it's great to have no debt. But if you had taken that loan last year you could have invested in the stock-market and become rich and it would be even greater than just "having no debt".

When you're working on a programming project you might spend most of your time refactoring your code, to avoid technical debt. Or you could spend your time getting the software out to the users, no matter how much technical debt it carries.

Making sure your software has "no technical debt" will help you in the FUTURE when you need to change and adapt and maintain your software. But using resources now to get rid of technical debt decreases your CURRENT AGILITY, your ability to produce value to the users right now. If you can't help users fast you're not very agile.

There's no clear-cur rule as to how much debt a business should carry, or how much technical debt a given software project should have. Debt is not a bad thing if it helps you be agile, right now.

https://twitter.com/panulogic/status/849331316218896385


Copyright © 2017 Panu Viljamaa. All rights reserved 


2 comments:

  1. You sure you are not mixing "hasty" with "agile"?

    ReplyDelete
  2. Reducing Technical Debt is an investment that allows us be more agile in the future. But it makes us less "agile" today because it means we spend our resources (our time) to reduce technical debt, not to agilely implement more user-stories. Reducing Technical Debt will slow us down in the short run. We COULD say that the definition of "reducing Technical Debt" is "doing anything that makes it faster to modify the application in the future". So almost by definition reducing TD will increase our agility in the future, but decrease it currently.

    ReplyDelete