Let People Choose Their Own Tools

Why is it that people will pay a lot of money for a consultant’s time and expertise, but then hobble them by limiting the tools they can use?

Chris Wahl has written about learning to cope with the default tools and settings:

It’s almost a given that anything I own – personally or via my employer – will not be allowed to touch any piece of software or hardware in the average client environment. It causes too many headaches with compliance rule sets like Sarbanes-Oxley (SOX)…

This means that I’ve come to rely on whatever tools are universally available. Let’s take PowerShell for example. I have an entire library of scripts that I’ve written over the past several years. More often than not I end up using the vSphere Client or ESXi Shell instead because I can’t get to my scripts. If it’s a highly repetitious task I may just re-create a script by hand, but more often than not, it’s not worth the effort.

I’ve posted similar things to IEOC about the use of aliases on network gear:

I’m a consultant, so I work on a variety of different systems, and can’t rely on having a large list of aliases in place. So I just get used to the built-in commands, and try and learn the fastest ways of entering them.

Quite rightly, we evaluate consultants before employing them. Once past that evaluation, we then trust their judgment, and give them full access to the systems they are working on…but we won’t let them use their preferred tools. It’s seen as more of a risk to let a consultant use a script they’ve used in the past, than to have them manually enter 100 commands. Does that really make sense? Which one is more likely to make mistakes? The repeatable process, or the human one?

We will force people to use a specific Operating System and applications, even if that system is inappropriate to the task at hand. Craftsmen develop their own toolsets, and in other industries they’re free to use them. Why not IT?

Surely all that should matter is the result? Obviously any reports, documentation, diagrams etc that are produced should be in an interchangeable format, but why do we worry so much about the method?

If you’re going to trust someone’s judgement enough to give them access to your systems, maybe you should also trust their judgement in tool selection? It will probably save you time and money.

(Post featured image from here, licensed under Creative Commons License).