defintion of done and product backlog refinement

29
Product backlog refinement and Definition of Done Paving the way to agility Christian Vos Rood Mitek Software

Upload: christian-vos

Post on 08-May-2015

577 views

Category:

Business


0 download

DESCRIPTION

How to use the Definition of Done and the product backlog refinement in an Agile/Scrum project

TRANSCRIPT

Page 1: Defintion of Done and Product Backlog refinement

Product backlog refinement and Definition of Done

Paving the way to agility

Christian Vos Rood Mitek Software

Page 2: Defintion of Done and Product Backlog refinement

Feedback

Quick Feedback

Page 3: Defintion of Done and Product Backlog refinement

Feedback

Feedback

Inspect

Adapt

Improve

• Quick• Many

times

• Learn• Helps goal

reaching

Page 4: Defintion of Done and Product Backlog refinement

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

Page 5: Defintion of Done and Product Backlog refinement

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.

Page 6: Defintion of Done and Product Backlog refinement

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…..

Page 7: Defintion of Done and Product Backlog refinement

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

Page 8: Defintion of Done and Product Backlog refinement

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 !

Page 9: Defintion of Done and Product Backlog refinement

Definition of Done

undone work

Iteration

Iteration

Iteration

Iteration

undone work undone

workundone work

Release

Unsolved BugsIntegration/Regression TestDeployment packagesDocumentationPerformance issuesetc

Page 10: Defintion of Done and Product Backlog refinement

Definition of Done

undone work

Iteration

Iteration

Iteration

Iteration

Test Iteration

undone work undone

workundone work Release

Release Iteration

Page 11: Defintion of Done and Product Backlog refinement

Definition of Done

undone work

Iteration

Iteration

Iteration

Iteration

Test Iteration

undone work undone

workundone work Release

Release Iteration

Page 12: Defintion of Done and Product Backlog refinement

Definition of Done

undone work

Iteration

Iteration

Iteration

Iteration

Release Iteration

undone work undone

workundone work Release

Release Iteration

Page 13: Defintion of Done and Product Backlog refinement

Definition of Done

Iterations

Work

rem

ain

ing

Actual work remaining

Release burndown chart

Page 14: Defintion of Done and Product Backlog refinement

Definition of Done

Iterations

Work

rem

ain

ing

work remaining

Undone work

Release burndown chart

Page 15: Defintion of Done and Product Backlog refinement

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

Page 16: Defintion of Done and Product Backlog refinement

Definition of Done

Iterations

Work

rem

ain

ing

Release burndown chart

Actual work remaining

Page 17: Defintion of Done and Product Backlog refinement

Why Definition of Done ?

Minimize the delay of risk

• Undone work reveals itself in production !

Page 18: Defintion of Done and Product Backlog refinement

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.

Page 19: Defintion of Done and Product Backlog refinement

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

Page 20: Defintion of Done and Product Backlog refinement

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

Page 21: Defintion of Done and Product Backlog refinement

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

Page 22: Defintion of Done and Product Backlog refinement

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

Page 23: Defintion of Done and Product Backlog refinement

• 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

Page 24: Defintion of Done and Product Backlog refinement

• 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

Page 25: Defintion of Done and 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.

Page 26: Defintion of Done and Product Backlog refinement

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

Page 27: Defintion of Done and Product Backlog refinement

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

Page 28: Defintion of Done and Product Backlog refinement

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

Page 29: Defintion of Done and Product Backlog refinement

Definition of DoneProduct Backlog Refinement

Any Questions ?