This idea keeps coming back in my head lately. It seems obvious now, but it took me a while to put everything in the right perspective.
When you build a SaaS, it all starts with code in a number of programming languages. Over time, the system starts accumulating and crunching data. Before you even notice it, the data becomes part of the application, and it’s at least as important as the code itself.
This reasoning actually works on multiple levels.
The first is rather obvious: all new versions of the application must be able to read, use and alter all existing data. If you do things properly, this is not really a problem, but actually a result of your development methodologies.
The second level is about how existing data subtly forces you to do A instead of B. To slightly adjust your route (both technical and commercial). To do something not quite in the way you’d like. Existing data is a living, growing entity that you, as a developer, must carry on your shoulders. Again, if you do things properly the weight, while still not being nil, is surely tolerable.
The third level is simple but vital, and gets more important over time: without the data, your application is worth nothing. Everyone focuses on technology, on innovation, on UX, and on marketing. The problem is that once your SaaS has started getting traction, and you’re seeing a considerable number of people using it, the value starts shifting from the code to the data the code handles. Should you lose all the data, you’d be dead in no time, however innovative your application is.
This is particularly important for SaaS startups. The typical process that gets advertised so often is this:
- Build a minimum viable product (MVP)
- Get market validation, possibly adjust your route
- Get funding precisely because your service/application/whatever is innovative in some way
- Scale
The point is, once you start scaling, the value shifts gradually from the code to the data. Sure, the data is nothing without the code, and the code works perfectly without the data (typically on your local machine), but from a business perspective the code becomes worthless without data.