testrail

Defining Your Definition of Done

This is a guest post by Nishi Grover Garg.

The success of your team and the release depends on everyone getting their individual parts done in time. But how do you define being “done”? What indicates a finished task and differentiates it from a half-baked one?

It is all about having a clear definition of done established and agreed upon within the team from the onset of the project. Here’s how to go about it.

Brainstorm with your team

The person who is going to work on each task is obviously the best person to comment on how and when it will be closed. So, the first step would be to discuss and list the obvious things these people deem would need to be done in order to be able to say that their task is done. Sometimes, you may be surprised how different these “obvious” points may be for different team members.

For instance, Tester 1 may say that after executing tests on their user story, they also spend an hour doing exploratory testing before completing their testing tasks, while Tester 2 did not consider that as part of the task. They completed the test execution task once done with scripted tests and later, if time permitted, would perform some exploratory tests.

By doing this exercise you are baselining your expectations from each task, independent of its owners.

Consider quality goals

If you are seeking to come up with a definition of done, there is probably an area you are trying to improve and some quality goals you are trying to achieve, so consider them now. Think of what seem to be your team’s problem areas, or the source of their delays at the end. Now add a part of those quality goals in the relevant tasks.

For example, let’s say your builds seem to fail too often, and that leads to a lot of rework and retesting within the sprint. After some analysis, you found that the build failed because of developers checking in buggy code, mostly lacking integration tests.

So, to overcome this, you can add a subtask for each development task regarding performing basic integration tests. You can also add a code review task so that every developer now has to get their code reviewed by a buddy, even if informally, before checking it into the repository.

Creating these tasks adds an agreement with each developer to perform these tasks and not shirk out in a time crunch.

Modern Test Case Management Software for QA and Development Teams

Ensure visibility

Whatever definition of “done” you agree on with your team, it is important that all team members are fully aware of the criteria and always see those tasks progressing.

You can create all the definitions of done as a checklist and put it up on the wall. You could also add the definitions as part of the team’s tasks on your task board. For a virtual task board, you could have them added as subtasks within the team’s tasks. You could also mandate a discussion about each subtask during your daily standup meetings, before moving an item forward on the physical task board.

Whatever your choice, having clear visibility not only keeps the team members accountable to do all that is needed, but also gives them the needed time. They may have deadline situations where they feel pressured to move things along, but they know that these subtasks need to be completed before moving along. This can help team members to negotiate more time when needed to avoid compromising on quality.

Follow through

Once you decide on your definition of done and set up the process with your team, it is important to follow through. Keep a continuous check on the progress of tasks and if their subtasks are being completed. Keep conversations going about each of these quality tasks and their importance throughout the sprint, and see that nothing moves ahead without having all related subtasks completed too.

If there is a setback, take it as a failure but do not let it slide. Any incomplete subtask means its parent task is not closed, so any user story that has an incomplete task is deemed incomplete in the sprint and spills over to the next one. We follow this rule in our teams — and trust me, it hurts us on a personal level when we see the entire sprint losing its velocity over something small like a test review task not being completed.

Over time, the team understands the benefit of getting things done in this flow and gets better at them. With practice and adherence to the definitions of done, your team will become the champion of quality.

All-in-one Test Automation Cross-Technology | Cross-Device | Cross-Platform

Nishi is a corporate trainer, an agile enthusiast, and a tester at heart! With 11+ years of industry experience, she currently works with Sahi Pro as an Evangelist and Trainings Head. She is passionate about training, organizing testing community events and meetups, and has been a speaker at numerous testing events and conferences. Check out her blog where she writes about the latest topics in Agile and Testing domains.

In This Article:

Start free with TestRail today!

Share this article

Other Blogs

Enterprise Software Testing: Challenges, Tips, and Top Tools
Agile, Automation, Continuous Delivery, Software Quality

Enterprise Software Testing: Challenges, Tips, and Top Tools

Enterprise software testing is mission-critical. Large organizations depend on complex systems like Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), Human Resources (HR) platforms, and supply chain software to power daily operations....
The Testing Pyramid: A Comprehensive Guide
Agile, Software Quality

The Testing Pyramid: A Comprehensive Guide

If you thought tests were over when you earned your diploma, think again. Any good software developer will let you in on a little secret: tests ensure programs run smoothly. And the testing pyramid tells you how to write those tests.  Whether you know it as th...
How Leading Gaming Studios Prevent Million-Dollar Revenue Loss from Live Service Testing Failures
TestRail, Software Quality

How Leading Gaming Studios Prevent Million-Dollar Revenue Loss from Live Service Testing Failures

Your live service game generates millions daily—then a broken update ships. Within hours, #GameNameDead trends on social media. Players flood to competitors. Revenue evaporates within hours. This isn’t hypothetical: In live service games, the stakes are ...