Software Sustainability
Sustainable software is software that can continue to operate over an extended timeframe, while running under a profitable business model wherein the fees paid by the customers can fully fund the operation of the ecosystem that delivers the product.
Lets break down the pieces of that —
1) Operating a software product over an extended timeframe:
Once you get past the initial creation of the software, you have plans in place to actually run the software. This means you need to have the following in place:
- A technical foundation of servers and networking to host the software including the production environment which customers access as well and the background code, servers, and services needed for the organization to operate its internal functions.
- A support structure to communicate with customers to understand their questions, concerns, and needs.
- A product management practice that can understand and prioritize changes needed to the product as its market and technology changes over time.
- An engineering practice that has the ability to operate the product, make changes to the product, and has the resilience to maintain institutional knowledge as the members of the organization change.
- A business continuity practice that covers the ability to keep the business running in cases of emergencies, disasters, and all kind of unforeseen events.
- A corporate structure that handles all governance, legal, financial, and regulatory needs of the market in which you operate, including compensation to members of the organization.
- Communications channels to keep all members of the organization in alignment.
The scale and scope of those elements will vary based on the scale of the software product. In a small organization, some of those bullets points can be as simple as a member of your organization who commits to handling the function. In large organizations, there may be entire departments with formal processes and frameworks in place. The details of those functions are going to vary widely, but if you are missing any one of those bullet points, you do not have the correct organizational structure in place to operate over the long term.
Side note: This is where software consultants tend to fall down. They will often focus on a single piece of this puzzle, but not the holistic need to build a sustainable product ecosystem. They have value and serve a purpose, but they are a tool, not organizational leaders. Use them wisely.
2) A profitable business model wherein the fees paid by the customers can fully fund the operation of the ecosystem that delivers the product.
Most people can figure out if their organization is profitable - if you bring in more money than you spend for all of the organizational functions outlined above, you are profitable.
But you need to know if your software solution can be profitable before investing the time energy and money to be fully operational. The days of “build it and they will come” are long past. Your business model must include three things:
- Inputs into the system
- Output from the system that hold value for your customer
- At least one specific transaction from which fees are collected from customers.
You’ll find that many software startups miss that last part. There has been a long-held belief that if you find enough people to try your software, they’ll love it and pay for it. But that is not true unless you can point to the output of the product and define a specific fee to charge in exchange for that output.
In most SaaS products, those elements are easy to identity. The input is data from the customer. The output is some type of processing performed against the data, organization of the results of that processing, and visualization of those results to the customer. The value they get is that your software handles that processing so they do not have to devise their own processes. In exchange for that value, they pay you - often a monthly or yearly fees, but we also see per-transaction models as well.
For entertainment - streaming services, video games, etc, those elements also exist. The inputs are the content that has been created. The output is the delivery of that content to your customers. And the fees are the money the customers pay to access the content.
Social media’s elements are a bit different because the primary audience of users of the service are not the customers. They are the input. Input is the existence of an audience whom advertisers want to market to. Output is the delivery of ads to that audience. The transaction is the fees paid by advertisers to the social media platform.
Whatever market and customer base you are targeting, be sure you know the input, output, and core business transaction that is your actual business. And realize the truth of the software industry:
The software is not your business. It is the key tool that enables your business. The transaction you identify in your business model is your actual business.
This matters because in order to make a sustainable software business, you need to understand what that business is. This will drive your decisions when it comes to marketing and sales, your market research and pricing, and your prioritization of engineering and other internal efforts.