Post on 05-Dec-2014
description
transcript
Better Plan your Projects with
Agile Estimating
Violeng Mam violeng@web-essentials.asia
Violeng Mam
● BA in Computer Sciences● TYPO3 certif ied Integrator● Project Manager and Team leader
Project Managers Team ● Senior Manager at Web Essentials● 3 years experience working with
international clients
Agenda
● Problems with Estimates● Agile Estimating
● Relative Estimates● Velocity● Our Experience with AE
● Summary
Why plan?
● Keep due dates and budget ● Manage resources ● Build trust with clients ● Reduce risks and last minute surprises ● Create a basis for decision making
→ Control the outcome/future of a project
Activity: Country sizes
Activity: Country sizes
● Switzerland
Activity: Country sizes
● Switzerland● Austria
Activity: Country sizes
● Switzerland● Austria● Czech
Activity: Country sizes
● Switzerland● Austria● Czech● Germany
Activity: Country sizes
● Switzerland● Austria● Czech● Germany● Poland
Activity: Country sizes
● Switzerland 41,277 Km2
● Austria 83,871 Km2
● Czech 78,865 Km2
● Germany 357,114 Km2
● Poland 312,685 Km2
Activity: Country sizes
● Switzerland ½ country pt● Austria?● Czech?● Germany?● Poland?
Activity: Country sizes
● Switzerland ½ country pt.● Austria 1 cpt.● Czech 1 cpt.● Germany 4 cpts.● Poland 4 cpts.
Activity: Country sizes
● It is easier to compare in country points than in actual sizes.
→ Relative Estimations
Relative Estimations
It does not matter what unit we use to measure the size: ● Country Points ● Ideal days ● Bananas...
It is important that the estimates are consistent:
→ Same sizes get same number of points
Relative Estimations
Relative Estimations
Relative Estimations
Building estimates on facts:
If an activity takes longer the chances are high that a similar
activity takes longer, too.
→ Velocity will def ine the time needed
Velocity
● Velocity is the number of 'country points' or 'ideal days' we can do in a set time (e.g. a week)
● Things like interruptions, meetings, infrastructure failures will
● lower our velocity
● As long as our estimate of a task is consistent with our
● estimate for the other tasks, we can use velocity to tell us
● when we will be f inished
Example Project
Image Contest ● Users can upload images ● Users can view uploaded images and rate ● The Winners are displayed and notif ied
Example Project
Velocity
Simplif ied: All 9 tasks are the same size
Assume: After 1 week, 3 tasks f inished
(simplif ied) Velocity = 3 tasks / 5 days = 0.6 tasks / day
Velocity
When will we f inish?
Remaining: 6 tasks
So we can complete (simplif ied):
6 tasks / 0.6 tasks/day = 9 days*
*if we continue with the same velocity, but:
Velocity will get more reliable if tracked over longer period
Example Project
Velocity
Total number of points: 12.5
Assume: ● 3.5 points f inished ● 3 days elapsed
(simplif ied) Velocity = 3.5 points / 3 days = 1.2 points / day
Velocity
When will we f inish? ● Remaining: 9 points
So we can complete (simplif ied):
9 points / 1.2 points/day = 7.5 days 8 days →
Proposition: It is better to track the points we can
complete/week than the remaining days.
Increase accuracy
● Involve the whole team in estimating ● Use non-linear sequences for points such as e.g. Fibonacci:
0, (½), 1, 1, 2, 3, 5, 8, 13, 21, …
● Man-days instead of elapsed time for velocity calculation
● Clearly def ine what means a task is complete
● Verify velocity on a regular basis
Our Experience
Planned and actual completion and scope
How to decrease 'time to f inish'
Monitor effects on velocity regularly and make necessary changes:
● Less interruptions and less multi-tasking (velocity +)
● Give team members more time on project (man days +)
● Add skilled developer to the team (velocity +, man days +)
● Reduce scope of features or project (points -)
Summary
Estimating is a continuous process as we understand more
about how we perform
→ agile = f lexible, well coordinated, quick to move
Summary
Agile Estimating will make your planning more accurate because:
● The whole team is involved
● Estimates of size and duration are separated
● Estimates and plans are based on facts
● Learning and adjusting is fostered
→ Accurate estimates allow for better decision making
Further Reading
Agile Estimating and Planning
by Mike Cohn
Our presentation in TYPO3 Conference 2011 Frankfurt, Germany
http://typo3blogger.de/session-videos-von-der-typo3-conference-2011-t3con11-sind-schon-online/
Questions?
Thank you!violeng@web-essentials.asia