The most intriguing part of the tech industry is the interplay between Moore’s law and opportunity.
My rule of thumb is the 8-year rule. The rule says the following; market disruptions happen every eight years because the incumbent software stack can’t be adapted to the new hardware.
As some examples…
My current employer took over the world because of the shift to multi-core servers. Apple took over the world courtesy of mobile processors becoming fast enough to run most useful applications. Microsoft and Linux took over the world when Pentium closed the performance gap between x86 processors and RISC systems.
But why 8, because we human beings, don’t understand exponentially growing curves.
For small enough values of x, y=x*x is equivalent to y=2x. The two start to diverge when x = 3 or when y = 8.
So?
Let’s assume big tech titan has 80% of the market in year 0. Then in year 2, the new hardware emerges, but it’s not appreciably faster, except for some small use cases, so instead of selling to 8/10 customers, it’s now selling to 8/12. Then in year 4, it’s 8/14, and then in year six it’s 8/18, and you go from being 80% of the market to less than 50%, and there is probably some other tech-titan growing much faster than you were and you are the has-been tech-titan?
Many books and articles cover this topic.
What does this have to do with anything?
When you consider strategic software architecture, the tricky bit is to navigate across that 8-year transition. And what makes it particularly tricky is that you have to assume that the software you had is going to be your boat-anchor, and simultaneously, your source of funding.
The challenge is that a mature software architecture that’s tuned for one market takes about 8 years. And the reason it takes about 8 years, is that any market takes 8 years to mature. And the reason it takes 8 years, is that it takes 8 years for the hardware to become capable enough to grow the market. And if your software is tuned for one market, it is not tuned for the next one.
How do you solve this?
The short answer is that you have to find the 8-year curve after the current one.
The strategy is the following:
- Grow with the first 8-year cycle
- Preserve market share during the 8-year cycle you missed and figure out what you will do next. Use this time to re-architect your system for the next grow opportunity.
- Grow with the next 8-year cycle.
The tricky bit in my mind is to understand when you are in (2) and to realize that your goal is not to continue to improve what you had but to go build something new that builds on top of the assets you have in place.
Where I have failed in the past is not understanding the importance of (2). That it’s tempting to see some market you missed and try to attack it and repeatedly fail, instead of admitting you blew it and then trying to find the next thing.
So how do you set yourself up for (3)?
You have to think about where the puck is moving to, and then do everything while you are in phase (2) such that it lines up with where you think phase (3) will be.
And that’s the trick, to do the major re-architecting nominally for phase (2), but really for phase (3). And as a strategic software architect, that’s the hardest job, selling the future as an improvement on the present when the entire company is obsessed with a market they already lost, and with a market, they could win at not yet visible.
shraddhasorte says
Love it! You’ve got to get on to medium 🙂