The Definition of Definition of Done

TL;DR

Want to help editing a collaborative version of Definition Of Done checklist, driven by questions, rationales and “don’ts”?
Click here and feel free to share your ideas!

Long

Some months ago my team and I had to define a Definition of Done for one of our projects.

Each item of DoD should be an activity useful to define when a feature is done-done.
In order to help us find the most proper items I proposed this pattern:

  1. We should be able to summarize each item with a short question, like

    Does it compile?

    The question must be short and easy to remember, because we will be mentally or physically be asking it ourselves several times each sprint.

     

  2. The whole team should agree on the detailed description of the fact we wish to assert, like “When we say the feature is done because it compiles we mean“:

    Every single component compiles with no errors and produces artifacts

    DoD is a contract between each team member. We must really agree with no ambiguity.

     

  3. In order to ensure we all agree and understand the rationale of the rule, we can describe the anti-pattern behavior we want to avoid, like “<Done> must mean <It compiles> so that no one could say:”

    It’s done, but …doh! I missed a semicolon. Just a second, please…“

     

So, we came with items like

Question Can it build?
Fact There’s a build script and a Continuous Integration system able to deploy the project on a server and the script succedes deploying it on the stage server
So that no one could say It’s done, but it runs on my computer only
Question What’s the URL?
Fact The Customer and the Product Owner can access and use the software from their computers
So that no one could say It’s done but you must come to my computer to see it

Shared with all

In order to collaboratively edit that document I prepared a google doc.
Then I shared it with my colleagues.

After few minutes I saw several unknown users lurking the document.

Gosh!“, I thought, “This is a Company, reserved document! What’s happening?

As a matter of fact, for a mistake I did share the document with a public Italian mailing list. My shame.

Well, what’s the big deal?“, I started thinking. “Know what? A DoD is not that reserved, after all. On the contrary: we could learn so much, sharing ideas with other developers. Let’s see how other developers would define a DoD”

So I left it public.
Everyone was able to edit, refine, remove, add ideas.

Here is how the Definition of Definition of Done started.

English

Here I am proposing the same experiment, this time with an English DoD, possibly with a larger audience.
Please, don’t hesitate to edit, refine, remove, add or use ideas.

DoD is a team-specific issue!

One of the critics I suddenly received was about the fact that DoD should be built around the problems and goals a specific team has.
Yep. This is completely true.

The checklist I’m trying to collaboratively build is not meant to be an universal Definition of Done. I think such a list could hardly be conceived.

On the contrary, I aim to build a pretty complete, polyhedric, varied list of miscellaneous items for every team to select and use.

Enjoy!

One thought on “The Definition of Definition of Done

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s