Some things are more valuable if they are handmade. For example, soaps, beard oil, jewelry, and shoes are all things that benefit from an artist’s craftsmanship. But that is not true for your IT systems. Nobody will ever appreciate your artisanal bespoke release management system. In fact, you are doing more harm to your organization by relying on these custom-built solutions that need more maintenance than a McLaren F1.
Realize that I’m not referring to custom applications that engage your customers or facilitate your business operations. UPS would never be able to find a vendor that could create their logistics software infrastructure. Nor would Facebook use WordPress to run its website. You will build custom software that supports your core competencies, in other words, what other people pay your company to do. But, Facebook doesn’t build its own operating system, and UPS doesn’t have a custom email server.
Home-grown solutions for things like release management or support desk systems are just plain silly. Don’t go reinventing the wheel when there are already multiple solutions available at a myriad of price points. With the options available, I am often mystified when I see a home-grown infrastructure solution in the wild. In most cases, the original builders are the only ones that can manage and fix these solutions, which is good job security for them, but not very cost effective or efficient for the business.
Often the people that build these solutions do so out of curiosity and desire to avoid the procurement process. It’s easier to simply whip something up instead of having to justify a purchase request to an executive, not to mention there are way fewer barriers. Of course, if executives knew how much they were spending on building and maintaining your home-grown solution, they would absolutely approve a purchase.
These projects start with the best of intentions yet fail to deliver on promises. For example, the individuals who build them are typically building them for themselves. Thus, they do not provide features and functions that would benefit others in the company. Also, given that these are typically skunk-works projects without the benefit of funding or executive sponsorship, their maintenance and improvement is always behind the needs of the company. Furthermore, home-grown solutions, by definition, do not have the benefit of feedback from a large and diverse user base. A feature that might be obvious and necessary to one company might be completely missed by yours. Thus, without the benefit of that user base, you are missing out on ways to improve.
The biggest reason to not accept home-grown solutions is that they are brittle and dangerous. Well-known American software developer and open-source advocate, Eric Raymond, taught us that “multiple eyes make for shallow bugs,” but if only a handful of people on this planet are using the software, how confident are you that all possible use cases have been tested? An easy way to see for yourself is to ask a new employee to use the home-grown solution without any training. Of course, they could just read the documentation. You did write documentation, right?
Every single line of code that your company writes should either cut costs or increase revenue. Every feature you build should have a direct, compelling impact on your customer. If you are instead working on infrastructure code to keep your internal operations going, you need to find a better solution. Save the hand-made craftsmanship for your next woodworking project.
As Chief Technology Officer, Robert Reeves advocates for Datical’s customers and provides technical architecture leadership. Prior to co-founding Datical, Robert was a Director at the Austin Technology Incubator. At ATI, he provided real world entrepreneurial expertise to ATI member companies to aid in market validation, product development and fundraising efforts. Robert cofounded Phurnace Software in 2005. He invented and created the flagship product, Phurnace Deliver, which provides middleware infrastructure management to multiple Fortune 500 companies.