Agile Software Development

Revisiting the Definition of Done

Done means different things at different times. Sometimes, the instant the hand strikes the hour, a guy vanishes from the office so fast that no one is sure he even existed. He is done. When it comes to the product backlog, done is not as much of a sure thing. Natalie Warnert takes a closer look at the definition of done in a post at her blog.

Calling It Finito

She has been asked many times if certain conditions can be ignored in order for a story to be considered done, including questions like, “What if QA isn’t totally done?” and (yikes!) “What if it will be done the day after the sprint is done?” Her answer in both cases of course is that the story would not be considered done. Having a clear and unyielding definition of done maximizes the potential for quality in stories.

But then the issue of freezing code comes up, namely when a team decides to develop up to the freeze and then test after the freeze. Warnert believes this is not what a freeze is for though:

Why do we freeze code? To stabilize and improve quality by catching the last things that could be wrong. If stories were done before freeze, we should have caught the initial defects in a test environment and freeze could be about those darn integration and regression ones (yes, that should be part of our DoD, but let’s be real, environments can often prevent this as well as our pseudo-waterfall development). If we plan on fixing easily found bugs from first round testing during the freeze, why freeze in the first place? If we’re planning for exceptions, what’s the point of the freeze?

She goes on to discuss how ideals can differ from reality in building an agile environment. For instance, in an ideal scenario, it is best to begin with technical practices already set up, like a continuous deployment infrastructure. All these valuable technical elements are not always available from the outset though. Sometimes one has to make due with imperfect circumstances, at least in the beginning.

For further elaboration, you can view the original post here:

Show More
Back to top button

We use cookies on our website

We use cookies to give you the best user experience. Please confirm, if you accept our tracking cookies. You can also decline the tracking, so you can continue to visit our website without any data sent to third party services.