Modularity gets you to market faster.

How does your software strategy look?

Spaghetti or lasagna? What about your code? According to Conway's law, your business and your code have more in common than you might think. Break bad dependencies.

Build product more effectively

Not Sure About Priorities? Clear Your Big Bottleneck


There is a simple heuristic, which you can use to determine the top priority activity you can engage in-at any given moment. It comes out of the “lean manufacturing” camp. It can apply to a business as a whole, a specific product and its backlog. Your developers typically apply it, when improving software performance. Now you can use it in the context of your product development process.

Your biggest priority at any given moment is clearing your biggest bottleneck. This will give the largest non-linear jump forwards in system productivity, because of the Herbie problem . This includes business productivity (read profit). Cycle time goes down. You reduce “friction” around production.

Once you clear a bottleneck, you create another one (a relatively smaller one) elsewhere. This is the nature of this game. Then clearing that bottleneck will give you the highest possible non-linear improvement in the output of the business as a whole. In that context, if you aren’t releasing your software to production automagically with every check-in, you have bottlenecks to clear. :)

The end game of clearing bottlenecks is simple. You become a “pull-based” organization. You can respond immediately to customer requests, if you want to, if you need to, or if it tickles your fancy. That’s a pretty valuable place to be.


[image cred: hockadilly, brand0con]

Action Items

  • Ask your teammates what they think your biggest bottleneck is right now
  • Identify the smallest possible action you can take in order to clear it
  • Make a plan to start working on it after your next tea or coffee break

What Exactly Are Real Options?

Unsurprising confession: when I was a scrappy young bachelor, I’d hit the clubs with friends. In a nightclub, anything can happen. I’ve started relationships, albeit not very healthy ones. Lots of Schwarzenegger bodies without Schwarzenegger minds emit intimidating body language. Even the roof can collapse (even though it’s unlikely).

By combining vodka and Red Bull, these muscleheads got the best of both worlds. Lots of energy, complete loss of inhibition, and a sense of being invincible came with this highly exotic cocktail. That combination, while it might have been great in a night club, in reality was a pretty dreadful combination elsewhere.

See, just because it may have been a good idea at the time, it doesn’t mean that the next day would have been so pleasant. The hangovers were terrible the following day.

They craved the loss of inhibition. I suspect some of these guys regretted doing things the next day. Saying things. Because they had alcohol, they had an excuse, in case somebody would hold them accountable, including themselves.

I like being in tune with my id as much as the next guy. I just don’t want to feel the need to explain myself to my conscience. The next day. Vodka and Red Bull was the easy way out. No need to think.

Effective planning requires that same level of conscientiousness. Time is precious. If you haven’t thought through what you’re trying to achieve, you are almost guaranteed to be wasting time. At least some.

Making sure that you’re moving towards your objectives, particularly in an uncertain environment, gives you much greater certainty.

Let’s say you want to make a decision among a couple of strategic alternatives. Each one has certain pros and cons. Each has consequences. Each constrains what you can do later. You’re also not sure how your competitors will react to each alternative. As a result, it’s not immediately clear which one would actually be the best choice. Each one has risk. Not choosing an option is also a risky option.
Enter real options analysis.

Real options help analyze the “big issues” for a company and its existence. They have to do with big milestones. In a corporate setting, having strategic clarity means that the whole company will find it much easier to execute. Everyone is “on the same page”. A strategic decision touches everyone. All stakeholders are affected.

This is analogous to the big milestones in a person’s life: birth, coming of age, marriage, death. All major religions and primitive cultures celebrate these milestones for people. They are important to everyone who knows that person. The community acts together.

Given that a corporation is a legal person created to maximize wealth and profits, real options help decide whether to take a specific path and when to do it.

According to Sick and Gamba:

Properly managed options create value and reduce risk for the organizations that own them. They arise because of the interplay of 4 things:
1. Real assets: financial options are generally redundant and hence do not create of destroy shareholder value. Real options cannot be replicated by stakeholders and generally create
2. Risk: volatility and risk-return relationships.
3. Leverage: variable costs and benefits work against either fixed costs and benefits or imperfectly correlated costs and benefits.
4. Flexibility: to manage the risk and leverage by accepting upside risk potential and reducing downside risk.

As a decision-making tool, real options help you “cut to the chase” at any given moment. They estimate a financial value on each strategic choice, without forcing you to spend anything. Based on a few things you know or you can estimate, you can easily calculate an implied financial value for each choice. As a result, if you have a limited amount of resources, you create a metric that makes the choices comparable. You can compare $ to $.

You can also compare that value to the cost of choosing (buying) that option. Because both are denominated in financial terms, it’s easy to compare what you expect to get from making a particular decision, to the cost of choosing it.

