When should you build a custom tool?

Every few weeks, I get incredibly irritated with some tool that I use for my work. I explore other options, get even more frustrated and then go looking for programming books so I can make my own tool from scratch. I generally cool down when I remember just what it takes to create an interface that actually works.

However, sometimes there are situations that call for building your own tools. The trick is figuring out which situations actually call for constructing a custom tool; guessing wrong could wind up costing both time and money for your organization as a whole.

When to consider building custom tools

When you’re considering building a new tool, the simple deciding factor is usually whether you can get something similar out of the box. It’s almost always cheaper, after all, to pay for a tool that someone else has built, has tested and will maintain.

But what if every tool that you’ve looked at doesn’t fit the bill? What if it doesn’t have the one crucial feature that makes your business easier to run or cuts your work load in half? That’s the deciding factor for most of us. If the application you need can save you significant money over the months or years you can use it, the cost of building it becomes less of an issue.

Sander Daniels, the co-founder of marketplace Thumbtack, faced exactly that situation. Thumbtack built its own tool to solve a problem, and wound up with much more functionality than the existing tools on the market offered. “A/B testing our website is of critical importance to the success of our company. We need to know which page designs get customers through the door — and which don’t. We built a tool internally to run A/B tests whenever we want. We implemented this tool about six months ago and have already seen a 5x increase in conversions from it. The other tools on the market were too expensive and not sufficiently rigorous for our needs. Our tool has advanced statistics built in, which allows us to know how confident we are of the success of certain experiments. A lot of the tools on the market didn’t have this statistical functionality.”

There is a middle ground of course. With more and more web-based applications making their APIs available, as well as open-source software, we can customize existing tools or create add-on applications that work with them. It’s much simpler, and cheaper, to bring in a coder on a contract basis to create an add-on or plug-in that will turn a so-so software package into what you need rather than creating the whole thing from scratch

Sticking with a custom tool

There’s another big a question to consider after you implement a custom tool: How long do you keep using it? If a tool comes to market that can match the solution that you’ve built yourself, you need to decide whether to keep your existing bespoke tool — and maintaining it, adding new functionality and keeping pace with technological advances — or whether to switch to the new option. It can be a tough decision, particularly if you have sunk considerable investment in your custom-built tool, and you need to consider the cost of moving your data. However, the costs of maintaining your own internal tools over time can be expensive enough that it makes sense to jump to a ready-built tool as soon as there is an alternative.

Image courtesy Flickr user Joshua Rothaas