We have 3181 guests and 8 members online

Simple Math

Tuesday, 24 July 2007 03:01

There is a simple equation that is the basis for most of the planning and tracking calculations I use with projects and teams. One permutation of this equation--for calculating Velocity--is well-known to many Agilists. This common permutation can be expressed as: v=e/t or Velocity (v) = Effort (e) / Time (t).

Casual readers beware. As advertised above, this blog entry uses math.

 

Also, I'll be focusing on practical theory, leaving untidy reality as a discussion topic for a later blog entry.

Comparing Velocity to Speed
The velocity equation is most simply explained by comparing it to another better-known equation: s=d/t or Speed (s) = Distance (d) / Time (t).

In the speed equation, Time is a duration such as years, hours or seconds. Meanwhile, in the velocity equation, Time is a duration unit or timebox such as a release, an iteration, a sprint or a task cycle. Distance is a metric or imperial measure, such as miles or kilometers. Effort is a measures of effort for a single individual, such as Effort Days (my preferred unit), Ideal Days, or Story Points. Finally, speed measures the distance traveled in a given time period while Velocity measure effort completed in a given time period. The two equations, like the terms themselves, are nearly synonymous.

The Value Principle Behind Velocity
The equation v=e/t computes required or actual velocity. For example, I can use a project team's historical average velocity (measured in effort days per task cycle) to determine whether they are on target to complete their current project. First, I obtain the project team's historical average velocity using the following equation:

Historical Velocity (v) = Effort Days Completed (e) / Task Cycles Completed (t)
The output of this equation tells me the velocity (effort days completed per task cycle) I can expect from this team, assuming all other factors are equal. Next, using the same equation with different inputs, I can derive the velocity required to complete this in-flight project:
Required Velocity (v) = Effort Days Remaining (e) / Task Cycles Remaining (t)
By comparing the outputs of these two equations, I know whether my project team is:
  1. ahead of schedule (our Historical Velocity is greater than out Required Velocity),
  2. on schedule (Historical Velocity = Required Velocity), or
  3. in need of help (Historical Velocity < Required Velocity).

Comparing these outputs tells me whether we have time to give freebees or whether I need to be negotiating out scope or asking for additional resources.

Beyond Velocity
But this is only the beginning of the fun we can have with v=e/t. By using other permutations of the equation we can get a variety of useful outputs.

We can use t=e/v (Time = Effort / Velocity) to make quick scheduling and resourcing calculations on anything from small feature requests to multi-year projects. You should use an average velocity forecast per resource (such as 3 effort days per task cycle). Also, remember that a task cycle equates exactly to one calendar week. There are many possible inputs for the above equation, and the outputs can be quite powerful and useful. Here is the same equation with more description:

Task Cycles Required (t) = Effort Day Estimate (e) / Average Velocity of Individual or Team (v)

Finally, we can use e=t*v (Effort = Time * Velocity) to calculate individual or team capacity. I use this equation regularly for planning iterations or releases. It tells us how many effort days we can complete in a given time period, such as a release or an iteration. We use this number either internally or with the business to plan the correct amount of work into one of these timeframes. Here is the same equation with more description:

Total Effort Days Available (e) = Number of Task Cycles (t) * Average Velocity of Individual or Team (v) 

Apologies, again, if this blog comes out a little dry. I tried to turn it into a comic strip and nearly broke my hand.

Comments (0)Add Comment


Write comment

You must be logged in to post a comment. Please register if you do not have an account yet.

busy
Last Updated on Wednesday, 25 July 2007 02:25
 

Agile Marketplace - Announcements and Special Offers

Rally Software Extends Agile ALM Platform to Meet the Unique Needs of Global Organizations
Rally Unlimited Edition – Promote Agile practices throughout your organization by providing a complete system-of-record of each product's status, progress and quality across the full idea-to-deployment lifecycle. Sign-up today for your free trial!

iPhone iPad Developers Conference
The iPhone iPad Developers Conference, September 27-29 in San Diego, is the world's premier independent event dedicated to building and marketing apps for Apple's iPhone, iPad and iPod Touch. The format includes 45+ technical classes, workshops and breakout classes.  It will also be the first major developer conference after the release of iPhone OS4.  CMC subscribers can receive a $100 discount off the Full Event Passport and/or gain free admission to the exhibits (first time registrants only - cannot be combined with other offers) by inserting the code MEDIASPONSOR when prompted on the eRegistration page linked from www.iphonedevcon.com

AgilePalooza - Serious Learning in a Fun Atmosphere
AgilePaloozas are community events sponsored by VersionOne and Agile Journal.  These one day conferences provide serious learning in a fun atmosphere.   Two tracks are included: Learning Agility and Advancing Agility. Speakers include internationally recognized agile coaches and trainers. The next seminar will be held August 27th in Dallas, TX – use discount code agilejournal and save $20!
Register Here


CollabNet Subversion Edge Improves Governance, Security, Administration

Quickly configure SVN, Apache, and ViewVC with one certified stack, fronted by a powerful UI.
Try our beta version and let us know what you think!