This presentation explains how the proper use of a definition of done can help a team to deliver software that really matches the customer needs in the fastest way possible.
The definition of done is not just a to do list but a tool to deliver software faster with better quality, and spending less money. Moreover it can help to improve the agility of your team.
The essence of this is to make use of feedback given by the customer, tests, processes and all systems involved.
The exact reasons why to use a definition of done is explained and how to implement it in a software development team. It is demonstrated how the planning process will improve and how it will keep the product owner posted on what exactly is delivered this and coming iterations.
8. @voschristian
The real value of a definition of done
Business value is an informal
term that includes all forms of
value that determine the
health and well-being of the
firm in the long run
14. @voschristian
The real value of a definition of done
Nature uses empirical management
successfully for million of years
and what do we do ?
Look deep into nature, and
then you will understand
everything better.
- Albert Einstein -
15. @voschristian
The real value of a definition of done
Not only Feedback
from product owner but also
from:
•System
•Tests
•Process
•Team
16. @voschristian
The real value of a definition of done
We want to get feedback as much
and as quick as possible
The more you inspect and adapt,
the more you improve and learn
by using feedback.
And what do we want to inspect
adapt and improve ?
Well, that is stated on the dod !
17. @voschristian
The real value of a definition of done
Better said :
List of items you want to get feedback
on when working on a user story
18. @voschristian
The real value of a definition of done
All to prevent the famous saying :
IT WORKS ON MY MACHINE !
19. @voschristian
The real value of a definition of done
definition of done is feedback
• Specification Satisfaction
• Specification Robustness
definition of done is securing quality
20. @voschristian
The real value of a definition of done
definition of done
• Faster delivery
• Spending less energy
21. @voschristian
The real value of a definition of done
Progressive insight sometimes
tell that certain lowprio features
are not necessary anymore
The effect of using a complete
DoD, is that the PO is aware
that implemented features are
really working
22. @voschristian
The real value of a definition of done
Transparency :
Almost done is not done at all
• 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, web service not reachable in business
domain, manual has to be written, etc.
• When can we go to production ?
• I am not sure…..
PO and Team in discussion
23. @voschristian
The real value of a definition of done
To avoid miscommunication
between the product owner and
the dev team there must be
a common understanding what is
meant by done software !
24. @voschristian
The real value of a definition of done
Better release planning
•Estimate on iterations
•No need for hardening sprints
???
Iterations where bugs are solved,
tests are done
and deployment is prepared
26. @voschristian
The real value of a definition of done
1 2 3 4
undone
work
undone
work undone
work undone
work
Unsolved Bugs
Integration/Regression Test
Deployment packages
Documentation
Performance issues
Etc…….
Release
27. @voschristian
The real value of a definition of done
1 2 3 4
undone
work
undone
work undone
work
undone
work
ReleaseRelease
Iteration
28. @voschristian
The real value of a definition of done
You are not as good as possible
in something
that you do for the first time
(Taking luck out of the quotation)
29. @voschristian
The real value of a definition of done
1 2 3 4
undone
work
undone
work undone
work
undone
work
Release
Release
Iteration
Release
Iteration
unsolved bugs,
untested work
30. @voschristian
The real value of a definition of done
Using a DoD can improve release
planning because all the work
necessary releasing the software is
done when working on a feature,
within the iteration, no further
work is needed and therefore no
need for extra release iterations.
31. @voschristian
The real value of a definition of done
Definition of Done defines team (agile) competence
When is a team
considered to be agile ?
32. @voschristian
The real value of a definition of done
• Adaptive planning
• Evolutionary development
• Early delivery
• Continuous improvement
• Rapid and flexible response
to change
33. @voschristian
The real value of a definition of done
Agility : Release one or more
features every iteration.
Quality : Number of steps in the
dod applied when releasing
this feature.
Does agility also imply delivering quality ???
34. @voschristian
The real value of a definition of done
The number of steps in the
definition of done is an indicator
of the team’s competence
35. @voschristian
The real value of a definition of done
Competence is essential
to deliver one of more complete
increments of done software
with the best quality possible
every iteration !
36. @voschristian
The real value of a definition of done
Start using Definition of Done
Use two version !
Competence – Can’t
Maturity – Won’t
37. @voschristian
The real value of a definition of done
1. In process definition of done
• Transparency
• Represents the capability of the team
• What to improve
2. Ideal definition of done
• Where to go
38. @voschristian
The real value of a 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
(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
Full Load Test
Exploratory testing done on ST Server
Integration (chain) testing done on UAT Server
Demo-ed and approved by Product Owner
All bugs solved
Deployment Guide up to date
Interface documentation up to date
Use Cases up to date
Release Notes up to date
User Manual up to date
Iteration Test Rapport (up to date)
Technical Design updated (when absolutely necessary)
Product Backlog up to date
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
(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 bugs solved
Deployment Guide up to date
Interface documation up to date
Use Cases up to date
Product Backlog up to date
• Undone work
• Delay of Risk
(manifestation in production)
Ideal In process
39. @voschristian
The real value of a 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
(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
Full Load Test
Exploratory testing done on ST Server
Integration (chain) testing done on UAT Server
Demo-ed and approved by Product Owner
All bugs solved
Deployment Guide up to date
Interface documentation up to date
Use Cases up to date
Release Notes up to date
User Manual up to date
Iteration Test Rapport (up to date)
Technical Design updated (when absolutely necessary)
Product Backlog up to date
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
(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 bugs solved
Deployment Guide up to date
Interface documation up to date
Use Cases up to date
Product Backlog up to date
Ideal In process
Quality
40. @voschristian
The real value of a definition of done
The real value of a Defintion of Done
Remarks, Questions or Endorsements ?
Feedback : @voschristian