There is also the option of buying self-hosted products and installing them on your own server. The setup time is usually the same, but you only pay $5/mo for the server and maybe $100 one time for the product, instead of paying $100/mo for the service. This is also multiplied by X, where X is the number of subscriptions you have.
Every company I've worked at and that has gone with self-hosted products have lost more money than paying the subscription.
Self-hosted nearly never gets upgraded because there's no budget and it can always be cut from the budget because it'll keep functioning.
Corp IT who usually get stuck managing these become the gatekeepers. They have nearly zero incentive to upgrade because the risk is they take down the whole thing for longer than the maintenance window.
During this time the product innovates & none of this is usable until the upgrade. I've seen whole teams created to build out tooling on top of Jira only to find out if the company had spent $100k they could have upgraded and gotten the features.
Nobody knew said features existed because nobody had been exposed to the most recent version and we had a 4 year old version.
The problem is not the self-hosting aspect - it's not taking into consideration the lifecycle.
It's worth self-hosting if you have a good reason for it, and the software is old and boring (aka "battle tested") and packaged by someone else so the lifecycle is someone else's problem.
If it can be installed/maintained/upgraded by running `apt` or `yum`, and isn't a pile of custom hacks then go for it. Server software like Apache/Postgres/MySQL or even fairly nontrivial apps like Jenkins fall into this category. You can literally run these for years, staying updated, with an insignificant amount of maintenance.
Atlassian products with the "download this tarball and run a script" update method aren't as nice as the `apt-get upgrade` you get with the items mentioned above.
We self-host everything and have refused requests to update to subscription products. Our systems are our responsibility, so outsourcing to a SaaS that will die or get hacked tomorrow is enormous unquantifiable risk compared to the little opportunity costs of self-hosting.
On a less serious note, self-hosting also feels more like you do own your business, have full control over your products and are not just a merchant buying low and selling high.
I don't think either absolute is the answer. The decision to outsource anything often depends on a particular company's operational strengths/efficiencies.
Maybe it makes sense for a software company to self-host some software, but they might hire a paving company to pave their parking lot. Likewise, it might make sense for that paving company to pave their own parking lot, but use SaaS software.
I agree with your point but that's just astoundingly stupid to put a team of people on building your own features on top of Jira without first spending 5 minutes to look into whether your new features have already been developed in more recent versions.
Is the issue with staying on an old version security, or lack of new features?
Because if it's just features, then maybe the features actually aren't worth the cost of an upgrade, if no one feels incentivized to do so.
Your anecdote about Jira tooling feels like the company not doing adequate research before hiring a time. (In other words, they should have considered all options—what is the cost of upgrading versus building tooling?)
At the previous company I worked it turned out pretty well. We used Grafana (which is OpenSource) for our high volume in-app analytics and servers monitoring. It took a bit to implement all the graphs, but we had exactly the graphs we needed. Even if we went for a SaaS, we would still have had to implement those custom graphs in their interface.
We have also paid (a lot) for DeltaDNA to have more insights into monetization, but their platform was a lot slower than our self-hosted Grafana and they even forced us to use our own S3 buckets to store the data (set them up and link them) due to GDPR (they said). Not only that, but creating custom graphs in their platform was very tedious and a bad experience overall.
I am not saying it makes sense to always go self-hosted, you are right that depending on the application you want to host you might need less or more technical knowledge and maintenance.
I would never recommend (for the average individual/company) to self-host email servers, CDNs or Slack chat server alternatives, but I do think for some applications it's worth the time, for example static pages (instead of using a website builder get a theme and host it yourself) or analytics.
The cost of insourcing a SaaS type product is that, when it's broken, you have typically 1 person or small team; and that 1 person is typically responsible for other SaaS apps that may fail at the same time.
Setup time may be similar; but if something goes wrong, the cost is a loss of whatever other project that person is working on to fix it (+ the mental overhead of preparing to handle fixes)
Just a small remark: I think usually not the X multiplier is the important factor in making the decision to go self-hosted, but the price, privacy, lack of features or poor performance or availability of the service.
The times is a good idea is something like Confluence or JIRA where the functionality of the cloud hosted version is hobbled compared to the on-prem version. (In that case, due to plugin security.)