Posts Tagged ‘agile method’

Agile Methods: Defining Velocity, Planning Poker and Burnup Charts

September 29th, 2010 by damonpoole

Having already discussed unit testing, continuous integration, and user stories (among other terms,) here are my final  Agile methods, defined: Velocity, Estimation using Planning Poker and Burnup Charts.

Agile Method: Velocity

The velocity of a team is simply the number of story points associated with stories that are finished over a given period of time, often 1 to 4 weeks. For instance, if the team completed 8 stories that were each 5 points during a four week period, then their velocity is 40 story points every four weeks. In a stable team, a team that is comprised of the same individuals working full time as part of that team, the velocity is a good measure of the overall throughput of the team.

Knowing your velocity helps with planning. For example, if you know that the velocity of your team is 40 points every four weeks, and you have 200 points worth of stories for a release, then you know it will take that team approximately 20 weeks to complete that release.

Agile Method: Estimation Using Planning Poker

Planning Poker is an estimation technique first described by James Grenning in 2002 in a paper by the same name. When I first heard about Planning Poker, I couldn’t help but chuckle. It seemed a bit silly to mix software development and poker. It wasn’t until I actually used it that I experienced its value. You may have a similar reaction. I would encourage you to invest the couple of hours it will take to do a trial run.  You will be surprised.

One of the biggest benefits of Planning Poker is the sense of team that it creates. The whole team is participating in the estimation. This creates a greater sense of team ownership and team responsibility for each story. Another major benefit of Planning Poker is that you leverage the collective wisdom of the whole team.

Planning Poker reminds everybody that the estimate includes all of the work that needs to be accomplished in order for the story to be considered done. It includes development, testing, documentation, and anything else required for completion. It also acts as a reminder that you are part of a cross functional team, and that nobody on the team gets credit for a job well done until the whole story crosses the finish line.

Agile Method: Burnup Chart

A burnup chart graphs the progress of getting stories done over time. The X axis is time and the Y axis is accumulated story points completed during that time. For instance, if the team finishes a story with 3 points on Tuesday and a story with 5 points on Thursday, the chart for the week, showing Monday through Friday, would display 0 for Monday, 3 for Tuesday and Wednesday and then 5 for Thursday and Friday. By using a longer time frame and drawing a line representing expected velocity, you can see how a team is progressing over time. If the number of story points accumulated is not matching the velocity, you know there is a problem and you can start asking questions such as “why aren’t any stories getting completed?”

Next Steps

You can read more about all of these practices on my blog and you can also browse our resources section. Many of these practices can benefit from modern tooling. Tools which support both Agile and traditional software development environments are the tools which are most likely to provide direct support for these practices, especially in a hybrid development environment. Look for tools that support both traditional concepts as well as Agile SCM, Agile Project Management, and Continuous Integration. There are also many classes available to learn more about Agile, Scrum, etc. If you are interested in taking a deeper look at the benefits of Agile or hybrid tooling or training, browse our web site to learn more, or contact us to start a conversation.