Lean, Scrum and Flow Product Development

Monthly Archives: March 2015

Is it possible to improve how we make decisions? That’s one of the questions that I ask to myself almost everyday. I’ve attended thousands of meetings without a clear purpose and I’ve witnessed how lots of important decisions have been made without a clear understanding of the current situation, or a clear vision of the problem to solve. Late 2014, I was reading a book called “Commitment” [Olav Maassen Chris Matts 2013] when I firstly came across Real Options theory. It is a decision-making framework feeds from financial options theory and cognitive behavioral theory that allows people to make optimal decisions within their current context. Oh uh! Easy. Isn’t it? An option is defined as the right, but not the obligation, to take an action in the future.

From financial options theory we can extract that our options have value and cost. We will see how to ideally quantify the value of our options. Likewise, NLP and cognitive behavioral theory shed light on the aversion to uncertainty and draw conclusions on why people don’t follow optimal decision processes and thus we make irrational decisions.

Real options theory is a strategic way of thinking [Amram 1999] especially valuable when there is uncertainty due to a lack of information [Ozkaya, Kazman, Klevin 2007] that advocates for deferring your commitments as long as possible. You gain flexibility to change later if you don’t commit to any option. You must wait and wait and wait to transform an option: the right to do something into an obligation. In the meantime, you actively look for either more information about options, or to create alternate options to get a optimal decision.

In agile, we recognize high uncertainty and we provide options almost everywhere. When the customer evaluates the latest release of the product, we are giving him options to address the product based on new learning: we can continue working on improving something already delivered (refine), develop new stuff (explore) or even cancel the product (abandon) if that’s not what the customer is expecting. In the same way, we can see retrospectives like ceremonies in which members assess new options to try to work better. Most agile software development practices also provide options: TDD or BDD offer fast feedback loops to detect coding errors when writing or changing the code.

“ Without test driven development, there would be no refactoring.”

Mocks or stubs also create options to isolate external dependencies. We defer the decision on how to implement certain parts of the system. The YAGNI principle – you ain’t gonna need it has its roots in options theory too. Lean transmits a similar idea through the principle last responsible moment.

Now it’s time to dig into the special characteristics of our options.

Options have value.

We should assess the value of our options in order to help us identify which option is more valuable. In fact, having numbers is better than no having numbers at all. So, we are going to consider our options from 4 different perspectives. This framework considers that our options can contribute to one or more perspectives called buckets.

Increased Revenue

This is the revenue associated with either increasing sales to existing customers or gaining new customers. The source of this revenue is either adding value to existing products with “delighting” features [Kano model] that the current customers are willing to pay for or new products or services. Some questions will help you identify this bucket.

What’s the benefit of this option?

Will this option enable future opportunities? How?

Protected Revenue

This is the revenue received from our existing customers. It aims to maintain the existing market share through continuous improvements. Those changes aren’t valuable enough for existing customers to pay for. Sustaining this revenue requires a more defending strategy.

Reduce Cost

We contribute to this bucket with ideas to be more efficient. These aim at improving our processes and delivering value faster. We must assess the value of the option matching to the cost of the alternatives. An example is automating a process so that we can reduce the cost of 2 employee working full time (FTE).

Avoid Cost

Making actions to prevent costs that are not incurring right now but it might occur in the future unless some action is taken. We should focus our attention on technical risks but we should also consider market, strategic and operational risks [Reinertsen 1991]. We might try to answer to these questions:

Does it reduce a future risk?

How is this option going to affect me?

Is there any potential negative impact if I don’t choose this option? How can avoid it?

Total value of your option is obtained summing up the 4 areas.

Example:

A game software company released a new game called “Killing Br0kers in Destiny” 8 months ago and since then, the game has been very profitable. More than 1 million of daily active users have played however, the trend for last few months indicates a slightly yet continued downward of one percent every week and the company is now considering what to do in order to address the situation. On average, 25% percent of our daily active users spend 5$ on new characters, special weapons, ammunition and equipment every month.

Notice that our mental models and assumptions are described in our assessment. Cause and effect diagrams are valuable tools to shape our assumptions and to describe how we expect the system to behave considering certain conditions as true events. There are two important side effects when using these tools. Visualizing our assumptions let us challenge the assumptions and brings up healthy discussions about them and the second one is the use of (money) as a base unit to measure our all our options.

“In the absent of information about value, of course, the system optimizes for other things. Why should it surprise everyone? @joshuajames

This model is far away from being perfect but it is order of magnitude better than gut feeling.

“All models are wrong but some are useful” George E. P. Box

“One answer is better than no having one at all”

Options expire.

Options are very time sensitive and we must consider when our options expire and they are no longer available. We need to set the last responsible moment either estimating the duration it would take us to carry out the option or using historical data. I like calling this point PNR. Point of no return is considered the point beyond which one must continue on one’s current route because turning back is physically impossible.

So, point of no return is obtained subtracting the duration of an option from the due date.

Never commits early until you know why, and when you know it, do it as quickly as possible.

Conclusions

Don’t treat everything as an option; we should only use real options theory for important decisions. We are suffering from overabundance of choice and it might overwhelm you and produce analysis paralysis.

Agile methodologies and many Agile software development tools and practices provide options to deliver high quality products faster and better.

Options have value: Use four different perspectives to estimate the value of your options.

Options expire: use historical data to determine the last responsible moment.

Those who make decisions ought to learn to be lazy. Wait, wait, and wait until you have more information before making a decision. Then, do it as quickly as possible.

A scientific approach like A3 thinking should dramatically help your decision-making framework and will visualise your options.

Use cause and effect diagrams to forecast how you expect the system is going to behave before releasing your experiments.

Variability will jeopardize your plans, no matter how well you value and forecast them.

Cost optimization is not the same as revenue optimization. Sometimes it is worth investing in more than one option even though this might cost slightly more.