Be certain that the consultant that you hire embodies these qualities, or you are liable to through your money away. Worse yet, you are likely come up with a poor solution.
1. The ability to listen to you to identify project goals, and to restate these project goals verbally, and in writing. Without this ability you may be paying a lot of money for someone to develop a solution that you will discard. On one project that I brought into consult on there were 36 people working 40 hours per week towards a goal that management did not want. This was easily illustrated by making a mock up of the software interface for the project that was under development, and showing it to management. The “Graphical User Interface” was hard to use and did not generate at least five of the reports management needed. Changing the goals early on saved over a two-hundred thousand dollars.
2. The ability to obtain assistance from others when doing the project for you. – No one has all of the answers, no matter how informed they appear to be. When you’re interviewing consultants, ask them a question like, “When you get stuck, how do you resolve the issue?” A rule of thumb: If someone spends more than an hour on a technical issue without asking someone for help, they are wasting time.
3. Appropriate technical skills. – Consultants need to proficient in the technology that they will be using, the people skills that they will be employing or both.
4. Willingness to communicate and keep you updated. – Communication is key to keeping a project on time, and under budget. Consultants that wish to remain isolated and then turn in a project at the end for approval are likely to turn in a project that will not meet your needs.
5. Flexibility – willingness to change direction as your priorities. Change is a fact of life. A good consultant can be flexible because they have enough knowledge to plan for making changes as they build solutions. Here’s a simple example: A computer consultant that “hard codes” most settings in a program will have a difficult time making updates. A consultant who designs a “table driven” system has the ability to either change a figure or two in a table or to modify or add a table to a database. The computer consultant who hard codes everything is often resentful when changes must be made.
6. Perspective – One of the big advantages of a consultant is that they know how other people or businesses do what you want to accomplish. They can point out advantages and disadvantages of different approaches.
7. Out-of-the-Box Thinking. – There are times when major efforts and expenses can be avoided by taking a non-traditional approach. Two examples come to mind.
>> I once had to convert 250,000 Word Perfect documents to Microsoft Word documents without losing symbols, within four months. Custom coding an application was not possible in that time frame, so I “cheated.” I wrote a program that automated the conversion engine built into Microsoft Word. Most documents were converted quickly. About 20% had to be examined and fixed. We finished on time and under budget.
>> When you are prototyping an application, it’s sometimes easier and faster to build an MS Access interface to a back end server than it is use a program like Oracle Forms.
Alan H. Jordan is an Management Analyst and Software Engineer who sometimes consults in the areas of programming, documentation, business writing and creative writing.