Featured Whitepapers
- Apples, Oranges, and Acorns - All Agile Development Tools Are Not the Same
- One's Enough for Agile Application Development Management
- Requirements Management 101 – 4 Basics Everyone Should Know
- Tips on Requirements Traceability – Learn How to Control Change and Improve Quality
- Scaling Continuous Integration to Large and Distributed Teams
|
“If you do not change direction, you may end up where you are heading." - Lao-Tzu Every project measures progress using metrics (or at least should). Agile is no exception and powerful techniques exist within Agile to track and measure your project’s progress. However, Agile goes a step further by regularly using metrics to adapt and improve – the constant goal of how can we be better today. An understanding of how to gather relevant information and interrupt the information becomes essential for Agile continuous improvement. Knowledge Work and Knowledge Workers Agile product development is knowledge work. Jurgen Appelo in his book Management 3.0 – Leading Agile Developers, Developing Agile (Appelo, 2011) targets developers, designers, architects, business analysts, testers, and all other types of Agile product (system-software) creators as knowledge workers. Along the same lines, Mary and Tom Poppendieck, in their book Leading Lean Software Development – Results Are Not The Point (Poppendieck, 2009) , insightfully tell us: “In knowledge work, success comes entirely from people and the system within which they work. Results are not the point. Developing the people and the system so that together they are capable of achieving successful results is the point.” Since Agile product development is knowledge work done by knowledge workers, how does one measure the performance of Agile product development teams? The Measure of a Man (or Woman) For example, when I was a child my mom would have me take off my shoes and stand with my back flat up against the back-side of an open door with my head flat and eyes looking straight ahead, as depicted in Figure 1.0. My mom would use a ruler mark my current height on the doorframe with my initials and the current date. We would then interpret the number obtained where she placed my initials as my height. Height in this case is a metric. We would do this periodically and I could compare one measurement and metric to another and see just how much taller I was getting. This was also done with my siblings and we compared our height to one another. Oh, the simple little things that used to bring us fun and pleasure as a child. I went on to apply this measure and metric with my children and now with my grandchildren. Figure 1.0 – Measure and Metric So what are good measures and metrics to use to evaluate your adoption of Agile product development? How can you measure and compare “how much taller” you’re getting (i.e. your progress)? Let’s start by looking at the value of measuring. The Value of Measuring
What is the Point of the Project? Imagine the following definition of RTF: 1. The desired software is broken down into named features (requirements, stories) which are part of what it means to deliver the desired system. 2. For each named feature, there are one or more automated acceptance tests which, when they work, will show that the feature in question is implemented. 3. The RTF metric shows, at every moment in the project, how many features are passing all their acceptance tests. How many customer-defined features are known, through independently-defined testing, to be working? Now there's a metric I could live with. Peter Hundermark, suggests that Running Automated Tests are one measure: “Within limits, the more running (i.e. passing) automated tests a team has in place is a positive measure of quality. Beyond a certain level, this will cease to be true, but we have not yet met a team that has reached this point. (We hope to!).” In addition Hundermark observes in Work In Progress[2]: “Items (stories) in-progress is a productivity metric. It seeks to help a team track whether they are working collaboratively or not. The idea in an Agile team is for the whole team, as far as is reasonably possible, to collaborate on a single work item until it is ‘done’. This increases the rate of output, quality and cross-learning. It decreases the risk of unfinished items at the end of the Sprint, which results in waste.” “Simply by tracking on a daily basis how many items the team has in-progress will make visible the extent to which they are collaborating. The chart tracks stories in-progress against days. It is agnostic of Sprint boundaries. It should trend towards 1 over time. Any value higher than 2 is cause for action by the Scrum Master.” Performance measurement is an essential tool to help us evaluate and to diagnose where improvements are needed. Using Velocity as a Measure Back in school we learned velocity is a measure of how far something has travelled from the origin plus direction or how fast an object travels by a certain rate. Hence Speed = Distance/Time (v=d/t; where d=distance and t=time).
Agile borrows the term velocity and uses it to measure the rate at which teams consistently deliver business value. When being agile to calculate velocity, simply add up the estimates of the features (user stories) successfully delivered in a Sprint, as depicted in Figure 2.0.
Figure 2.0 – Velocity Chart So, the question is frequently asked, “Can we use Velocity to measure the productivity of a team?” Velocity, based on story points completed per iteration/sprint, is a very team specific metric partly due to the fact it is highly dependent on which developer is doing the work and thus on the developer’s level of domain specific knowledge and technical skill. Additionally, Velocity should not to be used to compare one team’s rate of getting stories done over another team’s rate. Teams may also have a reason to artificially inflate their story point estimation. For example: Are the story points for a specific story an 8 or 13? Because this lies in the judgment of team, if the team feels the pressure to deliver as many story points as possible because they know their performance is measured by how many points they get done, then more than likely the will assign 13 story points. A team’s Velocity from iteration/sprint to iteration/sprint can effectively be used to highlight the trend of a team’s ability over time to deliver stories and the point-in-time commercial or operational value is delivered, but other measures should also be used. Measuring Your Alignment to Agile You use them at three defined intervals – start of an iteration/sprint, end of an iteration/sprint and end of a release of the product – the team answers the following questions (measures) by selecting one of five possible answers (metric). Story Acceptance Criteria
Concurrent Testing
Continuous Integration
Managing Software Debt
Iterative Planning
Learning & Adapting
Possible Answers to Use as Metric
The team can then interpret how they are doing and determine where they need to improve by periodically tracking the data trend. Delivering Business Value Business and customer value can be measured in many different ways, here are just a few:
Based on empirical knowledge, first and foremost your measures and metrics should help verify and validate commercial and operational value delivered to the business and customer. Delivering commercial and operational value early and often is at the heart of Agile product development. As a result this gives the business the best opportunity to beat the competition to market, satisfy the Customer, realize revenue early, and discover insights to continuously improve development processes and the product. Final Thought As you plan, if you do not know where you are it is very difficult to get to where you want to go. As you plan your steps, continuous improvement in self, team, enterprise, process, and product should be part of your plan. Measurements and metrics help us determine where we are and guide us to where we want to go. It is important though to measure the things that matter and refrain from measuring things that don't matter. Deborah Hartman Preuss and Robin Dymond, in their article Appropriate Agile Measurement: Using Metrics and Diagnostics to Deliver Business Value[4], remind us when designing measures and metrics we should consider not only when to use them, but when to stop using them and how can they be gamed. A principle we should all remember. Recommended Reading
Applied Software Measurement: Global Analysis of Productivity and Quality, McGraw-Hill Osborne Media; 3 edition (April 11, 2008), ISBN-13: 978-0071502443
Calculating Earned Business Value for an Agile Project, Dan Rawsthorne, http://www.Agilejournal.com/articles/columns/column-articles/54-calculating-earned-business-value-for-an-Agile-project
Management 3.0 – Leading Agile Developers, Developing Agile Leaders, Jurgen Appelo, ISBN-13: 978-0321712479, Addison-Wesley Professional, 1 edition (January 7, 2011)
[1] http://xprogramming.com/xpmag/jatRtsMetric [2] http://www.scrumsense.com/wp-content/uploads/2009/07/Towards-Agile-Metrics1.pdf [3] Calculating Earned Business Value For An Agile Project, Dan Rawsthorne, http://www.agilejournal.com/articles/columns/column-articles/54-calculating-earned-business-value-for-an-agile-project [4] Agile Measurement: Using Metrics and Diagnostics to Deliver Business Value, http://www.berteigconsulting.com/AppropriateAgileMeasurement.pdf About the Author Russell Pannone is the Founder of We Be Agile and the Agile Lean Phoenix User Group, as well as the Agile-Lean Adoption Lead and Coach at US Airways and Editor-In-Chief of the Agile Journal.
With almost 30 years of system-software development and delivery experience, my focus is on working side-by-side with folks on real projects helping them deliver valuable system-software to production early and often, giving those I collaborate with the best opportunity to beat the competition to market, realize revenue and discover insights that we can use to help us improve. Russell may be contacted at rpannone@webeagile.com Trackback(0)Comments (4)
|
| Last Updated on Tuesday, 22 February 2011 18:05 |
Agile Marketplace - Announcements and Special Offers
The Business Case for ALM Transformation
Are legacy systems holding your company back? Breakthrough these technical constraints with an open and scalable environment that meets your unique business need to transform. There is no reason to be locked into an obsolete platform. The output of a number of recent transitions from legacy systems, this is practical white paper shares lessons learned and illustrates how guidance and enablement can pave the way for change.
Download this Whitepaper






Thank you so much for bringing this to my attention and to the readers of the Agile Journal.
I went to the site and it peaked my interest enough I am thinking about investigating the product in more detail and write about what I think about it and publish it in next months Agile Journal.
Take care,
Russell