defintion of done and product backlog refinement
DESCRIPTION
How to use the Definition of Done and the product backlog refinement in an Agile/Scrum projectTRANSCRIPT
Product backlog refinement and Definition of Done
Paving the way to agility
Christian Vos Rood Mitek Software
Feedback
Quick Feedback
Feedback
Feedback
Inspect
Adapt
Improve
• Quick• Many
times
• Learn• Helps goal
reaching
Feedback & Iterative Development
Empirical managem
ent
Feedback
Inspectadapt
improve
Learning by
review, test
All steps for
shipment
Definition of done
• Quick• Many
times
• Learning• Effective goal
reaching
Why Definition of Done ?
Inspect , Adapt and Improve
• All steps of software life cycle (dev to deployment) get feedback
• Product feedback : Test performance, Demo etc.
• Process feedback : Coding Quality, Peer Review, Deployment etc.
Why Definition of Done ?
Almost done is not done at all
• PO and Dev in discussion
• Is it done ?• Yes, almost• Can we go to production ?• No, not yet• Why not ?• Some bugs, some tests, not sure it works on
prod, Webservice not reachable in business domain, manual has to be written, etc
• When can we go to production ?• I am not sure…..
Why Definition of Done ?
Better release planning
• No need for hardening iterations. Iterations where bugs are solved, tests are done, deployment is prepared
• Estimate / plan on iterations
Release planning
• UserStory5• UserStory1• UserStory3• UserStory3• UserStory2• UserStory4• UserStory5• Total story
points23
Iteration 1
Iteration 2
Iteration 3
Iteration 4
Velocity of 6
Product Backlog
Done and Release !
Definition of Done
undone work
Iteration
Iteration
Iteration
Iteration
undone work undone
workundone work
Release
Unsolved BugsIntegration/Regression TestDeployment packagesDocumentationPerformance issuesetc
Definition of Done
undone work
Iteration
Iteration
Iteration
Iteration
Test Iteration
undone work undone
workundone work Release
Release Iteration
Definition of Done
undone work
Iteration
Iteration
Iteration
Iteration
Test Iteration
undone work undone
workundone work Release
Release Iteration
Definition of Done
undone work
Iteration
Iteration
Iteration
Iteration
Release Iteration
undone work undone
workundone work Release
Release Iteration
Definition of Done
Iterations
Work
rem
ain
ing
Actual work remaining
Release burndown chart
Definition of Done
Iterations
Work
rem
ain
ing
work remaining
Undone work
Release burndown chart
Definition of Done
Iterations
Work
rem
ain
ing
Release burndown chart
Actual work remaining
Delta of ideal Definition of Done and Actual Defintion of Done
Definition of Done
Iterations
Work
rem
ain
ing
Release burndown chart
Actual work remaining
Why Definition of Done ?
Minimize the delay of risk
• Undone work reveals itself in production !
Why Definition of Done ?
Defines the agility/quality/maturity of the team
• A team should be able to complete a (new) feature in one iteration and release it immediatly to production with all steps defined in the DoD necessary to guarantee best quality.
Definition of Done
• Transparant for Product owner
• Represents capability of the team
• What to improve
In Use/ Current
• Where do you want to go
Optimal/Ideal
Two definitons of done :-Competence -> Automation (Can’t)-Maturity - > Won’t
Definition of Done
•Code checked in•Code build green on build server•Coding Quality Check Green(er) (Sonar)•Unit Test build server OK•Unit Test build server OK (Code Coverage 80 %)
•Peer reviewed•(Automated) Deployed on CI Server•One click on Demo Server•(All deployment is including automated database deployment on all mentioned servers)
•(Automated) Integration Test run on CI•(Automated) Acceptance Test run on CI•(Automated) Performance Test run on CI•(Automated) Deployed on ST Server•(Automated) Deployed on UAT Server•Exploratory testing done on ST Server• Integration (chain) testing done on UAT Server
•Demo-ed and approved by Product Owner
•All sprint related bugs solved•Deployment Guide up to date• Interface documentation up to date•Use Cases up to date•RMS up to date•Release Notes up to date•User Manual up to date•SRS updated• Iteration Test Rapport (up to date)•Technical Design updated (when absolutely necessary)
•Product Backlog up to date
Ideal
Two definitons of done
Delay of RiskManifestation in production
•Code checked in•Code build green on build server•Coding Quality Check Green(er) (Sonar)
•Unit Test build server OK•Peer reviewed•(Automated) Deployed on CI Server•(All deployment is including automated database deployment on all mentioned servers)
•(Automated) Integration Test run on CI•(Automated) Acceptance Test run on CI
•(Automated) Deployed on ST Server•Exploratory testing done on ST Server•Demo-ed and approved by Product Owner
•All sprint related bugs solved•Deployment Guide up to date• Interface documation up to date•Use Cases up to date•RMS up to date•Product Backlog up to date
Current
Definition of Done
•Code checked in•Code build green on build server•Coding Quality Check Green(er) (Sonar)•Unit Test build server OK•Unit Test build server OK (Code Coverage 80 %)
•Peer reviewed•(Automated) Deployed on CI Server•One click on Demo Server•(All deployment is including automated database deployment on all mentioned servers)
•(Automated) Integration Test run on CI•(Automated) Acceptance Test run on CI•(Automated) Performance Test run on CI•(Automated) Deployed on ST Server•(Automated) Deployed on UAT Server•Exploratory testing done on ST Server• Integration (chain) testing done on UAT Server
•Demo-ed and approved by Product Owner
•All sprint related bugs solved•Deployment Guide up to date• Interface documentation up to date•Use Cases up to date•RMS up to date•Release Notes up to date•User Manual up to date•SRS updated• Iteration Test Rapport (up to date)•Technical Design updated (when absolutely necessary)
•Product Backlog up to date
Ideal
Two definitons of done
•Code checked in•Code build green on build server•Coding Quality Check Green(er) (Sonar)
•Unit Test build server OK•Peer reviewed•(Automated) Deployed on CI Server•(All deployment is including automated database deployment on all mentioned servers)
•(Automated) Integration Test run on CI•(Automated) Acceptance Test run on CI
•(Automated) Deployed on ST Server•Exploratory testing done on ST Server•Demo-ed and approved by Product Owner
•All sprint related bugs solved•Deployment Guide up to date• Interface documentation up to date•Use Cases up to date•RMS up to date•Product Backlog up to date•User Manual up to date
Current
Quality
Conclusion
Definition of Done helps you with :
• Improving team quality/agility/maturity
• Transparancy to stakeholders• Giving burndown charts sense• Better release planning• Minimizing delay of risk
Definition of Done
• List of whatever needs to be done in order to successfully deliver a working software system
• Features, functionality, technology, issues, emergent items
• Prioritized, estimated• Product Owner responsible for priority• More detail on higher priority items• Anyone can contribute• Posted visible and Maintained
Product Backlog
• Time boxed meeting +- 1,5 hour every week whole team
• Product owner should attend• Split , clarify and estimate work items, user
stories, RFC’s• Share new insights with the team• Re-estimate when necessary• Priority determined by Product Owner• Goal is the have a “ready” Product Backlog for
next planning• Prevent discussions in the planning session• Visualize release planning• (also known as Backlog Refactoring, Backlog
Maintenance, Backlog Grooming)
Product Backlog Refinement
Product Backlog Refinement
Clear-Fine Items1.---2.---3.---4.---
Vague-Coarse Items----------------------------------------------------------------------------------------------------------------------------------
Items that are detailed and small enough to be picked up by development for implementation
Need more details, more discussion,more acceptance criteria, smaller etc.
Product Backlog Refinement
Clear-Fine Items1.--- 2.---3.---4.---5.---6.---7.---8.---9.---10.---11.---12.---13.---
5133252235133
Iteration 1
Iteration 2
Iteration 3
Refinement visualizes the release planning
Release
Product Backlog Refinement
Iteration Planning
1
Iteration Planning
2
Iteration 2 weeks
1 Product Baclog
Refinement
Iteration Review
Product BacklogRefinement
Iteration Retrospectiv
e
BugsUndone itemsIssues
Tasks
Picking items based on capacity
Planning
Userstory – 5Userstory – 1Userstory – 3Userstory – 3Userstory – 2
Planning session 1 :
Determine capacity of teamPick userstories based on “feeling” and velocity in mindTime : 5-10 minutes
Planning session 2 :Define tasks and hoursTime 2 hours
Task – 3 hoursTask – 2 hoursTask – 2 hoursTask – 4 hoursTask – 4 hoursTask – 6 hours
Definition of DoneProduct Backlog Refinement
Any Questions ?