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)
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.
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?