Starting a software company today is very different than it was 15 years ago. The fundamental reason for this is that mega-vendors now exist across all product ranges. For any product you can think of there is already a mega-vendor in the space delivering it in the cloud. This means if you want to start a software business now you have to do it differently. If I was starting out today, there are three things I would do.
1. Focus on a niche
You can’t build a software company today if you’re trying to compete with SAP, Oracle or Microsoft. They’ve already created core systems of record but they offer customers no point of differentiation at a technology level from their competitors. Customers can tweak mega-products like SAP and Oracle ERP but they can’t change them. To differentiate themselves businesses need bespoke products that give them a competitive edge.
That's where the opportunity is for new software vendors - creating a product that can be sold to others in the same niche. As a new software company, you can focus on a niche by identifying a gap that exists in a mega-vendors’ product. Because those products are horizontal the vendors can't truly understand all the problems that exist within their customer base. This means they don’t know where they've left money on the table and that allows you to create a product that adds value and extends the customer spend within that mega-vendor’s ecosystem.
Look at where you have deep knowledge of a particular problem domain. Do you see products that are not quite meeting the needs of that niche market? Is there an area where you can take revenue or nominally increase the revenue of the ecosystem by adding value to a group of customers?
2. Look at your growth models
If I was doing it again I would focus more on the economics of my business and its growth models. This involves understanding the economics of the problems that you're solving. What value are you creating? How many customers look like this? How do you get to them globally?
To be successful, you've got to really understand how you deliver value to the customer. This means that you need to understand the problem that you're going to solve far better than the customer themselves. If you can do that you can build and truly deliver incremental value that your customers are looking for.
Once you understand this you can plan your product from day one before you even write a line of code.
3. Plan your exit
The final thing I’d do if I was starting a software business today is to consider where I sit within the mega-vendors ecosystems so you can plan your exit. Consider whether you could IPO on this product or if you would be a candidate for acquisition. By planning for your exit from the get-go you can think about your go-to-market model end to end. For example, if you can prove to a mega-vendor that they've left money on the table then, with their scale and might, they could take your great idea and scale it across millions of customers.
There’s no point trying to boil the ocean today because you simply can’t compete with the mega-vendors. But if you focus on solving one problem well, understand the value you create and plan for your exit you can build a successful software business today.
Innovation is vertical today
Here's what Glen Rabie has to say about innovation in the software space today.