Should you write that tool?

During every project the question of whether to spend time on creating a tool/automating a task always arises.

TECH

7/29/20241 min read

white concrete building during daytime
white concrete building during daytime

Every project has a point where the team or team lead contemplates whether writing some tools would help the project. By tools I mean custom software not directly related to the solution deliverable. Sometimes these tools assist in generating code that is used in the project, other times they are just analysis tools to help you parse through gigabytes of log files looking for issues. And a tool can be a script or any other programmatic doohickey you come up with to help you in your day-to-day job of creating great software.

In all my years of programming, I have never been on a project where, when it was finished, we wondered why we wasted so much time and effort writing tools (or tests for that matter). I have been on many projects where I wished we spent time writing tools (and tests), and sometimes we are forced to revisit that decision after wasting tons of time.

I believe the very fact you are contemplating writing a tool is your sub-conscience nudging you regarding the need of a tool. If you don't need a tool, the need never arises and you never wonder if you should spend the time writing the tool.

So write the damn tool. I promise you won't regret it.