T3 conasia agile estimating

Post on 17-May-2015

152 views 0 download

Transcript of T3 conasia agile estimating

Better Plan yourTYPO3 Projects with

Agile Estimating

Violeng Mam

violeng@web-essentials.asia

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

Thank You!

violeng@web-essentials.asia