|
Planning by ROI. Hmmm. Isn’t that impractical? In an econometric way, yes. But you can still estimate the relative value of the capabilities / stories you’re planning for your scrum sprints. The point is - don’t look only at value - also look at costs. While “ROI” may be a poor choice of terms, “bang [...]
Planning by ROI. Hmmm. Isn’t that impractical? In an econometric way, yes. But you can still estimate the relative value of the capabilities / stories you’re planning for your scrum sprints. The point is - don’t look only at value - also look at costs. While “ROI” may be a poor choice of terms, “bang for the buck” is not.
Mea CulpaIn the previous article, Plan Your Next Spring By ROI: Part 1, I made a bad choice of sloppily using ROI (about a dozen times) to describe “bang for the buck.”
[Editor: Note - the author has also messed up again, this time by burying the lead at the end of the article.] Giants. And Their Shoulders.I had a great conversation over the weekend with Luke Hohmann, founder and CEO of Enthiosys, and realized my mistake. Consider the titles of three (excellent) articles Luke wrote earlier this summer:
Not to mention giving a presentation at Agile’08. You’d think I would have noticed, and been more careful in my use of language. Sorry about that. Luke, in his first article, provides several arguments against econometric assessment of ROI, and I agree with all of his points. In his second article, Luke goes into details about defining attributes for reflecting the goals of internal stakeholders, external stakeholders (buyers and users), and the system. I promised to do the same in this article, but frankly, why reinvent the wheel? Our differences from Luke’s article would at best be nuanced, so the best use of your time (and mine) is to just go read his second article.
Including Costs in Sprint PlanningThere are two dimensions by which to keep costs in mind when planning a sprint. The first is in determining how much work to schedule for any given sprint. When you use timeboxing to plan a sprint, you’re saying “we have the capacity to do X work per sprint” and “we should only schedule X work per sprint.” Your plans are based on estimates, so you need to have a feedback mechanism to make sure you’re doing a better job in planning each sprint than you did with the previous sprint. Burndown graphs are a great way to do this. The burndown provides feedback within the sprint too, not just at the end. Mike Cohn, of Mountain Goat Software, gave a great presentation on how to estimate costs for an agile project. Without giving it away, he proposed (starting on slide 14) using planing poker to get quick estimates of user stories [more details] at the product backlog level. Then, more detailed estimates are created for the tasks within the sprint. If your team uses use cases, you can choose to use use case points as a low-overhead estimation method (but not nearly as low as planning poker) to determine the initial estimates of costs. A Planning ExampleYou have the following set of items being evaluated in your product backlog. Note that there are a mixture of strategic, user-centric, and code-refactoring items under consideration.
Using the value-estimation and cost estimation techniques outlined by Luke and Mike you determine the following value and cost estimates for each “story.”
If you were to ignore the cost estimates you would do the data abstraction refactoring and customer-centric UI stories first, followed by the profile editing, action-notification, and other tasks in order of descending value. As it turns out, that is not the way to maximize value over time. At first glance, the profile editing story looks like the biggest bang for the buck. Create a scatter plot of value versus cost. You can clearly see the differences in value and differences in cost of the different stories. If, however, you add the element of value/cost - bang for the buck - and prioritize by it, you will schedule stories in a different order. Value / cost is also the slope of a line from the origin of the graph to each story. If you draw those lines, you see the following: To maximize value delivery over time, work across the chart in a clock-wise direction. Profile editing is the first task, but grouping items and data abstraction refactoring are tied for second place. This is different because you’re prioritizing by bang-for-the-buck, not just bang. Collaboration And AgileWhen you consider the agile manifesto
you see that there is an opportunity to take this even further. Have Developers Improve ‘The Plan’I proposed an idea to the development lead on an agile team a couple weeks ago. A couple hours later, he pinged me to let me know he had just applied it and was very excited. A quick whiteboard session (started with a version of the diagrams above), and he was able to immediately make his sprint better. I told him that when I was still slinging code, and later, when working with teams of engaged and talented developers, I often ran into the problem of having a “cool capability” and wanting to get that capability into the current release. I wasn’t pushing for the capability because it was high bang-for-the-buck, or even high-bang - I just thought it was cool. So I would implement it. Bad Scott, no biscuit. What I proposed was that when a developer has a favorite feature, instead of just trying to squeeze it in, the developer should figure out how to make it cost less, until it had the highest bang for the buck. Each initial cost estimate is a planning-poker estimate. By spending cycles on design, a developer can figure out a cheaper way to implement it. And that moves the story to the left on the chart. Your challenge, visually, if you want to bump reporting up in the planning backlog, looks like the following: You, as a member of the implementation team, have to come up with a design for reporting that is roughly one-third the cost that was originally estimated. Do that, and it gets bumped up in the queue. [And yes, I realize that very few developers get excited about reporting.] The product manager’s job is to make sure you get all the dots in the right place vertically. The implementation team puts the dots in the right place horizontally. Everyone embraces the ability to change the graph. The product manager moves the dots up and down as she learns more about the needs of the market. The implementation team moves them to the left (and sometimes to the right) as they design better solutions. Quoting Luke again - “Our experience is that successful Agile Product Managers have an almost natural, intuitive feel for prioritizing backlog items to drive profitable growth. Fortunately, this natural ability is greatly enhanced when they make the link between the backlog and their ability to drive profit explicit.” This feels intuitive to me. What about you?
Set as favorite
Bookmark
Email this
Hits: 786 Trackback(0)Comments (0)
|






[
[
[
