The strategy I used to create Atomic Object, and which we continue to employ, is to try many things, stick with what works, and abandon what doesn’t. Many, perhaps even most, of our experiments are failures. Nassim Taleb, author of The Black Swan, gave me a new perspective on this adaptive approach. He described an experiment as an option. You buy this option (run the experiment) because you can’t know for sure how the experiment will turn out. The price of the option is the cost of failure. The value gained by buying the option is what you learn. If your experiment succeeds, you’ve learned that the business initiative is worthwhile. If it fails, you’ve at least learned it’s not worthwhile, and hopefully you’ve also learned something that will guide you in the future. In either case, the option is valuable.
At first I thought the experiment-as-option view corresponded to a call option in finances. A call option lets you buy a stock at a set price at some point in the future. You buy a call option hoping that the stock price rises and you’re able to buy below the future market price. If the future market price is higher than the strike price of your option, the option is valuable. However, if the stock price sinks below your strike price then the option becomes worthless.
The big difference between financial call options and Taleb’s experiment options is that the financial option only has value in one case. The experiment option is valuable in both cases. If the experiment succeeds then the business value created is by definition greater than the cost of the option. But if it fails, the option was still valuable for what you learned from the experiment. You gain something either way, assuming you learn from your experiments.
An experiment option is actually more like a real option. I first ran into the idea of real options at the Agile Conference in 2007. Real options can create opportunities for growth, or increaseed flexibility. The idea of real options is relevant to software development because when building a new application it’s best to defer decisions to the last responsible moment (increased flexibility). For example, refactoring and TDD let you practice “good enough” design. They are a real option on deferring design decisions until you understand more of the problem you’re trying to solve. The cost of that option is the time you spend writing tests and keeping your code clean and simple.
In the context of business, the experiment option is a real option used for growth. You invest time and money in a partnership, an application prototype, a new service offering, or a tradeshow with the hope that the payoff from these efforts exceeds the cost of their implementation. In effect, these are options that give you the chance of increasing business in the future. If you’re able to learn from the failed experiments then you not only created the opportunity for growth, but you bought yourself knowledge that you presumably couldn’t gain otherwise.