- How do agile teams know when the work
they're doing is done?
In each iteration, the team members will decide
and then plan the work they pull into the iteration.
An enabler of successful outcomes is for Agile teams
and their stakeholders to understand what done means.
Remember that throughout
and definitely by the end of each iteration,
requirements will have been implemented,
tested, and validated.
This flow of work is very different from the traditional
Big Bang approach, where the entire scope
of work is completed as one big unit.
One of the agile practices
that enables this is called the definition of done.
This practice allows for a collective understanding
of what it means for something to be complete.
There are many potential usages of a definition of done,
and one is for defining what done means for a story.
At the story level, it is an agreement used
to assess when a user or technical story is complete
and could be potentially released for a customer to use.
When we consider a story potentially releasable,
the expectation is that no more work is needed
for it to be released into the hands of users.
This definition is not to be confused
with a story's acceptance criteria.
Acceptance criteria are specific criterion
for a particular story
and provide the critical information
for that unique requirement and how to validate it.
In comparison, the definition of done
is the overarching acceptance criteria
applicable to all stories.
It is an agreed upon set of conditions that must be true
for a story to be considered complete.
Criteria that will apply to all stories, are written once.
This is because writing the same criterion
over and over is inefficient.
And when a change is needed, we have one place
to make an update,
versus tens, hundreds, thousands of stories.
The definition of done establishes an agreement
about the quality standards
the team will apply to the product.
It governs quality
and keeps acceptance decisions in order,
helping to ensure teams never compromise quality,
to get a story done quickly.
Here are a few tips.
All team members and stakeholders
agree on a shared understanding
of what it means for work to be completed
and have reached done.
Have one definition of done per product.
If multiple teams work on the same product,
they must agree to the same definition of done.
This is the quality of the product,
so it must be set at a standard for all.
Do not have the list of criteria exhaustive
or overly detailed.
The criteria and a definition of done is unique
to each organization and the team or teams enhancing
and maintaining a product.
Some definitions of done may contain only a few criteria,
while others may benefit from more robustness.
Product owner validation of acceptance criteria
has been met for a user story.
This is common criteria useful for all teams.
The definition of done, grounds the team members,
their product owner, and stakeholders,
in what can be planned to do
in an iteration and what is required
for those requirements,
beyond their acceptance criteria to be done.