t3 conasia agile estimating
TRANSCRIPT
Better Plan yourTYPO3 Projects with
Agile Estimating
Violeng Mam
Violeng Mam
● BA in Computer Sciences
● TYPO3 certified Integrator
● Project Manager and Team
leader Project Managers Team
● Senior Manager at Web Essentials
● 4 years experience working with
international clients
Agenda
Problems with Estimates
Agile Estimating
Relative Estimates
Velocity
Our Experience with AE
Summary
How many balls?
Estimate Vs Guess
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
Problems with Estimations
● It's hard to know exactly how long a task will take
● People are not very good at giving accurate estimates
● Sometimes it takes longer than thought
● Sometimes we find unexpected problems
● People get sick, take holidays...
● Planning by hour or day gives wrong incentive
● Activities are interdependent
Activity: Country Sizes
South-East Asia
Source: wolframalpha.com
Activity: Country Sizes
Cambodia
Source: wolframalpha.com
Activity: Country Sizes
CambodiaLaos
Source: wolframalpha.com
Activity: Country Sizes
CambodiaLaosThailand
Source: wolframalpha.com
Activity: Country Sizes
CambodiaLaosThailandVietnam
Source: wolframalpha.com
Activity: Country Sizes
CambodiaLaosThailandVietnamMyanmar
Source: wolframalpha.com
Activity: Country Sizes
Cambodia: 181,035 km2
Laos: 236,800 km2
Thailand: 513,120 km2
Vietnam: 329,560 km2
Myanmar: 676,578 km2
Source: wolframalpha.com
Activity: Country Sizes
Cambodia: 181,035 km2
Laos: 236,800 km2
Thailand: 513,120 km2
Vietnam: 329,560 km2
Myanmar: 676,578 km2
Germany: 357,022 km2
Switzerland: 41,277 km2
Source: wolframalpha.com
Activity: Country Sizes
Cambodia: 1 country pt.Laos: ?Thailand: ?Vietnam: ?Myanmar: ?
Source: wolframalpha.com
Activity: Country Sizes
Cambodia: 1 country pt.Laos: 1 cpt.Thailand: 3 cpts.Vietnam: 2 cpts.Myanmar: 4 cpts.
Source: wolframalpha.com
Germany: 2 cpts.Switzerland: ¼ 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 define 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
● Velocity can tell us when we will be finished
Velocity
Example Project
Image Contest
● Users can upload images
● Users can view uploaded images and rate
● The Winners are displayed and notified
Example Project
GenerateExtension & TCA
Concept, Data Model Picture Gallery
HighscoreImageUpload
Picture Detail(Lightbox)
Vote & CommentFunctionality
Load more whenscrolling down
Send EmailFunctionality
Velocity
Simplified: All 9 tasks are the same size
Assume: After 1 week, 3 tasks finished
(simplified) Velocity = 3 tasks / 5 days = 0.6 tasks / day
Velocity
When will we finish?
● Remaining: 6 tasks
So we can complete (simplified):
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
GenerateExtension & TCA
½
Techn. Concept, Data Model
1Picture Gallery
View
2
Highscore
1ImageUpload
2
Picture Detail(Lightbox)
1
Vote & CommentFunctionality
2
Load more whenscrolling down
1Send EmailFunctionality
2
Velocity
Total number of points: 12.5
Assume:
● 3.5 points finished
● 3 days elapsed
(simplified) Velocity = 3.5 points / 3 days = 1.2 points / day
Velocity
When will we finish?
● Remaining: 9 points
So we can complete (simplified):
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 define what means a task is complete
● Verify velocity on a regular basis
● Re-estimate stories if needed (but only if the relative size is wrong –
absolute errors will be corrected by velocity)
Our Experience
0 1 2 3 4 5 5 5 6 7 8 9 10 11 12 13 14 15 16 16 170
20
40
60
80
100
120
140
160
180
Planned and actual completion and scope
Total Planned CapacityTotal ScopeTotal Dev Complete
Iteration
Poi
nts
How to decrease 'time to finish'
● 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 = flexible, 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
Q & A