Defining “done”

Over the last year or so the web team has seen a lot of changes, you might even go so far as to call it an overhaul, one of the things we’ve worked hard to improve is our definition of “done”.

I don’t know how often you see it in other fields but in my (admittedly limited) experience often when a developer says something is “done” it isn’t done at all. Its the old “How are you getting on with the whatsamajig?” “Oh it’s done!” “Let’s put it on the server then.” “Oh no, I still need to…”.

I’m not sure why this is, I like to think that its because developers are eager beavers keen to please. Maybe it’s because we love to be working on whatever’s next, either way its not good. It leads to disappointment for our customers, endless delays, poor estimates, lack of positive feedback and a general sense that nothing is ever done.

We’ve been quiet strict on our use of the word “done” over the last 6 months and are now policing each other when we suspect a “not done done” has sneaked in. This enforcement has been based on a general understand of what “done” really is, not an agreed definition.

This approach has served us well so far and it’s certainly a massive improvement on where we were a year ago, but I wonder if it is time for an explicit definition of what we mean by “done”.

The advantages of a explicit definition include:

  1. Quality – “done” should include steps to ensure the quality of deliverables.
  2. Better estimates – you can’t estimate a task unless you know exactly what is entailed in its completion.
  3. Consistency – everyone including our customers should know exactly what we mean when we say “done” and trust it.
  4. Big red bus scenario – this is the scenario in which a developer is hit by a big red bus, if something is “done” properly other developers can pick up where they left off.
  5. Reduce fire fighting – if things are finished properly there is less chance of them having problems down the line.
  6. Continuous improvement – “done” should include things you don’t do but want to.

I’m not sure what our definition of “done” should be, I think that’s best left for a team brainstorming session. If we do decide to define “done”, I’m sure we’ll be writing it up here and explaining our reasons behind it in the not too distant future.

One response to “Defining “done”

Leave a Reply

Your email address will not be published.