Date post: | 02-Nov-2014 |
Category: |
Technology |
Upload: | rob-purdie |
View: | 2,083 times |
Download: | 2 times |
2025 aug 13:30
On the importance of Done
Ezra Gildesgame, Rob Purdie
Who are we?
•Ezra Gildesgame, GVS
•@ezrabg
•Rob Purdie, The Economist online
•@robpurdie
Why are we here?
•To share how three teams at The Economist online, in three locations, all working on the same codebase, make incremental improvements to the site, released every Tuesday
Session outline
•Background / preamble (10 mins)
•What Done means (10 mins)
•Why Done is important; the value of Done (10 mins)
•How we get stuff Done (15 mins)
•Questions (15 mins)
Background / preamble
•We've been doing Scrum for 2 years now
•Started when we decided to move to Drupal
•We are moving to Drupal incrementally and iteratively
Background / preamble
•Incrementally means bit-by-bit, released as soon as bits are Done
•Iteratively means improving each bit as it is implemented
Background / preamble
•We've taken this approach in order to benefit from Drupal sooner
•To maximize benefit-sooner, we always implement /release the increment with the highest business value / ROI next
•This approach has introduced short-term complexity – but it's been worth it
Background / preamble
•The important things to grok here are:
•Small bits
•Business value / ROI
•Done
Background / preamble
•Small bits:
•We deliver increments of working software that can be used by our customers at the end of every timeboxed iteration
Background / preamble
•Benefit / ROI:
•Increments of software are implemented and delivered in order of business value
Background / preamble
•Done:
•Increments of software have value only IF and WHEN they are Done
Background / preamble
•In this session we want to talk about:
•What Done means
•Why Done is important / the value of Done
•How we get stuff Done
What Done means
•There is no concept of partial completion in Scrum
•Work is either 0% complete or 100% complete
•Done means potentially shippable
•Done means usable by the customer
What Done means
•Given this, and given we work in short, timeboxed iterations, we deliver "thin vertical slices" of functionality
•These are (usually) specified as user stories
•User stories have corresponding acceptance criteria
What Done means
•It's important to have a shared definition of Done, especially when working on projects involving multiple teams
What Done means
•For us, a story is Done when it has been:
•Implemented
•Verified
•Validated
What Done means
•Implemented:
•Code developed
•Peer reviewed and refactored
•Tested
•Bug free – all known bugs resolved
•Documented
What Done means
•Verified:
•Human (manual) tests performed; passing
What Done means
•Validated:
•Accepted by the Product Owner; feature can be used as intended
•Feature is ready to be released into the live environment
Why Done is important
•Focusing on Done increases productivity
•Small bits Done and delivered means business value sooner
•Small bits Done results in more feedback sooner
Why Done is important
•Done provides ability to stop even successful projects and still benefit
•There are accounting benefits too!
How we get stuff Done
•We use Bazaar for source control
•We use Launchpad to manage the workflow around branching and merging
•We create "feature branches" for each story
How we get stuff Done
•We use Hudson and EC2 to create "human test instances" for each story
•We have adopted core committer model for merge proposal approvals
How we get stuff Done
Thank you! / Questions
?
http://cph2010.drupal.org/node/add/eval/15068