Agile Zone is brought to you in partnership with:

Kelly Waters is Web Technology Director for IPC Media, one of the UK's largest publishers of consumer magazines and web sites. Kelly has been in software development for about 25 years and is a well-known narrator of agile development principles and practices, as a result of his popular blog 'Agile Software Development Made Easy!' (www.agile-software-development.com). Kelly is a DZone MVB and is not an employee of DZone and has posted 40 posts at DZone. You can read more from them at their website. View Full User Profile

Stop Starting, Start Finishing. Unfinished Work is Debt

06.24.2013
| 3327 views |
  • submit to reddit

I’ve worked with so many development teams now that I’ve lost count.  And I’ve lost count of how many of them have this problem.  The problem of being quick to start things, and not being quite so quick to finish them.

Lean methods seek to address this problem by enforcing WIP (Work In Progress) limits.  Whether or not you use WIP limits, teams really need to focus much more energy (and resources) on finishing what they’ve started, and less on starting the next new thing.

The trouble with having too much work in progress is that it ALL takes longer to complete.  It’s common in teams that have this bad habit to have things linger on, being “nearly finished” for a disproportionate amount of time.  At the end of a Sprint, or a month, or whatever cadence you prefer, lots of things are nearly done, but nothing is actually done.

Another key principle of Lean is Eliminate Waste.  Work In Progress is a form of waste.  To use a manufacturing analogy, we’re building up piles of unsold inventory.  Another way of thinking about unfinished work is that it’s debt.  It’s debt because we’ve incurred costs and spent money building this stuff, but it’s delivered no value yet, i.e. it hasn’t even started being paid back.  Like debt, too much unfinished work, or unfinished work that has been in progress for a long time, is too much debt and needs to be tackled.

In the finance world, there is a known technique that is the quickest way to clear debt.  It’s called snowballing.  The basic idea is this: You make the minimum payment on all debts other than the smallest (i.e. the quickest to clear).  You put any additional money or effort into paying back that.  When it is clear, you keep your total payment for all debts the same, and the amount you used to pay on the debt you’ve just cleared is put towards the next smallest debt.  When that is cleared, you do the same again.  For many people, clearing debts would be a long term thing, and the first one takes ages to clear if you can’t put much extra money towards it.  But the interesting thing about snowballing is that it accelerates.  And over time it accelerates exponentially quickly.

Now let’s think about the same concept for clearing the team’s debt of unfinished work.  What if we were to do the bare minimum on everything other than the thing that is quickest to finish, and apply all our efforts to that.  When that is done, do the same on the next quickest thing.  Keep doing that, pooling the team’s efforts onto the quickest thing to finish, until the team has a smaller, more focused number of things on its plate.  Maybe one thing.  Maybe a few if it’s not possible for the whole team to contribute to the same thing.  But not many things.  And not 1 project per team member!  While doing this, of course, you have to stop starting new things, unless of course they are absolutely critical.

Take a look at your team’s workload and all the unfinished work.  How much is in progress at once?  How long has it been in progress?  If it smells like debt, it probably is.  Take control of it now and start snowballing to get it back under control.  Your delivery will be better for it.  The value to your business will be better for it.  And your team’s morale and reputation will be better for it too.

Published at DZone with permission of Kelly Waters, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)