Home » Agile » You’re doing it wrong: Definition of Done

About Gil Zilberfeld

Gil Zilberfeld

You’re doing it wrong: Definition of Done

In this series, we’re taking a look at what we do in agile, those pesky practices, and why we’re doing them. The purpose is the key here, and if you’re not getting the benefit, you might be doing it wrong, so try something else.

So, let me ask you a question:

Are you done, done-done, or done-done-done? What does “done”mean anyway?

To answer this question, let’s look at why defining “done” is important, especially in the iteration scope. As with many agile practices, it boils down to trust between the business people (and their representatives on earth, product managers) and the development team. As you’ve probably read already, agile practices are supposed to re-build the lost trust. The definition of Done is another pillar to support the structure.

“This is how I see it working” says the product manager. “Ok”, says the developer “I get what the feature does, I’ll go build it”. “But not like last time. Do you really get it?” the product managers timidly asks.

Because last time, she was surprised at the demo. Then the team needed to rebuild the feature because “they got it” but in a “different way”.

The Definition of Done is a surprise suppressor. It is an agreement in a common language of “what should work”. The level of details needed in order to get to this agreement is in inverse proportion to the trust between the business and the team. The bigger the trust, the less details are specified.

“We got it last time, but you changed your mind when you saw it”, continues the developer.

While an agreed upon Definition of Done is a good surprise suppressor, it does not mean there won’t be changes on the way. Agile processes are built on feedback, and once the product manager reviews what was actually built, she will say “it’s exactly what I wanted”. But in most cases it will be “Yes, but can you change…”.

Because that’s how people work. They react based on feedback. And the processes people use need to support people, not the other way around. Our process cannot disallow changes.

So if you’re feeling the Definition of Done as a contract, you’re doing it wrong. It’s more of a guiding light, giving a direction, but the direction can change based on new information.

So the Definition of Done is what we have before we work. What happens at the end? Next time, we’ll continue talking about Done. With bugs.

Reference: You’re doing it wrong: Definition of Done from our JCG partner Gil Zilberfeld at the Geek Out of Water blog.
(0 rating, 0 votes)
You need to be a registered member to rate this.
Start the discussion Views Tweet it!
Do you want to know how to develop your skillset to become a Java Rockstar?
Subscribe to our newsletter to start Rocking right now!
To get you started we give you our best selling eBooks for FREE!
1. JPA Mini Book
2. JVM Troubleshooting Guide
3. JUnit Tutorial for Unit Testing
4. Java Annotations Tutorial
5. Java Interview Questions
6. Spring Interview Questions
7. Android UI Design
and many more ....
I agree to the Terms and Privacy Policy

Leave a Reply

avatar

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subscribe  
Notify of