|
It is apparent that agility works, whatever that may mean. However, many software projects remain artifact-driven and waterfallish. Why is this? The most common excuses are that agility is too developer-centric, that it is too lightweight, and that feedback to business is hard to understand. In particular, many managers in larger companies miss their metrics. In this paper we address this last problem by defining a new metric, Earned Business Value (EBV), that replaces standard Earned Value Analysis (EVA) metrics, and can be calculated in an agile project. Using EBV, teams can gain better understanding of a project's progress and determine when and where to reallocate resources or change course. Earned Value Analysis is a powerful method often used in "standard" project management, and there are three basic metrics in EVA[1]. The first is Budgeted Cost of Work Scheduled (BCWS), which is the baseline cost up to the status date you choose. The second primary metric is Actual Cost of Work Performed (ACWP), which is the actual cost required to complete all or some portion of the tasks, up to the status date. And the third basic metric is the Budgeted Cost of Work Performed (BCWP), which is the value of the work performed by the status date, measured in currency. Earned Value Analysis mostly consists of combining and manipulating these three metrics in various ways. Unfortunately, both BCWP and BCWS are not metrics that exist in agile projects, as they require a detailed, up-front plan to compare against. So, what are we to do? The Goals In other words, the business is are asking for information about the value of the product - how much value is being provided? So we need a metric that measures how "done" we are from a business perspective. We'll call our new metric Earned Business Value (EBV). Features and Stories Feature
Features are implemented in the product by working on stories, and the stories are said to belong to the feature. Stories Stories are important since they are the smallest units of value that are managed. Stories have been described as "promises for conversation" by Ron Jeffries[2], and I agree wholeheartedly. Basically, a story consists of four things:
Stories are of various types, and the following are example stories for a "Update Customer Information" Feature:
Work Breakdown Structure
Each project is different and the actual structure of the WBS (what rollup buckets there are) is a business matter, because the WBS is primarily used as a tool for organizing the work in ways the business can understand. The stories that live at "the bottom" of these buckets define the work being done. A WBS for a fictional development project appears at Figure 1.
Figure 1: Sample WBS Let's use this WBS to calculate business value. Calculating Business Value First, we assign additive weights to the buckets of the WBS, which represent features and other organizations of stories. In the simple view in this article, we only get business value in our sample WBS by either putting features in the code or by doing something that lets the business market or sell the product - there is no business value in other parts of the WBS. I'm using relative weights on the WBS here - each WBS bucket is compared to its siblings - and the following WBS with weights is telling the following story:
It is up to the business, or customer, to assign the weights to the WBS legs and stories - this is not a technical matter. There is no guaranteed formula; there is only the requirement that the weights be additive. For example, is "Team Training" something with business value or not? I don't know, it's up to your project. Typically it doesn't provide value if paid for out of project funds, but might if paid for out of overhead (training) funds. Our WBS (with weights) could look something like Figure 2.
Figure 2: WBS with Benefit Weights After we've assigned weights to the WBS legs and buckets, we further assign additive weights to the Stories within each WBS "bucket." For example, for the Stories we find in the "Update Customer Information" feature we could have the weights as in Table 1.
Table 1: Stories and Their Weights Note that the analysis stories have no weight; they only exist because they provide the development stories that do have business value. Given this assignment of weights, we can now calculate the Business Value (BV) of any WBS bucket, including Stories. The idea is simple and has two parts. First, the value of the whole tree is 100% (or 1), which means that doing all the work gives all the value. This value of 1 is assigned to the top of the tree. Second, as we move down the tree, each bucket's value is the appropriate percentage of its parent's value, as compared to its ‘siblings' - the other children of its parent. This is a multiplicative formula, because it's based on taking percentages of percentages as we move down the tree. The calculation is recursive, and is given by the following formula
Let's do an example, and calculate how much the Main Execution Flow of the "Update Customer Information" feature is worth. According to the last table and the marked up WBS, the feature leg is worth 3/4 of the total value of the project; the "Update Customer Information" feature is worth 10/40 of the feature leg; and the Main Execution Flow is worth 10/20 of the total value of the feature. Therefore, the Business Value of the Main Execution Flow of the "Update Customer Information" feature is (1)x(3/4)x(1/1) x(10/40)x(10/20) ≈ 9.4% of the project. Remember that this is a multiplicative formula, taking percentages of percentages as we move down the tree. If we were to add another feature with a weight of 10 (say "Account Report"), this would drop to 7.5%, as it changes the "(10/40)" piece of the formula to "(10/50)". Earned Business Value
There are two parts to this calculation:
We already know about the first part of the calculation (we use the additive weights), and the second is straightforward. Once we have our story defined, we have validation criteria for it. A story is complete (has earned its BV) once it meets its validation criteria (its tests pass, for example). Summary
[1] See http://office.microsoft.com/en-gb/assistance/HP010342581033.aspx for a discussion of these terms, in the context of Microsoft Project, one of the most popular PM tools on the market. [2] Jeffries, Anderson, and Hendrickson: Extreme Programming Installed, Addison-Wesley, 2001, pg. 29 [3] Project Management Body of Knowledge (PMBOK) - see http://www.hmaster.com/glossary.html. About the Author Dan Rawsthorne is a CST (Certified ScrumMaster Trainer) and a Use Case expert who lives at the "process end" of things at Net Objectives (http://www.netobjectives.com/). His focus is on helping organizations get products "out the door" using agility, and he has been doing so for over 20 years. He has a PhD in mathematics from the University of Illinois, and is currently writing a book on how to be a ProductOwner. He concentrates his training and coaching in Use Cases and Scrum.
Set as favorite
Bookmark
Email this
Hits: 12049 Comments (0)
|
| < Prev | Next > |
|---|