Net Profit (Real Option) = E(Value) – E(Price)

At any given moment, you only exercise those options, where you expect to get the greatest net profit. If the value generated by an option exceeds how much it costs you to do what it represents, then you do it. As a result, you make money.

Because you have limited resources, you only choose to buy the real options you can afford at that moment. Naturally, you only choose to buy options that are independent of one another at that moment. You can also sort your options based on the attractiveness of their valuation relative to their cost.

If you choose one option, then a number of related options become worthless. For example, if you choose to become a red raincoat specialist, you won’t be attractive to an army purchaser who want their soldiers to be camouflaged. Ouch.

As the environment changes, you can recalculate the values of each option. Note that the value of an option may increase or decrease because of factors completely beyond your control, such as a disruptive technical innovation. Volatility is an input into calculating the value of a real option, so it’s taken into account as your environment changes.

This is a crucial insight into what real options give you. By nature, people prefer to be wrong than to be uncertain. This human tendency screws up many decisions. It forces decisions which aren’t needed yet. It’s better to keep track of options until either they are worthless, or you are certain that they will generate net profit profit.

non alcoholic vodka

Real options prevent “vodka and red bull” thinking, often arising during tense strategic negotiations, as they help you wait until it’s pretty clear that a particular alternative is the best one possible.

Thanks to real options, anyone in your company can use a bit of spreadsheet magic, based on numbers which other people in their company know, and determine the best possible strategy. All information is embedded into the assumptions which feed data into the formulas. Of course, this information needs to be shared across departments. Like many analytic exercises, calculating strategic real option values helps build bridges across departmental boundaries.

The Magic of Modularity

If you’re thinking of creating a new product, you don’t want to wait a week. Especially in the early days, when you need to make up your mind about what the product is.

The fastest way to speed up testing? Delegate tests and run them in parallel. The financial value of low granularity tests which you can run quickly is immense. You want to benchmark product ideas against each other. You can complete hypothesis tests much faster.

When organizing your own workflow, modularity increases your ability to scale testing. Total elapsed time is much lower. You can do many tasks in parallel and then combined at the end. This includes testing activity.

You iterate out of that initial fuzzy zone, and into working on product that sells based on a clear promise. Your product doesn’t need to be finished. Instead, the product idea must be clear and easy to understand and attractive for your target audience.

For example, for years big banks and trading firms tried to create software for algorithmic trading. Traders used computers to execute simple strategies much faster than a person could. A computer can snatch and resell a product in milliseconds, if it identified a price difference across two markets.


The principle is the same as using an ebay sniper. If you could have computers
1. identify opportunities
2. patiently wait for the appropriate moment,
3. buy and sell at exactly the best time,
the computers would execute transactions on better terms. Computers’ response time was much lower resolution. Electrical impulses sent from eye, to brain, to finger took ages, relatively speaking. That speed made a big difference.

A few years ago, banks started moving away from big cloud arrays of central processing units (CPUs) with standard code. Instead, they started using hardware from high performance computing. Graphics hardware known to gamers, like Graphics Processing Units (GPUs) found new purpose.

The main difference between CPUs and GPUs? GPUs enforced the use of modularity and parallelism at an low level. Data would passed in. The whole chip could be used simultaneously to process data. There were no serial bottlenecks, which often arose because CPUs were general purpose.

The difference in performance was staggering. JP Morgan claimed that they had reduced the time required for overnight risk calculations down to one minute. With the same level of accuracy. While creating the FGPA arrays requires more effort up front, the benefit is clear.

Competitively, JP Morgan had much better information to act on. Calculations happen on an interval of one minute. Everyone else just “whips their horses” harder. At the same time their competitors only reconcile their overall risk once a day.

Low-level hardware modularity meant that JPM executed the same instructions much faster. It created the right environment. Geeks run hundreds of similar calculations in parallel, and then combining the results as one final step.

Academics have replicated these results in studies. Compared to using a standard CPU, the performance difference for simple arithmetic was 147x faster on modular hardware. It just happens the arithmetic calculates the price of a financial option. You pass in standardized data. Any part of the chip can run the calculation. Nothing changes as it all runs. At the end, the results are all summed up. Only then, the data in updated.

Imagine being able to do the same for your business or startup.

You have a bunch of ideas, but don’t know where to start. If you can figure out how to sort out the best ones quickly and test many ideas in parallel, you can get clarity very, very, very fast.

You can use same approach for individual benefits or even features. Hey, drill down as much as you want. The same logic applies. As the Beastie Boys say, “If ya got the skills, you pay the bills.” Easy.

If you want to find out more about how to do this, take a look at Clear Strategy Now