Why its hard to build great software companies
I went to Progress Software’s industry/financial analyst meeting this week. I have known Progress Software since the 1990s as it migrated from the 4GL database development market to client/server and then to SOA and Software as a Service. Unlike some of its peers in the 4GL space, Progress has managed to change with the times and evolve. What I like about Progress is that it had the ability to move to new generations of software. In addition, Progress had the good fortune of moving early into the OEM business. It has a large base of packaged software vendors that use its OpenEdge application development and database as part of their solutions. This solid business provides a good cash flow to support the business. In fact, OpenEdge represents almost about 60% of the company’s revenue. Since it is a mature product, it provides nice cash flow for the company.
Now, I didn’t intend to write an entire report on Progress and its financial performance, although it would be a fascinating exercise. What I wanted to talk about is the issue of what makes a great software company. I think that Progress is a good software company. They do a lot of things right. What do they do well? Well, here is my list:
1. They have a great OEM base that embeds its technology into packaged software and therefore provides a predictable revenue stream.
2. Progress has used its cash wisely to purchase complementary software companies that already had a good revenue stream in secure markets.
3. The company has a good and predictable process for integrating acquisitions into the company while keeping the revenue stream growing.
4. Progress knows how to sell its newly acquired products to the installed base.
All of this is good. In the end, Progress has established itself as a good software company with predictable revenue that has been growing at a steady pace over the years. Today has revenues of around $540 million with more than $100 million in cash.
But is Progress a great software company? It is interesting to think about what might have been. Progress at this year’s meeting stated that it was going to start providing solutions to its customers. Good idea, in fact this is the trend among many software companies (I have always like solutions more than tools). And Progress has a handful of offerings for the financial industry based primarily on its Complex Event Processing engine (Apama). But here is an interesting observation. Progress has many successful ISV/OEM partners that sell solutions in various markets. During the meeting management mentioned that some of these partners have bought other partners that also leverage Progress’s software (Sonic ESB, appserver, OpenEdge, etc.). Now, I was just thinking, what would have happened if Progress had started buying some vertical solutions software companies that had been built on their technology? Could they have become that elusive $1 billion software company?
So, what do I think makes a great software company rather than a good one? Here are my top five recommendations:
1. Great companies start with a predictable business model and turn the model upside down. They look three years ahead and experiment with innovation. They have to have a combination of intuition, risk, and innovation. These companies are willing to take enough risk to win big but smart enough to know the difference between great opportunities and pipe dreams.
2. Great companies find new areas to position themselves for leadership. This is very tough to pull off. The area has to be important enough for the market to pay attention to but not too big that they look silly. Great companies never try to take a big existing market with established leaders and try to claim primacy.
3. Great companies build great relationships. Management at these companies builds an ecosystem of influencers including great customers who will talk about the value, press, analysts, and partners who together help the company create a persona of innovation and greatness while the company is still building.
Great software companies are complicated to build. The software business a complicated and brutal with lots of failures at every turn. It is therefore proper to admire what Progress Software has done in building a sustainable business model. It isn’t easy. Great software companies are even more difficult and scary to build.