In 2008, I brought my car to the shop for a periodic check-up, because it had a problem. Sadly, the check-up showed my car was in desperate need of repairs. The mechanics told me that it was probably not worth the cost.
It was a very, very old car and I had seen this coming for a while. Still, a mechanic telling me I’d best buy a new car, wasn’t really what I had in mind when I brought it in.
Adhering to a strict schedule
My first car was an old second-hand one. To be honest, I hadn’t been too strict with the maintenance windows. So, when I had to suddenly replace it, I vowed that when I would buy a new car I’d always take it to the shop on time, to make sure it was always in perfect condition.
The upside of taking your car to the shop on a regular schedule is that it is indeed always in great condition. The downside however: you get told by mechanics that something needs to be changed and you basically don’t know whether it is strictly necessary.
So, you have them replace it. When it comes down to it, this means spending a lot of money on things that do not seem broken.
Maintenance on custom built software
Any application that is custom built, or has a custom built component, will require maintenance. The simple fact of the matter is that the world around that application or component changes, which may require the application or component to change in return.
This is actually quite similar to owning a car. You buy the car, and because you use it, it requires maintenance. Just like software requires maintenance, due to the world in which it is used changes.
You bring your car to the shop for a check-up, the same way your software requires some maintenance every once in a while too. All to keep things running smoothly. For custom-built software however, most companies do not perform maintenance as often as is required.
Instead, they prefer the method to use it for as long as humanly possible, after which the whole thing needs to be replaced. Much sooner, though perhaps at slightly lower cost, than performing periodic maintenance.
If it isn’t broken, don’t fix it. It seems like sound advice. But if you don’t, it means using everything until it is absolutely worn down and replacement becomes paramount.
There is a huge gap between following every advice from a car mechanic and only replacing parts when they’re totally worn out.
This gap is a knowledge gap. If you’re like me, you don’t know everything about the car you own. This puts me in a disadvantaged position whenever a mechanic tells me something needs maintenance or replacement, especially if it isn’t causing a noticeable problem.
If I trust the mechanic, I’ll let them replace it. If I don’t, it is usually about time to bring my car in to another shop.
Bringing your software to another shop
In the past, I have switched shops for car maintenance a few times. This is fairly simple, since cars are a common thing and there are many shops that can service my needs. If I am unsatisfied, I simply take my business to a competitor.
And for software it’s pretty much the same deal, right? Software is very common. There are many companies that can build software and maintain it. So if I am unsatisfied, I can just switch to a competitor, just like I did with the car. Or can I?
The problem is that software, especially when it’s custom built, requires an understanding of how it works. Most applications also communicate with other applications, and are implemented to support a business process.
This makes understanding ‘how it works’ a lot harder. So, unlike bringing your car to another shop, bringing your software to another ‘shop’ would cost a lot of time and money.
The new shop would first need to get a good understanding of your business process, the other applications that the software communicates with and then understand the code of the application itself.
Inevitably, you are left with without any leverage. Because if you cannot bring your software to another company easily, you only really have 3 options:
1) Don’t perform any maintenance at all
2) Just accept anything that your supplier tells you should be done
3) Insource maintenance of the application
We believe that this status-quo should change. Not performing maintenance means losing innovative strength, since adapting software to changing processes or markets is no longer an option.
Accepting anything that your supplier sells you will cost too much money for what you are getting in return. And lastly, insourcing maintenance is extremely costly, if not impossible, due to the shortage of IT professionals.
Triggre strives to give companies back their freedom when it comes to implementing and maintaining software. Just having the option to make software yourself (without IT specialists) is a game changer, which makes you far less dependent on external companies – including us.