Better Plan Your Project with Agile Estimating

36
PROGRAMA DEFINITIVO VALLADOLID XVI CONGRESO 21 AL 23 DE MAYO DE 2009

description

The presentation was hold during the BarCamp Phnom Penh 2011.

Transcript of Better Plan Your Project with Agile Estimating

Page 1: Better Plan Your Project with Agile Estimating

Better Plan your Projects with

Agile Estimating

Violeng Mam [email protected]

Page 2: Better Plan Your Project with Agile Estimating

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

Page 3: Better Plan Your Project with Agile Estimating

Agenda

● Problems with Estimates● Agile Estimating

● Relative Estimates● Velocity● Our Experience with AE

● Summary

Page 4: Better Plan Your Project with 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 5: Better Plan Your Project with Agile Estimating

Activity: Country sizes

Page 6: Better Plan Your Project with Agile Estimating

Activity: Country sizes

● Switzerland

Page 7: Better Plan Your Project with Agile Estimating

Activity: Country sizes

● Switzerland● Austria

Page 8: Better Plan Your Project with Agile Estimating

Activity: Country sizes

● Switzerland● Austria● Czech

Page 9: Better Plan Your Project with Agile Estimating

Activity: Country sizes

● Switzerland● Austria● Czech● Germany

Page 10: Better Plan Your Project with Agile Estimating

Activity: Country sizes

● Switzerland● Austria● Czech● Germany● Poland

Page 11: Better Plan Your Project with Agile Estimating

Activity: Country sizes

● Switzerland 41,277 Km2

● Austria 83,871 Km2

● Czech 78,865 Km2

● Germany 357,114 Km2

● Poland 312,685 Km2

Page 12: Better Plan Your Project with Agile Estimating

Activity: Country sizes

● Switzerland ½ country pt● Austria?● Czech?● Germany?● Poland?

Page 13: Better Plan Your Project with Agile Estimating

Activity: Country sizes

● Switzerland ½ country pt.● Austria 1 cpt.● Czech 1 cpt.● Germany 4 cpts.● Poland 4 cpts.

Page 14: Better Plan Your Project with Agile Estimating

Activity: Country sizes

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

→ Relative Estimations

Page 15: Better Plan Your Project with 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 16: Better Plan Your Project with Agile Estimating

Relative Estimations

Page 17: Better Plan Your Project with Agile Estimating

Relative Estimations

Page 18: Better Plan Your Project with 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 def ine the time needed

Page 19: Better Plan Your Project with 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

● 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

Page 20: Better Plan Your Project with Agile Estimating

Example Project

Image Contest ● Users can upload images ● Users can view uploaded images and rate ● The Winners are displayed and notif ied

Page 21: Better Plan Your Project with Agile Estimating

Example Project

Page 22: Better Plan Your Project with Agile Estimating

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

Page 23: Better Plan Your Project with Agile Estimating

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

Page 24: Better Plan Your Project with Agile Estimating

Example Project

Page 25: Better Plan Your Project with Agile Estimating

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

Page 26: Better Plan Your Project with Agile Estimating

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.

Page 27: Better Plan Your Project with 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 def ine what means a task is complete

● Verify velocity on a regular basis

Page 28: Better Plan Your Project with Agile Estimating

Our Experience

Planned and actual completion and scope

Page 29: Better Plan Your Project with Agile Estimating

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

Page 30: Better Plan Your Project with Agile Estimating

Summary

Estimating is a continuous process as we understand more

about how we perform

→ agile = f lexible, well coordinated, quick to move

Page 31: Better Plan Your Project with 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 32: Better Plan Your Project with Agile Estimating

Further Reading

Agile Estimating and Planning

by Mike Cohn

Page 33: Better Plan Your Project with Agile Estimating

Our presentation in TYPO3 Conference 2011 Frankfurt, Germany

http://typo3blogger.de/session-videos-von-der-typo3-conference-2011-t3con11-sind-schon-online/

Page 34: Better Plan Your Project with Agile Estimating

Questions?

Page 35: Better Plan Your Project with Agile Estimating

Thank [email protected]