I think that one of the more interesting facets of a software company is that what people are buying and what they are paying for aren’t remotely the same thing. If you run a software company, or at least work for one, then you’re peripherally aware of the fact that your company writes code, builds executables from that code, and then sells them to other people in an effort to make money.
That money pays your salary, hopefully gives you some sort of health and dental benefits, and keeps the lights on at the company. But the code you are producing isn’t what people are paying for. Not in the least.
People are paying you to solve a problem for them. Something that’s painful. Whether that pain is a business problem: ie: we need an email server, or a consumer problem: ie: I’m bored and I want to play the game your company wrote.
I think that a lot of companies tend to forget this. And when they do, that’s when feature creep happens. Companies start putting features into a product because they don’t have any value left to add. And they chance the UI here to make it look like they did something important, when in reality all they did was change the UI to make it look better so they could charge you for your yearly software maintenance fees and get away with it.
It still astounds me that these companies get away with it. Or rather we let them get away with it. Because we continue to pay them money to do little more than sit on an existing product and let it languish rather than dedicating their resources to making the product better.
When a product stops getting better, we as customers need to stop paying for software maintenance releases that simply don’t happen.
This does beg the question of how to address SaaS applications. When a product has matured enough, the company owners don’t really need to do anything with the software and largely, they can get away with it. I’m sure that under the covers, some tweaks here and there happen, but on a broader scale, a mature SaaS product doesn’t change much. It solves the problem it needs to in a relatively bug free manner.
What you’re paying for with a SaaS is the fact that you don’t need to support the infrastructure behind the application. That’s a very compelling reason that SaaS applications have taken off the way that they have. Another good reason is the pricing model. Let’s say that you want to buy 1,000 licenses of a $300 application. That’s a $300,000 investment. But let’s say that they charge a tenth of that per month. Paying $30k/month isn’t nearly as bad as paying $300k all at once for something that might not even solve your problem.
But again, customers aren’t paying you for your code. At least not directly. They’re paying you to solve a problem. When you’re building a business, remember that. If you can solve a problem, you can make money. Sometimes the trick is to find a problem that needs solving or that can be solved in a unique way.
When you’ve done that, you’ve found something that people will pay you for.