Lesson 4 of 5
A definition of done that includes testing
8 min
The definition of done (DoD) is the shared standard every story must meet before anyone may call it finished. In SAP Activate it covers expectations for documentation, testing, user enablement and similar items. SAP's content is clear that the definition must be agreed early, be clear and exact, and that each team's version will reflect its own work. In scaled Scrum, teams also share a common core so that Done means the same thing across the product.
Three different things
| Concept | Applies to | Question it answers | Owned by |
|---|---|---|---|
| Definition of ready | Every backlog item before a sprint | Is this clear enough to build and test? | Team and product owner |
| Acceptance criteria | One specific story | What must be true for this story to be accepted? | Product owner with the business |
| Definition of done | Every story, every time | Has the team finished all the work our quality standard requires? | The team, within the program's shared core |
SAP's agile content also separates Done from Shippable. A story can be Done in a sprint and still wait for integration testing, data migration or cutover before it can go to production. Keeping the two apart stops teams from claiming that sprint completion means release readiness.
Contoso's definition of done
- Configuration or code complete in the development system and peer reviewed.
- Unit tests passed; string tests passed where the story touches more than one step of the process.
- Story test cases exist in SAP Cloud ALM, are linked to the story and its solution process, and have a passed run with evidence.
- Acceptance criteria demonstrated to and accepted by the product owner.
- Required authorizations included in the business role design; tested with a test user, not a superuser.
- Configuration or design documentation updated and linked in Cloud ALM.
- Transports assigned to the feature for the story; no open high-severity defects on the story.
- Training or work instruction impacts noted for Solution Adoption.
- OpenStory Ready and planned into the sprint
- In progressBuilt with sub-tasks; unit tests running
- In reviewStory test cases executed; product owner walkthrough against criteria
- DoneEvery DoD item met and evidenced
- ShippableLater: integrated, regression-tested and cleared for release
Why testing belongs in the DoD
SAP's agile Activate content puts testing inside the sprint because defects cost more the longer they wait, and it says a story moves to Done only after its test results are checked. If testing is not in the definition, it becomes optional under pressure, and the first time anyone runs the story end to end is SIT. Putting test cases and evidence in Cloud ALM into the DoD also builds the regression suite one story at a time.
- Are the story's test cases linked to the story and its process in Cloud ALM?Yes → next · No → not Done
- Is there a passed run with evidence, executed with a business role test user?Yes → next · No → not Done
- Has the product owner accepted against the acceptance criteria?Yes → next · No → not Done
- Any open high-severity defects on the story?No → Done · Yes → not Done; carry over or split
What would you do?
At the end of sprint 4, Team Source to Pay reports eight stories Done. Priya finds that three have no test runs in Cloud ALM; the consultant says he "tested them in the system". What should happen?
- The definition of done is a shared quality standard for every story; acceptance criteria are story-specific.
- Done is not Shippable: integration testing and release readiness come later.
- Put testing in the DoD: linked test cases, a passed run with evidence, role-based test users, product owner acceptance.
- Stories without evidence are not Done; report them honestly and fix the cause.
Check your understanding · not graded
Lesson check
1. What does a definition of done apply to?
2. According to SAP's agile Activate content, when does a story move to Done?
3. What is the difference between Done and Shippable?
4. Why test with a business role test user rather than a superuser?