39
Better Plan your TYPO3 Projects with Agile Estimating Violeng Mam [email protected]

T3 conasia agile estimating

Embed Size (px)

Citation preview

Page 1: T3 conasia   agile estimating

Better Plan yourTYPO3 Projects with

Agile Estimating

Violeng Mam

[email protected]

Page 2: T3 conasia   agile estimating

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

Page 3: T3 conasia   agile estimating

Agenda

Problems with Estimates

Agile Estimating

Relative Estimates

Velocity

Our Experience with AE

Summary

Page 4: T3 conasia   agile estimating

How many balls?

Page 5: T3 conasia   agile estimating

Estimate Vs Guess

Page 6: T3 conasia   agile estimating

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

Page 7: T3 conasia   agile estimating

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

Page 8: T3 conasia   agile estimating

Activity: Country Sizes

South-East Asia

Source: wolframalpha.com

Page 9: T3 conasia   agile estimating

Activity: Country Sizes

Cambodia

Source: wolframalpha.com

Page 10: T3 conasia   agile estimating

Activity: Country Sizes

CambodiaLaos

Source: wolframalpha.com

Page 11: T3 conasia   agile estimating

Activity: Country Sizes

CambodiaLaosThailand

Source: wolframalpha.com

Page 12: T3 conasia   agile estimating

Activity: Country Sizes

CambodiaLaosThailandVietnam

Source: wolframalpha.com

Page 13: T3 conasia   agile estimating

Activity: Country Sizes

CambodiaLaosThailandVietnamMyanmar

Source: wolframalpha.com

Page 14: T3 conasia   agile estimating

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

Page 15: T3 conasia   agile estimating

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

Page 16: T3 conasia   agile estimating

Activity: Country Sizes

Cambodia: 1 country pt.Laos: ?Thailand: ?Vietnam: ?Myanmar: ?

Source: wolframalpha.com

Page 17: T3 conasia   agile estimating

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.

Page 18: T3 conasia   agile estimating

Activity: Country Sizes

It is easier to compare in country points than in actual sizes.

→ Relative Estimations

Page 19: T3 conasia   agile estimating

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

Page 20: T3 conasia   agile estimating

Relative Estimations

Page 21: T3 conasia   agile estimating

Relative Estimations

Page 22: T3 conasia   agile estimating

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

Page 23: T3 conasia   agile estimating

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

Page 24: T3 conasia   agile estimating

Velocity

Page 25: T3 conasia   agile estimating

Example Project

Image Contest

● Users can upload images

● Users can view uploaded images and rate

● The Winners are displayed and notified

Page 26: T3 conasia   agile estimating

Example Project

GenerateExtension & TCA

Concept, Data Model Picture Gallery

HighscoreImageUpload

Picture Detail(Lightbox)

Vote & CommentFunctionality

Load more whenscrolling down

Send EmailFunctionality

Page 27: T3 conasia   agile estimating

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

Page 28: T3 conasia   agile estimating

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

Page 29: T3 conasia   agile estimating

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

Page 30: T3 conasia   agile estimating

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

Page 31: T3 conasia   agile estimating

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.

Page 32: T3 conasia   agile estimating

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)

Page 33: T3 conasia   agile estimating

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

Page 34: T3 conasia   agile estimating

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 -)

Page 35: T3 conasia   agile estimating

Summary

Estimating is a continuous process as we understand more

about how we perform

→ agile = flexible, well coordinated, quick to move

Page 36: T3 conasia   agile estimating

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

Page 37: T3 conasia   agile estimating

Further Reading

Agile Estimating and Planning

by Mike Cohn

Page 38: T3 conasia   agile estimating

Q & A