Business Value
Business Value is one of those terms that’s used often but rarely defined or explained.
I use “Business Value” like “Story Points”: a unit-less, relative, leading indicator of the value that will be generated when we’ve delivered the piece of the system that we’re estimating. When we’ve got this nice one-dimensional Business Value and Cost, we can quickly create a plan in two steps:
- Maximise delivered value by prioritising by Value/Cost
- Adjust the ordering to take various constraints into account: dependencies, promises that need to be honoured, risks that must be explored… This re-ordering necessarily decreases the amount of value that’s delivered, so we try to avoid dependencies, premature promises and unexplored risks that will force us to reduce value.
Estimating Business Value
But how does one estimate this mythical “Business Value”? There are a number of techniques I’ve used successfully:
- Sort the items by value, from low to high. Don’t allow items to be given the same value, otherwise everything will end up with a high value (otherwise known as “MoSCoW Hell”). Start with the lowest value items and give them a base value, ‘100’ for example. Give all higher-valued items a relative estimate. This is exactly the same technique we use in the XP Game to teach how to estimate cost in Story Points.
- All new items are estimated relatively to previously implemented items.
- Build a set of representative items to estimate relatively against.
- Don’t make your items too small. I intentionally speak of ‘items’ here, not User Stories. It’s often easier to estimate the value of a larger chunk of functionality like a Minimal Marketable Feature (MMF). When you split the item in smaller parts, divide the Business Value among them or keep the Business Value at the higher level item so that you only earn the Business Value when you implement the whole item.
- Don’t take Business Value too seriously, it’s just a prioritisation tool.
So, we work with Business Value like with Story Points. On some projects we display this in a “burn down/up chart”. Cost burns down, while value goes up. I find this useful to break people’s (well, mostly managers’) instinctive idea that value is just the inverse of cost. Value and Cost are independent variables! It’s not because we spent 50% of the effort that we delivered 50% of the value.
The big difference between Business Value and Story Points is that I haven’t come across any company that calculated its “Business Velocity”. Velocity is measured to tie the unitless Story Points back to something tangible like man days. Velocity calibrates our story points estimates and improves its accuracy as a leading indicator of cost. Business Velocity is the same concept: if we delivered something “worth” 1000 Business Value points, how much did we actually get in something we value, like money? I have hopes that one team will actually calibrate their Business Value as that’s the business they’re in: modeling and calibrating to predict.
Improvement: build a Business Value Model
The simple process described above works well when the situation is relatively clear: one customer, one or a few sources of value that are easily identified (e.g. you sell custom software development). What if the situation is a bit more complicated? What if there are more stakeholders, each with their own definition of value? What if you value more than just money from project sales? Where does that prioritisation come from?
You build a “Business Value Model”. You make a list of all the things you value, which could include:
- Money you get paid in the short term
- Money you could get paid in the future (which is of course less valuable than money in the short term)
- The happiness of your customer
- The happiness in your company
- New information that can be obtained
- More visibility in the market
- Increased reputation, prestige of the customer
- Other sources of income
- ….
You also list the things that you fear, that would decrease the value of what you build:
- Technical risk
- Market risk
- Competition
- ….
Select the parameters that are most important for you. Give each parameter a weight. For a start, each parameter could have the same weight. Now you can evaluate each of your projects (and maybe MMFs) against the Business Value Model to see which ones are most valuable.
The value of the Business Value Model lies not so much in the model itself but in the conversations to create and use the model. These conversations might uncover some “unspeakable” facts. For example, there might be an unspoken hierarchy among customers: those customers who have the CEO’s phone number get higher priority.
Everybody uses a Business Value Model to prioritise. You can choose to make it public or keep it unmentionable. In the companies with a Business Value Model it’s easy to see and explain why the high priority projects are high priority. Everyone knows what value they’re adding.
Playing a few rounds of the Business Value Game is a good intro to start this conversation.
The techniques above help, but estimating Business Value isn’t easy. Getting someone to estimate is like getting blood out of a stone. Doing it at or before every planning meeting takes time. What if we stopped estimating Business Value of projects, MMFs and user stories, yet retained our ability to prioritise and evaluate value delivered?
Stop estimating implementation Business Value
Project have stakeholders. Stakeholders have goals. Now, don’t ask stakeholders “What’s the value of this piece of functionality?” Ask the stakeholders: “What’s the value of achieving that goal?” What’s the value in terms of the parameters of your Business Value Model: how much new income will we generate, how much money will we save, what important information will we have gained, how will this improve our reputation and brand? We can start asking why this stakeholder needs to achieve that goal.
Now we’ve moved the conversation away from implementation issues and are firmly in business-issues land. We can value goals and their sub-goals and start prioritising them early, before we start thinking about implementation. We start the conversation about value before we can even start to talk about cost.
We can derive the required features from the goals. The business value of the features is derived from the value that’s generated when the goal is reached.
Start writing User Stories differently
I’ve found it a lot easier to start with Business Value and to derive User Stories than to create the User Stories and then add Business Value, as the conventional advice goes.
This is Agile (Business) Analysis. Continuously:
- Create a clear vision
- Identify the stakeholders
- Identify their goals
- Determine the value of the goals
- Prioritise the goals according to value
- Determine the capabilities needed to achieve the most important goals and to realise their value
- “Pull” information about the needs to estimate cost, prioritise and plan
- Let the implementers pull information about the needed capabilities
- Track value delivered.
- Improve the process and the model.
To reflect this process we use a different User Story format:
TO <achieve a goal>
AS A <stakeholder>
I NEED <a capability>
Liz Keogh described a similar User Story format in her blog entry about “Feature Injection”. We start with the goal and derive the need from that.
There is one difference: we don’t use “I WANT”, but “I NEED”. When we derive capabilities from goals, we only consider those that are really needed because we use a “pull” perspective, not a “push” perspective.
Hi Pascal,
Thanks for a great post. To get a 10 from me all you’d need to to is to add a short example of using your alternative User Story format đŸ™‚
Cheers,
Dadi.
Hi Pascal
Thanks for this useful post.
I totally agree with you about the benefits of having discussion on Business Value and including technical team in this discussion.
I’m not sure of the real benedit od changing the User Story format, not saying what you propose is wrong, but I don’t see a clear difference between the 2 formats.
During my training course, I always explain that the most efficient action is to define Acceptance Criteria rather than argue on the User Story format … and it seems that you chose the 2nd point ?
Cheers
Alex
Hi Alex,
I don’t “argue” the user story format. With the teams I coach we just use this new form, as it follows naturally from the way we work.
Hi Pascal,
Thanks for the model; I’ll remember it for when a team needs to actually come up with some numbers (so far we’ve managed to avoid this!).
The reason I prefer “want” to “need” is for the same reason that we use “should” instead of “will” in BDD – it allows the goals to be questioned. I’ve been on too many projects where the business insisted that they “need everything”. With “want” we can also look at different options for achieving each goal; perhaps one stakeholder wants to engage users by allowing comments while another wants mini-games on the site.
Chris Matts also talks about the need to protect a differentiator; to provide a buffer so that competitors can’t spoil it as easily by copying our idea with less risk. Even if we have some stories that we “need”, I can see that there would have to be some minimum number of stories that we just “want” in order to create that protection.
It’s good to see someone else using another pull template anyway. Credit for Feature Injection goes to Chris of course.
[…] Van Cauwenberghe has written a great post on estimating business value. I particularly like the idea of calculating business velocity, and showing value earned over cost […]
Hi,
I’m definately in agreement: I blogged about similar ideas a while back:
* http://jupitermoonbeam.blogspot.com/2009/01/measure-for-measure-why-were-doing-it.html
* http://jupitermoonbeam.blogspot.com/2009/01/getting-measure-of-value.html
[…] for a change talks about estimating business value using a forced rank order […]