Saturday, June 10, 2017

Software Total Cost of Ownership

When we talk about how much software costs to purchase or how much it will cost to build a new product from scratch, we often ignore the total cost of ownership. When I bring this up with my clients, the conversation often covers items such as:
  • Number of people on the team
  • Time to build the product to an agreed upon "Definition of Done" or production-ready state
  • Hourly rate for each team member (software developers, quality engineers, designers, product managers, etc)
These are definitely important cost considerations, but if we limit our total cost of ownership to the cost to create the initial product, we're omitting a key component for software cost - the cost to keep the software and system running. What do we mean by "working condition" with regards to software?

Imagine that you need a new car. You have determined the Make, Model, and Year that you need to replace your old 1998 Toyota Corolla. You happily set your budget and pay cash to acquire the car - including Tax, Title, and License, and drive off in your new car. You have successfully purchased a car that allows you to run your business, commute to work, drop off the kids, or whatever you need your car to do today.

Unfortunately, the purchase price is only the start of your car expenses.
  • You come home and realize that you need to update your car insurance policy - and your new car costs more to replace than your old one.
  • Your car needs gas to run. With your new vehicle you need to fill it with premium fuel vs regular unleaded. And by the way, your new truck has lower miles per gallon than your old car.
  • You need to perform ongoing maintenance such as oil changes, new spark plugs, filters, tires, and fixing the seemingly endless number of squeaks, weird starting noises, and battery failures.
I was talking to my mechanic recently (oil change) about the cost to own and maintain a car and he said there was a substantial increase in late model Mercedes-Benz and BMW owners who came looking for used tires during the last recession. Apparently many owners did not budget for new tires when they calculated the lease payments for their cars, and when money was tight during the recession, owners couldn't afford to buy new tires.

As you shop around for a company to make your custom software or license an existing product, make sure you calculate how much it will cost to keep your software running:
  • How many people do you need for sustained engineering? 
  • Do you have the appropriate skills in-house or will you need to hire?
  • Does your recruiting team know how to hire good software people? 
  • When you do hire a team, do you have the right people to manage them?
After calculating all the costs associated with new software, including the maintenance or "operate" costs, you can make a better informed decision on whether this is a good plan for your business.