As a software vendor, we would like our customer to be *really happy* with the solution that we provide them. We hope that our solution will give them an effective way to actualize their visions, a competitive advantage over their competitors, or simply help them getting things done.
In order to do that, first we must try to understand what are the things that are dearest to our customers and what provides the most value for them.
What we do now
For years, we have been capturing features of systems on Story Cards. And yes, Story Cards are a great way to express what our customer want. We also mark on the Story Cards our estimates of implementation effort in Story Points. Initially, Story Points mystifies most people. I believe Kent Beck in his second edition of the XP book replaced Story Points all together. Nevertheless, our customers and us all got a hang of Story Points after a while. Prioritizing these Stories for the release consist of negotiation between the technical and business desires – a balancing act that could take a bit of time. The output is a plan (a list of User Stories ordered in sequence for implementation).
Dude, where is my stuff?
Now the trouble is that, these Stories might not be in the order which provides the most value and competitive advantage to the Customers. The Customers may have to wait patiently for the stuff that matter to them the most. Worst case scenario, the Customer will have to wait until the end of the release cycle to see their most valuable feature implemented.
What if we have a clear and unambiguous way to express how much each User Story means to them. How much business value does each of the feature provide. However, in order to get this data, it requires our Customers to dig deeper into meanings. They must think what does each one of these feature means to them. How much are they willing to give up for it. How well can they fulfill their business objectives with it. How much more value can our Customer serves their own Customers with it. I believe these are important questions as a Customer to answer. Also, more important to us in order to help our Customers get exactly what they want and when they want it the most.
System of Values
In an Intro to Agile training courses that I helped deliver while I was in the U.K., we played a version of the XP Planning Game. In this version we do the following:
- The Customers mark on the Story Cards a description of the feature.
- Developers mark on the cards Story Point estimate of effort (we used numbers from the Fibonacci Sequence).
- In addition, the Customers also marked on the cards a Business Value (range from 100 to 1000). These Business Values are the intrinsic worth of the features to the business.
- The Customer and only the Customer must then prioritize the User Stories considering both Business Values and Size estimates.
- The goal is to maximize Business Values delivered in each iteration.
In this game, some of the tasks are unpredictable in outcome and amount of effort to implement. It adds to the realistic and dynamic nature of software development projects. But regardless of the outcome, the team must focus on delivering Business Values (the only thing that matters at the end of the day) – also very realistic in business!
I am quite intrigued about the idea of putting focus on delivering Business Values to our Customers. I think there are a number of benefits by doing this what I call Value Driven Development.
- I think it helps nurturing our relationships with our customers. It is almost like by say we are going to do our best to provide a solution that gives you the Customer the biggest bang for the your bucks. It exhibits our concerns and care for their needs. This is kind of relationship is particularly important at the senior management level.
- It helps our Customers to reflect on what they are trying to achieve and their importance.
- It can serve as a metric for us to measure how much value did we deliver in the last release or iterations compare to the previous. And how much more do we think we can improve from the previous in the future.
- Early feedback of high value features allows our Customers to make strategic decisions earlier – a competitive advantage.
- Gives our Customer earlier ROI which can be reinvested earlier to provide an even higher overall long range ROI – Theory of Interest.
- It helps us focus on delivering the simplest thing that possibly works.