The prior column went through quite a bit of detail on how MySQL managed through a major crisis when Oracle acquired the InnoDB storage engine. This was one of the most fundamentally existential moments I’ve faced in my career. With 20-20 hindsight, you could argue it was a somewhat self-inflicted problem, or at least a know risk. So yes, I think everyone involved would have gla
But even in cases where the stakes are not quite so severe, it is worth underscoring certain ideas to guide you through the situation.
Whether you’re facing a layoff, a monumental security breach or have discovered some terrible transgression by an executive, you must first of all recognize the gravity of the situation. This is not the take to take a “wait and see” approach. And remember your employees and perhaps your customers are watching and judging.
Let’s review the lessons…
Communicate
Often during a crisis, the first reaction is to hunker down by yourself and find a solution before you communicate. The more devastating the problem, the less likely you’ll want to share bad news without a solution. Being proactive in your communications will provide a measure of reassurance for employees to know that the leadership team is taking action.
Communicate to your employees, your customers, your partners, your investors. People need to hear from you, whether you're the CEO, an executive, or a manager. Reach out one-on-one with key people, not just your direct reports.
Don’t play the blame game
It would have been easy to blame the board or others for not trying to acquire Innobase sooner. I think Marten still carries some residual guilt about this. But no one ever thought to point fingers. Instead we were focused on solving the problem.
Given what I know about Heikki, I don’t think an earlier or more aggressive offer from MySQL would have changed the outcome. We weren’t going to outbid Oracle.
Focus
To paraphrase Samuel Johnson, nothing focuses the mind like an execution at dawn. During the InnoDB crisis, we had only three priorities:
Take care of customers
Renew the Innobase contract
Develop an alternative transactional storage engine
If we didn’t take care of those three items, nothing else mattered. So that commanded all our attention. We allocated funds and resources to work on those problems, and other things took a back seat. Don’t make the mistake of making everything a top priority. If necessary, lesser issues can be related to a status of benign neglect until the crisis is resolved. Do not dilute your efforts to solve the crisis by dealing with more mundane matters.
Develop Contingency Plans
No one knows how long a crisis will last or what the impact will be. So you must develop a set of contingency plans. What happens if you can no longer sell to Enterprise accounts? What happens if your customers stop renewing?
Sometimes a crisis can go from bad to worse. A scenario that seemed extreme a week ago, might be the new reality. The prudent thing to do is recognize that things may continue to change. Consider what signals will guide your decision making through the crisis. Watch your sales funnel carefully: what deals close, what gets pushed and who goes into production. Look for patterns that help you determine where to concentrate your efforts in marketing, sales, customer success.
If you’re facing any kind of systemic economic slowdown and you’ve got less than 12 months runway, you’re facing an existential crisis. If it’s industry-wide, many VCs will go into triage mode effectively abandoning weaker companies. So don't expect a lot of help and certainly no further investment.
Build a plan and then consider what if things get worse? How bad is it to raise a down round? Well, it’s better than no round!
Figure out if there are one or two use cases or segments where you have repeatability and focus your efforts. It may require experiments on different kinds of bundles, pricing or sales models. Be prepared to do whatever customers need to keep revenue coming in.
Cultivate an environment where everyone is generating ideas, whether for cost reduction, or new ways to innovate and better serve your most valuable customers. Sometimes the most creative thinking comes out of the constraints of a difficult situation.
Make Hard Decisions
We were fortunate at MySQL that when Oracle acquired InnoDB the effect on our sales was not more severe. Our growth slowed and we missed our sales target, but we were still growing and cash-flow positive. We slowed some of our hiring but we didn’t need to layoff employees.
For many software companies, headcount is the biggest expense. So when a crisis hits, if you need to reduce your burn quickly, that is the biggest lever you have. There’s an entire science around how to do a layoff, but generally speaking, it’s best to make a deep cut of at least 15% so you don’t have to do it again in six months. You should be able to get it done within a couple of weeks. If you wait three months to do a layoff, you’re burning more runway that you can never get back.
Do your best to provide some kind of safe landing (severance and recommendation) for any employee whose job you eliminate. Treat people with dignity and respect so that when it is time to rebuild they will want to come back to work for you.
Take Bold Action Sooner Than Later
Waiting does not fix a crisis and delaying may just make things worse. It is better to be prepared for the worst and take dramatic action than to be fatally optimistic. This is a good time to be very clear on the core mission of your business. Don’t worry about the optics of how things look, worry about how things are and take action. Make sure teams are focused on what really matters, the small number of things that are essential to your business, not the "nice to haves."
As tough as it was, working through the InnoDB crisis made MySQL stronger. We knew we had the right strategy and took pride in working all the available options. Having weathered one crisis, we knew we could rally take on other challenges. And as in any startup, there were more surprises along the way.
Despite the challenges the Innobase acquisition had for MySQL, there was a tremendous camaraderie across the entire community. An example of this can be seen in the transcript of a 2007 MySQL conference panel session called Clash of the DB Egos which featured developers of seven different storage engines.