Shopping for prices between multiple potential solutions is somewhat straightforward. Option A carries a specific cost. Option B carries another. All things being equal, you select the option with the lowest total cost.
Except … total cost can be a tricky thing to surmise when it comes to technology.
The sticker price of a solution is only the first element to any analysis of cost. Advertised pricing can present a great baseline for comparing potential solutions. But almost every solution requires further analysis beyond that.
- What level of support is given to the project?
- How many members of your team will need to manage the tool?
- How much of their time will management require?
- How much is your team paid?
- What does the update cadence look like and what costs are involved?
In some cases, a free-as-in-beer product isn’t truly free. Even the most useful open source tools require a server to host them and technical stakeholders to keep things running smoothly.
Example cost analysis
A particular cloud platform your team wants to use costs $700/month according to their website. Alternatively, you can download an open source version of the same platform for free and run it yourself. It makes sense to go the open source route, right?
Not at all …
Assume your internal team is paid an average of $50/hour. Further assume that, each month, the team will spend a collective 6 hours in total to support, manage, and maintain the tool. Beyond that, it’s hosted on a cloud server – cloud resources are billed at a rate of $0.85/hour to support the server, its database, and additional caches.
Based on this information, your “free” application will cost a little more than $900/month.
Compare that to the fully-managed version of the same application hosted in the cloud. Add 2 collective hours from your team to manage the product and, even with the base price, you’re only spending $800/month. Paying someone else for the product is actually saving you money!
There are some times where the cost savings doesn’t make sense, but it depends entirely on why you’re engaging with a particular solution. If you are looking for a product to solve a specific business problem, you use salaries to help calculate the operational cost of supporting the tool.
In some circumstances – like with a personal blog – you might be committing unpaid personal time towards the project instead. In this case, you have to use the cost of lost opportunities to weigh a buy vs build decision.
How much time with your kids are you sacrificing to manage the project? How many weekends will you lose to system updates when you could be hiking instead? Is there a new skill you’d like to learn rather than spend your time trawling system logs to optimize performance?
Each of these costs are very real trade offs. It’s critical to understand what you’re spending, whether it’s money or something even more valuable, to manage a “free” product yourself.
In some cases you might want to spend personal time doing the project. It might help you master a useful skill or learn a new domain.
In other cases, you’re better suited paying someone else to do the work so you can spend your time on more rewarding endeavors.