Agile, Estimation and Projects - cs.bham.ac.uk · Scrum Master Course ... • Plan the first...
Transcript of Agile, Estimation and Projects - cs.bham.ac.uk · Scrum Master Course ... • Plan the first...
10/4/11
1
© Zühlke 2011
Daryn Holmes, Karen Paludan, Keith Braithwaite
Agile, Estimation and Projects Where do budgets come from?
28. June 2011 Slide 1
© Zühlke 2011
Economic Activity
Building software for a living is primarily an economic activity
• Only secondarily (at best) technical
• Sorry.
28. June 2011 Scrum Master Course | Daryn Holmes, Karen Paludan, Keith Braithwaite Slide 2
10/4/11
2
© Zühlke 2011
Daryn Holmes, Karen Paludan, Keith Braithwaite
Getting Started
How Agile Projects Begin
28. June 2011 Slide 3
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
Projects
According to the PMBOK, a project is:
• A temporary endeavor undertaken to create a unique product, service or result
• “Temporary” – A starting point – An ending point
• “Create a…” – A definite goal for the project
In practice, projects also have a business case and a budget
28. June 2011 Slide 4
10/4/11
3
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
Agile Projects in Theory
• The Product Owner defines an initial Product Backlog, a release plan, funding, etc.
• The Team along with the Scrum Master, and the Product Owner decide an iteration length (and stick to it)
• Plan the first iteration: define the Sprint Backlog, the Sprint Goal, the tasks
• Start!
28. June 2011 Slide 5
© Zühlke 2011
No Chance!
Outside of a Lean startup or similar that will never fly
• Agile/Scrum/etc has a good story for the steady state
• Not so much for getting a project started
28. June 2011 Scrum Master Course | Daryn Holmes, Karen Paludan Slide 6
10/4/11
4
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
In Reality
• Inception phase – Project goal – Initial estimates
– Duration – Staff – Money
– Initial product backlog
28. June 2011 Slide 7
© Zühlke 2011
Budgeting: The Traditional Approach
1. Requirements Document
2. Work Breakdown Structure
3. Bottom-up estimation
4. Roll-up to project estimate
5. “contingency”
28. June 2011 Scrum Master Course | Daryn Holmes, Karen Paludan Slide 8
10/4/11
5
© Zühlke 2011
Work Breakdown Structure
Most WBS for software development are invalid
• 100% principle – Each parent node must be exactly 100% satisfied iff all its children are satisfied
• Mutually exclusive items – Zero overlap between work items
• Outcomes not actions – WBS items should not describe activities
Very rare to be able to do this with software projects
28. June 2011 Scrum Master Course | Daryn Holmes, Karen Paludan Slide 9
© Zühlke 2011
Cone of Uncertainty
28. June 2011 Scrum Master Course | Daryn Holmes, Karen Paludan Slide 10
Initial estimate of 1 year:
• Actual between 3 months and 4 years
• Best case
From McConnel Software Estimation
10/4/11
6
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
Planning Fallacy
In cognitive science, planning fallacy is the tendency for people and organizations to underestimate how long they will need to complete a task, even when they have past experience of similar tasks over-running
Kahneman, Daniel; Tversky, Amos (1979). Intuitive prediction: biases and corrective procedures
28. June 2011 Slide 11
© Zühlke 2011
Daryn Holmes, Karen Paludan, Keith Braithwaite
Agile Estimation
How Zuhlke prices projects
28. June 2011 Slide 12
10/4/11
7
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
Agile Estimation
The primary purpose of software estimation is not to predict a project’s outcome; it is to determine whether a project’s targets are realistic enough to allow the project to be controlled to meet them
McConnell, Software Estimation
28. June 2011 Slide 13
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
Estimation and Commitment
Negotiate commitments not estimates
• An estimate is not a prediction
• An estimate is a guide
• An estimate reflects uncertainty
28. June 2011 Slide 14
10/4/11
8
© Zühlke 2011
Estimating an Agile Project
No BRD, no Technical Specification, but…
A vision for the project, and “epics”
28. June 2011 Scrum Master Course | Daryn Holmes, Karen Paludan Slide 15
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
User Story Mapping
By arranging activity and task-centric story cards spatially, we can tell bigger stories
Tell a big story (epic) by starting with the activities the product will be used for
Arrange activities left to right in the order you’d explain them to someone when asked the question: “What do people do with this system?”
16
time
28. June 2011 Slide 16
10/4/11
9
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
Add Task-Centric Stories to Refine Activities
Add task-centric stories in under each activity in chronological order left to right.
If you were to explain to someone what a person typically does in this activity, arrange tasks in the order you’d tell the story
time
28. June 2011 Slide 17
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
Capture Parallelism and Alternatives
Overlap user tasks vertically if a user may do one of several tasks at approximately the same time.
If in telling the story I say the systems’ user typically “does this or this or this, and then does that,” “or’s” signal a stacking vertically, “and then’s” signal stepping horizontally.
time
28. June 2011 Slide 18
10/4/11
10
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
Reading the Story Map
The map of stories shows both story decomposition and a typical flow of use across the entire system
Simply reading the activities, or large stories, across the top of the system helps us understand end-to-end use of the system
time
Below each activity, or large story are the child stories that make it up
28. June 2011 Slide 19
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
time
nece
ssity
The backbone
The walking skeleton
Two important anatomical features
• The backbone of the application is the abstract list of essential activities the application supports
• The walking skeleton is the actual software we build that supports the least number of necessary tasks across the full span of functionality
28. June 2011 Slide 20
10/4/11
11
© Zühlke 2011
Scrum Master Course | Daryn Holmes, Karen Paludan
Broadband Delphi
28. June 2011 Slide 21
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
Top Down Estimation
Use Delphi to estimate the epics
• “determine whether a project’s targets are realistic enough”
ROI should exceed the planned investment by orders of magnitude
• Projects which require very accurate estimates to be viable are not viable
28. June 2011 Slide 22
10/4/11
12
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
Ranges
Estimate as a rage:
• Minimum, expected, maximum
• Arbitrage precision for accuracy
28. June 2011 Slide 23
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
Story Map to Plan
time
nece
ssity
mandatory
more necessary
less necessary
First Release
28. June 2011 Slide 24
10/4/11
13
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
Story Map to Plan
time
nece
ssity
mandatory
more necessary
less necessary
First Sprint Second Sprint
28. June 2011 Slide 25
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
Release Cycle
Sprint 1 Sprint n Sprint 2 ... Sprint m ... ...
Release 1 Release 2 ...
• Each sprint should be releasable
• ..but cost of deployment may be too high
- User training, shipping cost, sys-admin time, etc
• Keep to release dates as far as possible
- Teams work better with fixed iteration lengths
- Adjust iteration content rather than move dates 28. June 2011 Slide 26
10/4/11
14
© Zühlke 2011 Scrum Master Course | Daryn Holmes, Karen Paludan
Revise Estimates and Projections
Product
Release
Sprint
Story
Increasing frequency of feedback
(years)
(months)
(weeks)
(days)
Test (hours)
28. June 2011 Slide 27
© Zühlke 2011
Essay
“What techniques exist for estimating the cost and duration of software development projects and what evidence is there for their effectiveness in helping project deliver on-budget and on-time?”
28. June 2011 Scrum Master Course | Daryn Holmes, Karen Paludan, Keith Braithwaite Slide 28