Does Architecture Matter?
Does a good technology architecture matter for a technology firm? Perhaps the better question is, when does it matter?
The technologies that have developed as a direct result of the IT developments of the 90s and the Web developments of 2000s - scaling out instead of up, commodity hardware, loose coupling, statelessness, noSQL, map-reduce, etc. - have all had a huge impact on what it costs and how long it takes to build, deliver and maintain software and services. But it isn't the elegance of all of these that captures me, or the coolness. It is my 20+ years of experience seeing how it makes a difference.
A good, nimble, modern architecture has three main benefits:
- Cost: Quite simply, these designs, over scale, are cheaper to own and operate.
- Flexibility: Nimble designs make it easier, cheaper and, most importantly, faster, to build and deploy changes in the product. You can iterate faster.
- Stability: Loosely coupled designs respond better to adverse incidents, leading to higher availability. They are also easier to test and change, leading to far fewer incidents due to deployments.
Of course, there are many other ancillary benefits. It is easier to hire top-notch engineers if your technology is built well; investors or acquirers will take a good hard look at how you've built your technology and will be impacted directly in valuation and go/no-go decisions based on what you've done.
And yet, given the great benefits, I have seen many companies with rigid, monolithic, brittle designs and 1870s-style development processes... with $1+BN revenue streams and no serious nimble competitor nipping at their heals.
I call this the "Architecture Paradox". Software architecture matters, impacts everything, and yet sometimes doesn't seem matter at all.
The question, then, is when does it matter? In what circumstances does it make a difference, and when does it, apparently, not.
The answer is it always matters, but it doesn't always matter now. The difference is in the average size of deals in your market.
There are two kinds of companies by sales:
- Fewer large deals - enterprise, sell the elephants
- Many more smaller deals - consumer or SMB, sell the rabbits
In reality, it is more of a continuum, with lots of companies right in the middle of a moderate number of deals of moderate size. But it is the character of the deals that determines when architecture truly matters.
Enterprise
If your market consists of fewer really large deals, you are selling to the enterprise. The primary key to selling to the enterprise is not the feature-functionality of the product, but the ability to deliver the entire ecosystem: professional services, market positioning, engaging with research firms like Gartner, reference enterprise customers, and most importantly of all, knowing how to manage the sales cycle. The barely acceptable product with all of the above almost always will defeat the better product that is not structured to sell into the enterprise.
Further, once the product is in the enterprise, it is in the enterprise. It is extremely hard to remove it for many years:
- It is tightly integrated with proprietary systems
- It has corporate training manuals affiliated with it
- It has corporate processes that depend upon it
- Most importantly, it has reputations staked on it
Once a product is embedded in the enterprise, it is extremely difficult to replace it, no matter how much better your product is, until at least seven and likely ten years after first install.
Additionally, adverse incidents that affect, say, 10% of the customer base are really affecting only 20 large customers. These are elephants; you already have account executives and dedicated account managers to deal with them. Even if some of those 20 customers are extremely unhappy, it is only, at most, 20 mid-level VPs who are complaining, however loudly.
Small
If you sell a lot of small deals, the situation is reversed. You still need to know how to market and sell, and you still need to understand the sales cycle. But there is much more impulse involved, with fewer people and even fewer reputations. Almost anyone can approve a $1,000 per month deal at a company, and anyone at all can accept a $50/month consumer deal. It is also relatively easy to change providers.
- It is barely integrated with any other systems
- It has few, if any training manuals affiliated with it
- If there are corporate processes that depend upon it, they are few and can be changed easily
- The small size means little of someone's reputation is staked upon it; "I tried it, it was good for a year, not what I expected, but it was only $10k. No big deal, let's try something else."
The cost of switching is fairly low, relative to the enterprise. A better product on feature-functionality, stability or even just price can peel off customers.
When adverse incidents affect 10% of the customer base, it may be affecting 100,000 customers. Unlike with 20 CIOs, it is impossible to engage one on one with each of 100,000 customers to convince them to stay. Further, if they take to social media or other fora to vent about the product and switching, many will hear it. 100,000 complaints is a lot of online weight!
So When Does It Matter?
In the small deal space, where voices are magnified and switching costs are fairly low, a competitor with faster innovation speed and iteration, higher stability and lower costs of operating can quickly consume an established player. It is extremely difficult to grow or even maintain market share and revenues+profits without being nimble.
In the enterprise space, where a few voices are worth many millions in revenue, switching costs are extremely high and reputations are tied to deployments, a competitor with faster innovation speed and iteration, higher stability and lower costs of operating can eventually consume an established player, but it will take a very long window of time. The value of the newer competitor has to be dramatically better than the incumbent, with at least equal sales and marketing prowess, and even then it may not be enough.
Eventually, even in enterprise, the nimble competitor will be able to take down the rigid, brittle and monolithic incumbent. But the time to get there may be greater than the window available due to limited cash flow or an investor's patience. As someone (possibly A. Gary Shilling or even John Maynard Keynes) said, "Markets can remain irrational a lot longer than you and I can remain solvent."