“If X leaves, nobody knows how to maintain this tool”
I bet you know this, too. One of your developers has spent plenty of time on a custom internal tool to solve some problem the team faces in the daily workflow.
X is tech savvy, and knows how to write code. Unfortunately, it costs a lot of time to keep everything up to date.
This custom tool can be anything from a single file script to a couple of thousand lines of code managing critical aspects your CI workflow. Now, imagine something breaks. What implications does that have on production systems, software delivery and your customers?
How long does it take to fix everything? How much money do you lose because of such an incident?
Even if everything runs smoothly, how much time do developers spend on custom tool maintenance? This is time that takes away resources from bug-fixing and feature development.
I’ve had these discussions many times with prospective customers. For example, they were running a homegrown CI solution that performed okay at best, and it caused more trouble than providing benefit.
What should they do about it? Put more developers on it? Waste more time and money? Or should they think about buying a new software solution instead? But that’d require spending additional money, right?
That’s correct. But that’s only one side of the coin. And for a long time, this was the only side I’d look at.
The other side of the coin is about the Return of Investment (ROI). How much more revenue can you produce by optimizing your internal workflows?
It starts by software developers having more time on their hands. Time they can use for feature work and bug fixes. Work, they were actually hired for. Also, knowledge about critical internal infrastructure becomes more widely available and is not tied to a single or handful of people anymore (hello bus factor).
The knowledge aspect becomes important in case of outages, or personnel shortages (people out sick or resigning).
You lose less specific knowledge and new people coming in have an easier time to onboard because they might have worked with this tool before already. And if not, vendor support teams are happy to help.
So, how much money do you waste every day by not doing anything about these homegrown tools?