The Definition of Done, Done-Done and Really Done
Definition of Done is a bit of vague term and tends to vary from team to team. An Agile expert gives his views of Definition of Done and what Done really means.
Join the DZone community and get the full member experience.Join For Free
In a short post, John Cutler reminds us that the work is never done. Customers change, their needs change, we have new ideas, and that's why we show up for work every day.
His final suggestion is not to be fooled by Jira's "Done" status.
I can't believe I'm actually defending Jira here, but Done (in Jira or outside), is really meaningful. It is so important that we even have variants for it, like "Done with bugs," or "Dev done."
Regardless of what the Definition of Done in your team really is, "Done" means we can do the following:
- We celebrate completion (We love that! Our bosses love that!).
- We clear our minds of the actual work, problems, and issues we've worked on.
- We focus on the next item, feature, and task.
- We match expectations with other people, who now know that we've moved on.
Done is so precious, in any of its forms, because it's a signal, like a traffic light. We're looking at the flashing lights, waiting for the light to change. We know it's coming, and we know what's coming right after the event.
It's no surprise that we like moving those post-its (or changing the status in Jira). It's not the Definition of Done we're celebrating, but the meaning of moving forward.
We're making progress.
Visibility of Done-ness
The problem with "our" Definition of Done starts when it's not as completely Done as we, and others, expect it to be.
When "Done" means "Dev Done," well, the work is not really done.
When "Done" is "Test Done," but with a couple of bugs open, it's still not really done.
Even when Done means it's "shippable," or even "shipped," feedback needs to come back, and then work may resume, as John suggested.
We have moved forward, yet work has returned to haunt us like a bad horror movie sequel.
The Definition of Done's Hidden Meaning
Done, much like life itself, is a matter of perspective.
- At the individual level, "Done" is when I passed my deliverable to someone else.
- At the team level, "Done" is when the team completes their work and passes their package to the Ops team, or (hopefully deployed automatically).
- At the product level, "Done" is when we get feedback from the customer that finds the product/feature/bug fix valuable.
- And even then, a few months later, what was Done may be completely overturned.
We may never be "really" Done, and Jira may indeed fool us. But as long as we understand that "Done" is temporary, and we can look at the board and ask about its done-ness, it is still useful.
At the end of the day, the work is "Done" when we ask:
Published at DZone with permission of Gil Zilberfeld, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
DevOps vs. DevSecOps: The Debate
Future of Software Development: Generative AI Augmenting Roles and Unlocking Co-Innovation
Personalized Code Searches Using OpenGrok
Opportunities for Growth: Continuous Delivery and Continuous Deployment for Testers