π

How to Choose a Tool

Show Sidebar

Many times, I watch people making sub-optimal choices for their software tools. Maslow once said:

I suppose it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail.

For me, the proper way of choosing a tool is following this pattern:

  1. Requirements analysis.
  2. Choosing a method.
  3. Analyze the tools.
  4. Choose a tool.
  5. Optimization.

In that order.

Let's take a look at each step.

Requirements Analysis of Your Situation

Sit down and do a brainstorming session on the things you want to accomplish. As high level as possible. You may then break them down to generalized finer grained requirements if necessary. Then summarize your findings and prioritize.

In the easiest form, it's just an ordered list. Another approach is to categorize everything in "must haves" and "nice to haves".

Expert points for an elaborated spreadsheet with weighted numbers associated to each requirement. For most tool decisions, this is overkill though. Keep it simple. ;-)

Choosing a Method

Search on the web, ask peers, read books. Match the (known) methods to your requirements.

By doing so, you learn from the pros. Notice, that you are still independent of any specific technological solution.

Analyze the Tools Available to You

Search on the web, ask peers, read books.

Locate the most popular tools for a discipline but don't forget to look at small solutions. I would urge you to emphasize on open and flexible tools that may serve you for a long time, if this is of any relevance to you.

Choose a Tool

Match the found tools to the method of choice.

This should now be much easier after mapping your requirements to the tools. The outcome of this process so far is a tool which suits your original requirements as best as possible.

Periodical Improvements and Re-Evaluation of Your Requirements and Choices

Constantly optimize your situation. Your world is changing all the time. So are your requirements. If your tool choice was a wise one, most necessary changes should be solved by configuration. Tinkering with the configuration and settings of your tool is easier than switching your tool (again). The more you emphasize on long-term aspects, the more you should add "flexibility" to your requirements in the first step.

Automatize. If you're doing the same thing all the time, try to find a way of automatize this workflow. Good tools should enable you to delegate stupid, error-prone and time-consuming workflows to the computer.

Re-evaluate your choice for the tool and even the method. When the tool of your choice can not adapt to your changed reality any more, you may need to re-evaluate your choices again. This can go back in this process up to a fresh requirement analysis.

Disclaimer

The focus of this method is on tools you are planning to use over a certain period of time.

If you need a tool for a short-term project where data export, access and other long-term aspects are not relevant at all: use whatever you feel like. It does not matter. However, the process above also works for those choices.


Related articles that link to this one:

Comment via email or via Disqus comments below: