Better Plan Your Project with Agile Estimating

Post on 05-Dec-2014

781 views 0 download

description

The presentation was hold during the BarCamp Phnom Penh 2011.

Transcript of Better Plan Your Project with Agile Estimating

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