Every software product requires serious investment, commit to keep up or shut it down

Austin Turner
Delivering Software
4 min readOct 6, 2017

Deciding to build and release a new software product means making significant commitments and incurring costs over a life cycle of many years. However, the size and nature of these long term commitments and their implications for business models are often not well understood.

Software as a Service changed your customer’s expectations

Many people still present their planned software application as a discreet product that will be defined, built and delivered as a project. However, the expectations of users and customers have have changed massively from the days of using Word 95 and buying Word 97 two years later when you want improvements and new capability.

Software as a Service has set expectations for users and customers that:

  • Software becomes more useful and effective over time
  • Performance, reliability and security will be maintained at all times
  • An existing product will work with their new operating system or hardware whenever they upgrade

Whether you are making mobile and desktop apps or offering true SaaS, you have to resource and invest over the life cycle of your product from its first release to end-of-life to meet these expectations.

Your product is deployed in an environment of constant change

In the past, you might have seen your customers update to a new PC and Windows version every 4 years. You could plan for an upgrade of your software to work on the new system, perhaps start a project to make the changes and charge the customer for a new version. That world is gone, Chrome is the world’s favourite browser and it shipped eight major version updates in 2016, even Windows is now on a continual upgrade path.

The environment your applications run in is always changing and your customers expect you to keep up

Most B2B products have integrations to other products, each of those products is improving, in the process making breaking changes and gradually retiring old API versions. If you have integrations, you need to be releasing product updates constantly just to keep data flowing.

If you have a product, you need a team working on it

In order to meet your customer’s expectations, you are going to need a team working on your product from the day you start development to the day you shut it down. That team has to be:

  • Monitoring and fixing errors to improve reliability
  • Measuring and optimising the application to improve performance
  • Testing and making changes to ensure compatibility with updated browsers, operating systems and hardware
  • Updating integrations to support changes made in other products
  • Observing user behaviour, finding pain points and updating the application to improve the user experience
  • Updating functionality to ensure the product still meets the needs of customers as other products they use change their behaviour and expectations

The last point is significant and should not be underestimated. While at launch your product may fill a niche by performing a certain function, other products that your customers use will quickly start encroaching and if they are constantly adding new functionality, you will be in a constant struggle to maintain relevance. For the life of your product you have to continually advance or change the capability of your product to ensure your customers always have a reason to use it.

Earning and spending money

Teams maintaining and improving the product over time to meet customer’s changing expectations means incurring significant ongoing costs over the life of the product. Luckily customers are also increasingly used to paying an ongoing fee for as long as you provide your product as a service. Your focus no longer needs to be minimising overall project spend to deliver a fixed scope, instead you have to balance revenue and spend for the life of the product.

Another thing to be cognisant of is that most software products have low marginal costs. In order to capitalise on this, you should be growing your customer base quickly by retaining and attracting new users. Spend and effort should always be disciplined, work done should achieve one of these outcomes:

  • Increase the monthly revenue from every customer
  • Retain existing customers and continue collecting their monthly revenue
  • Entice new customers, collecting additional monthly revenue
  • Decrease the cost to maintain and update the product over time

Commit to keep up or shut it down

Software as a Service has changed the world and killed the software ‘Project’ and the one off licence purchase. Every company from Microsoft to the smallest startup has to meet the expectations of their customers for constant improvement and ongoing service delivery. You have to continually invest time and effort over the lifetime of your product to ensure it remains relevant and valuable or your customers will simply stop paying.

For companies with existing software products or those just starting to build new products, the choice is clear. Commit to keep up or shut it down.

--

--

Austin Turner
Delivering Software

Software product and technology leader, occaisonal woodworker and gardener