To ensure
the definition and verification of quality goals it is critical to define when a
specific work item is complete and can thus be considered to be in a respective
state. For two very important states of a user story – “ready” and “done” the Definition
of Ready (DoR) and the Definition of Done (DoD) have
to be defined and agreed upon between the relevant stakeholders.
Both
definitions (DoR and DoD) are usually created as checklists of
the work that must be completed and applies to all user
stories!

Definition
of Ready (DoR)
The
Definition of Ready defines the quality criteria for the creation of any
- User story
- Business epic
- Product (release) theme
to ensure
that any backlog item being considered for work is actually ready to
be worked on and to be moved into the next sprint. Specifically, this means
that the development team can confidently commit and complete the backlog item
by the end of a sprint.
For
illustration, here is a sample DoR for User Story definition
☐ | Business value is clearly articulated. |
☐ | Details are sufficiently understood by the development team so it can make an informed decision as to whether it can complete the Product Backlog Item (PBI). |
☐ | Dependencies are identified and no external dependencies would block the PBI from being completed. |
☐ | Team is staffed appropriately to complete the PBI. |
☐ | The PBI is estimated and small enough to comfortably be completed in one sprint. |
☐ | Acceptance criteria are clear and testable. |
☐ | Performance criteria, if any, are defined and testable. |
☐ | Scrum team understands how to demonstrate the PBI at the sprint review. |
A key
element of a User Story are Acceptance Criteria for the User Story. Please
note, that Acceptance Criteria are defined specific to a User
Story.
Why do
User Stories need Acceptance Criteria?
Acceptance
criteria are an essential part of user story definition to ensure that
developed software meets actual business requirements. They serve as a basis
for definition of test cases that ensure achieving business goals and produce
bug-free apps.
Writing
acceptance criteria is truly a win-win activity for both stakeholders and
development teams:
- The team knows exactly what is
expected of them,
- keeps the stakeholder abreast of
development process.
Key
considerations regarding Acceptance Criteria – the What?, the Why? and the
How?:
What?
- External quality characteristics
specified by the product owner from a business perspective
- Exit criteria that a component
or a system must satisfy in order to be accepted by a user, customer, or
other authorized entity
Why?
- To define boundaries for user
story
- Help the product owner define
what they need in order for this user story to provide
value (i.e. minimum functional requirements)
- Help team to gain shared
understanding and reach consensus
- Help developers know when
to stop adding more functionality to a story
- To serve as a basis for deriving
tests
- To allow for accurate planning
and estimation
How?
Acceptance
criteria
- define desired behavior and
- are used to determine whether a
product backlog item has been successfully developed.
The “Given/When/Then” template
helps to reduce the time spent on writing test cases by describing the system’s
behavior upfront. We prefer writing acceptance criteria with the first-person
“I” since it helps us talk from a user’s perspective and keep a user’s needs in
mind.
Sample
User Story with Acceptance Criteria:
“As an internet
banking customer I want to see a rolling balance for my
everyday accounts so that I know the balance of my account
after each transaction is applied.”
Example
acceptance criteria:
- “The rolling balance is
displayed
- The rolling balance is
calculated for each transaction
- The balance is displayed for
every transaction for the full period of time transactions are available
- The balance is not displayed if
a filter has been applied.”
2.Definition
of Done (DoD)
The
Definition of Done (DoD) establishes the quality criteria for delivery of
product increment. The DoD is used to assess when work is complete on the
product increment.
Characteristics
of the DoD
- Agreed between the team and the
product owner
- Applies to all work of the
entire team – including user stories and defect resolution i.e. bug
fixes
- Must allow immediate release of
product increment
- Quality increases with maturity,
hence the various elements of the DoD are expected to become more
ambitious over time.
For illustration, here is a sample DoD for a User Story completion:
☐ | Upgrade verified while keeping all user data intact. |
☐ | Potentially releasable build available for download |
☐ | Summary of changes updated to include newly implemented features |
☐ | Inactive/unimplemented features hidden or greyed out (not executable) |
☐ | Unit tests written and green |
☐ | Source code committed on server |
☐ | Jenkins Built version and all tests green |
☐ | Code review completed (or pair-programmed) |
☐ | How to Demo verified before presentation to Product Owner |
☐ | Ok from Product Owner |
Remember:
The Definition of Done (DoD) applies for all user stories that
the team is working on. In contrast to this, Acceptance Criteria are defined
specifically per User Story as required by the Definition of Ready (DoR).
This should
clarify how DoR, Acceptance Criteria and DoD relate to each other.
No comments:
Post a Comment