headbanner

Menu:

nigel-1

Quick Notes:

August 8th, 2009:
I've moved to Melbourne, Oz. I've sold my soul to consultancy. I'm still writing code. :-)

Read more...

About Nigel

Nigel is a senior consultant at ThoughtWorks, passionate about pretty much everything, and quite insane.

Previous Posts

- Gandalf, the software architect.

- The right size problem.

- Make millions: Design a better laptop.

- Defeating the wall

- Smelling Bugs

- When you love what you do, its not work.

- Some IE6 users are just irrational.

- Forget browser wars, bring on the OS wars.

- Are you asking yourself the right questions?

- Things every software developer should know.

Archives

- July 2007
- August 2007
- September 2007
- October 2007
- November 2007
- September 2008
- January 2009
- July 2009
- August 2009
- September 2009

My choice of links
worth visiting

Check out

- BookEazy
- Intermission
- Sukshma
- Lipikaar
- Badal's Blog

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]

Hi. You've reached Nigel.in

What you have landed on, possibly inadvertently, is the website of a certain curious character a.k.a Nigel Fernandes

The aim of this page was to serve as a landing point for those of you who want to know a little more about me. The links on the right and left will take you deeper my world, or possibly on to different exciting things.

Its a big web out there and this is just one more street for you to saunter down. I hope you like it.

Close this.

My Photo
Name:
Location: Panjim, Goa, India

Crazy, dancing, programming, Goan.. I'm a computer geek and proud to be one. I program in Java, Ruby and .Net, PHP, Javascript. A lot of my recent work has been about CSS and UI design practices for large scale websites and Agile teams. I still while away hours dreaming up a web startup.

 

Extending Agile Algebra

Saturday, September 5, 2009

Paulo Caroli at Agile Tips wrote an interesting post on Agile Algebra. The formulas are all very interesting.

However I believe in order to be usable on a project a couple of them need to be extended a little bit. Specifically, the calculation of the expected increase in velocity per pair added.

In each of the problem statements Paulo states the expected increase in the velocity for the new pair in the problem itself. The means to arrive at these expected velocities is not clearly discussed.

If current Velocity of the team is V, and current number of developer pairs is N, then current velocity per pair is V/N

i.e Vp = V/N

Let us assume the values of Vx and Nx hold for an iteration Ix. We'd like to calculate the expected Velocity after adding 1 developer pair.

Adding new people always has a less than linear increase in capacity. Communication overhead (see Fred Brooks), ramp up time etc.

To account for this, a good technique to predict velocity for Ix+1 is as below

If C is the co-efficient of (ramp up time,communication overhead etc..)

∆V can be defined as C * Vp

By Paulo's formula : Vx+1 = V + ∆V

i.e. Vx+1 = V + (C * Vp)

i.e. Vx+1 = V + (C * V/N)

I've seen that a good co-efficient C for Ix+1 is 0.6 for small teams (i.e N <= 6 developer pairs) For larger teams it makes sense to stagger the projected velocity across more than one iteration. Vx+1 = V + (Cx+1 * V/N)

Vx+2 = V + (Cx+2 * Vx+1/Nx+1)

where Vx+2 corresponds to the iteration Ix+2

In such cases values Cx+1 as 0.3 and Cx+2 as 0.6 have given good results but I encourage you to work out suitable values for your team.

A lot of other factors such as length of iteration, technical complexity, skill/experience of pair added, etc will affect how you pick your values for C. That's where the skill and experience of the project manager comes into play.

Its interesting to apply these formulas retrospectively to your project and calculate the values of C. While it may not be accurate (planning rarely is), it does give you a yardstick for the future.

Labels: , , ,


Comments:
The ideas of putting numbers on work progression is interesting, and I think you have gotten off to a good start here.

The hard (and also very important) parts about predicting and analysing work progression is the prediction of velocity loss from technical debt. Sure there are formulas that describe this, but they would need to be as simple as the ones in your examples to make the once who really need to know them (that being management) understand them.
 
Post a Comment

Subscribe to Post Comments [Atom]





<< Home