Monday, February 16, 2009

Average velocity from High School Physics and Agile Projects

Two Agile teams start working on Application A, at the same time developing exactly same functionality. Team 1 delivers with a constant velocity…

While searching on the internet about AgileEVP (Agile Earned Value Management) I came across a formula from my high school physics: v=d/t, the Average Velocity formula. I really enjoyed high school math, physics, and its exams: Two trains leave Station A at the same time traveling in the same direction, Train 1 travels with a constant velocity…

Here is the formula that got me started:

High School Physics Average Velocity

The average velocity v of an object moving through a displacement (d) during a time interval (t) is described by the formula: v=d/t

where,
v = Average Velocity
d = displacement
t = time

Exercise 1:

What is the average velocity for a car with a displacement of 120 km in the interval of 3 hours?

V = d/t, where d is 120 km and t is 3 h

Solution:

V = 120 km / 3 h = 40 km/h

Average velocity: 40 km/h (the car average velocity is 40 kilometers per hour)

So I decided to compare high school physics average velocity with team average velocity as an Agile development concept.

Typical Agile projects use iteration fixed in time, so instead of t, team average velocity uses the number of iterations as the time variable.

Displacement in Agile is measured by means of story points completed.

Velocity, in Agile, team velocity, means the number of story points the team completed in the Iteration.

Agile Team Average Velocity

The average velocity v of a team delivering story points (s) during the iterations interval (i) is described by the formula: v=s/i

where,
v = Average Velocity
s = story points completed

i = the number of iterations

Consider sp for Story point unit, it for iteration unit, and sp/it as velocity unit (Story points per iteration)

Exercise 2:

What is the average velocity of a team with a completion of 120 sp in the interval of 3 it?

V = s/i, where s is 120 sp and i is 3 it

Solution:

V= 120 sp / 3 it = 40 sp/it

Average velocity: 40 sp/it (the team average velocity is 40 story points per iteration)

Agile projects extensively rely on the concept of average velocity. Average velocity is very useful for agile team planning activities such as iteration and release planning. For example, my team is about to have an IPM (Iteration Planning Meeting) and we had to decide the number of story points to sign up for the next Iteration. The Average velocity from the last 3 iterations is a good initial value for the team to go about signing up for work for the coming iteration.

To be continued…

15 comments:

Shlomo said...

You have to be careful with average velocity. I've been on projects where people panic because the average velocity makes the project look like it is failing. The problem with average velocity is that there are always outliers, usually from the first few iterations, that skew the average. For example if you have the following velocities for the first 7 iterations (0,5,14,23,26,32,23) your average velocity is 17. But if you remove the outliers (0,5,14) your velocity is 26. Using an average without trimming is IMO a bad idea.

Paulo Caroli said...

I agree with you. I typically use the average Velocity as a basis for the future commitments. But as you said, using the average Velocity without trimming is not a good idea.

Jason said...

This is why people use other statistics for this sort of thing.

Some people like sum of squares/euclidian distance (for your example, 20), or median (23).

Another is a to give more weight to later iterations. All else being equal (All else is never equal), the next iteration should look more like the last several than like the ones before it.

This I think is especially true because people revise their 'unit of work' over time, based on past experience, and, most importantly, expectations. It's very difficult to measure things when people know they're being measured. If you place too much emphasis on the measuring (measuring becomes judging), you get metric dysfunction. I don't think I have to tell you how much worse that situation is than flying blind, but trust me, it is very much worse.

Fred Tingey said...

I too have suffered from a variability in Velocity (commonly at the early and late stages of a project) and certainly find averages useful.
It is possible to alter the 'variability' in velocity by altering the size of your stories, the length of your iterations, the amount of time you work and of course your estimating ability. I posted some simple analysis on this and for example you would need to both double your iteration length and halve your story size to reduce variability by 50%.

Paulo Caroli said...

Hey Fred,
Thanks for the comment.
My next blog post ( the team acceleration concept ) provides a way to measure variability in Velocity. I found agile acceleration useful for forecasting (or at least trying to) the velocity for teams in early stage of a project.
Your entry on ( “Volatility of Velocity” very good. It is interesting to see the statistics formulas applied to the day to day Agile concept such as iteration length and story size.
Cheers,
Paulo

wow gold said...

Weekends to peopleig2tmean that they can have a two-day wowgold4europe good rest. For example, people gameusdcan go out to enjoy themselves or get meinwowgoldtogether with relatives and friends to talk with each storeingameother or watch interesting video tapes with the speebiewhole family.
Everyone spends agamegoldweekends in his ownmmoflyway. Within two days,some people can relax themselves by listening to music, reading novels,or watchingogeworld films. Others perhaps are more active by playing basketball,wimming ormmorpgvipdancing. Different people have different gamesavorrelaxations.
I often spend weekends withoggsalemy family or my friends. Sometimes my parents take me on a visit to their old friends. Sometimesgamersell I go to the library to study or borrow some books tommovirtexgain much knowledge. I also go to see various exhibition to broadenrpg tradermy vision. An excursion to seashore or mountain resorts is my favorite way of spending weekends. Weekends are always enjoyable for me.
igxe swagvaultoforu wowgold-usaignmax wowgoldlivebrogame thsaleGoldRockUbrogameswagvaultgoldsoonoforuigxethsale

Jonsan said...

This is just another reason why I like your website. I like your style of writing you tell your stories without out sending us to 5 other sites to complete the story. Please come visit my site Speech Pathology when you got time.

Jonsan said...

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me. Thanks for all your help and wishing you all the success in your business. Please come visit my site Speech Pathology and give me any valuable feedbacks.

Carmina said...

I noticed that in my daughter's school teachers are using this program to help them in their stuff and I've seen that it is excellent. Viagra Online Generic Viagra Viagra

Thomas said...

My all queries regarding this subject have satisfied by reading your blog and I was looking such intellectual information for long time.
Regards
Viagra Online

Steve said...

Look… here I am I have tried out things in the same manner as you described and guess what!!! I have been successful in taking up the challenge and fulfilling the endeavor finally!!! There cannot be anything better than this.

Caverta | Penegra

manoj singh said...

Average velocity and speed both concepts are used in day to day life physics while driving.
Domain and Range of a Function

Olivia Jennifer said...

agile certifications are a very good way to gauge an individual’s knowledge of what Agile really is and how Agile Principles are implemented across different scenarios. It is very important for an individual to participate in a good training session ahead of any Agile certification e.g. PMI-ACP™ by PMI, Scrum Master Certification (SMC™)by SCRUMstudy, The Agile Project Management (AgilePM®) certification by APMG etc.

Ella Mapple said...

If you want to know the difference between Scrumstudy, Scrum Alliance and Scrum.org – please visit this blog scrum.training.blogspot

Elliot Thomson said...

Hey thank you. very simply explained doubt are cleared.

Regards,

elliot thomas