You may someday find yourself in a position where you cannot continue to try to solve problems over the phone. You need someone to come to your office to look at the problem first hand. This is where the computer consultant comes in. Sometimes consultants are called in to evaluate and analyze the current situations and make recommendations and sometimes even implement these recommendations.
Computer consultants are like lawyers. They often charge outrageous fees (several hundred dollars an hour) and rely on the fact that you know little or nothing about the subject. They have a service that you need and want you to pay as much as you are willing to pay. Fortunately, all you need to do to see whether a lawyer is qualified is to look on his or her wall. If the diploma is from Joe’s Law School and Barber College, you’ll probably go somewhere else. However, there are few laws governing who can call himself a computer consultant. Therefore, you need to be extra careful in choosing a consultant.
I had one consultant call for a customer of his who was having trouble with a SCSI tape drive. The consultant almost got upset when I started talking about the technical issues involved such as termination, proper cabling, etc. You see, he had a masters degree in electrical engineering and therefore was fully aware of the technical issues at hand. I asked him how much RAM his system had. He responded, “Do you mean memory? Well, there is, uh, 32, uh, what do you call them, megabytes.” (No, I’m not making this up.)
Another time a customer was having a similar problem getting a network card working. Again, it was the issue of the customer not having the basic computer knowledge to know about base addresses and interrupts. The difference between thin-net and twisted pair was foreign to him. He had worked for many years on mainframes and had never had to deal with this level of problem. After more than half-an-hour of trying to help him, it became apparent that this was really beyond what tech support is there for. I suggested he hire himself a consultant. In the long run, that would ensure he got the attention and service he need. There was a long pause, and then he said, “I am the consultant.”
One of my favorites is a consultant in Texas who was trying to do long-distance hardware troubleshooting for a site in Alaska. Despite the fact that they had a modem connection, it is often quite difficult to check hardware settings and cabling through a modem.
My auto mechanic has a PC running a DOS application written specifically for automobile workshops. Aside from the fact that the consultant has them start Windows and then click on an icon to start this DOS application, it does it’s job (it’s the only thing the machine is used for). Recently they discovered that they were running out of hard disk space and needed a larger drive. So, the consultant came in put in a larger hard drive and things looked better. Because it was not part of their contract, he charged them for two hours labor to replace the drive, plus 10 percent more than the average market price for the hard disk. Now, so far, this seems like an acceptable practice. However, they took the smaller drive with them, although they charged full price for the larger drive. It wasn’t defective, just too small.
These stories represent four basic problems with computer consultants. First, you don’t have to have studied computer science or even a related field to open shop as a computer consultant. Although electrical engineering is a related field and the person may know about the computer at the transistor level, this is comparable to saying that a chemist who knows what goes on at the molecular level inside an internal combustion engine is competent to fix your brakes.
The next issue is that although the person had worked with computers for years, he or she knew little about PCs or operating systems. I have seen enough times consultants who assume that all computer systems are the same. They worked for years on Windows so they are qualified to install and support UNIX, right?
There is also the issue of the consultant not making house calls. They have to. They have to be willing to come to your site and check the situation themselves. You cannot be expected to shut down operations to bring a computer to their office, nor should you tolerate them trying to do remote support (i.e., across a modem).
Lastly, if you do need to hire a consultant, make sure you know what you are paying for. When you do decide on a consultant, make sure that you know specifically what services are being provided and what obligations the consultant has. These services include not only hardware and software, but what work the consultant is going to provide. If the consultant needs to replace a defective hard disk, the cost of the disk is included but the time to replace it may not be included.
The best solution is to ask your friends and other companies. If you have a good relationship with another company of similar size and product, maybe they can recommend a consultant to you. Another source is the Internet and on-line services like CompuServe. Ask people there what their experiences have been. Web search engines, like Yahoo or Alta Vista, can give you names of companies that specialize in Linux as well.
How to Get the Most for Your Money
Deciding that you need a consultant doesn’t mean that you are throwing yourself to the wolves. With a little preparation, you can be ready and ensure that you don’t make any costly mistakes. There a four basic steps to follow when deciding which consultant to go with:
- Define the project.
- Find the right person for the job.
- Agree in writing exactly what the job entails and what is expected from both sides.
- Makes sure the job gets done correctly and on time.
When you think you have found the right consultant, you must treat them like a telephone company: Get it in writing! This, along with finding the right person, are the two essential factors in deciding which consultant to choose.
Let’s look at the right person first. There are several ways to go about choosing a consultant. First, you can pick up the telephone book and find the one with the fanciest ad. Personal referrals are also a way, but this can cause a lot of problems. If the consultant is a friend or family member of the person making the recommendation, you can get yourself into an awkward position when you either find he or she is not the right person for the job or he or she is not really competent and you have get rid of him or her. Personally, I think recommendations from other companies are best. They have had real experiences with the consultant and (should) know their capabilities.
Part of choosing the right person is making sure that he or she has the skills necessary to get the job done. Never hire a consultant who doesn’t know the product or issue at hand but insists can learn it. You are paying for an expert, so that’s what you should get, not someone still in training. The process is basically the same as hiring an employee. You can request a resume and references and then call those references. Things to ask the references should include the following:
- What did you think of this consultant in general?
- What did you think of the consultants technical abilities?
- Did he or she interact well with your employees? < LI>Did he or she follow through with commitments? Finish on time?
- When the project was finished, were there any points of dispute? How well did the consultant react?
- Did you understand what the consultant did?
When you have your first meeting with the consultant, there is nothing wrong with having your expert present to “test” the consultants knowledge. This is the same thing as an interview you are trying to determine whether to hire this person. Therefore, you have the right to ask about his or her technical abilities.
In one company for which I worked, we had a very bad experience with a consultant. The company ran mostly PCs with Windows for Workgroups, but there were several UNIX servers and workstations. We found a consulting firm that were “experts” with Microsoft’s Exchange because we were planning to implement this on the company’s intranet. We explicitly told the consulting firm that one of our goals was to get connected to the Internet. We scheduled a three-day workshop during which the consultant would go through the details of configuration and give us guidance on how to implement it.
When the consultant arrived, we were pleasantly surprised that it was one of the owners of the firm. However, the pleasure was short-lived when we discovered that he had no understanding of Internet mail and therefore could provide us no guidance on how to configure MS-Exchange for the Internet. We also later discovered that he was no expert with MS-Exchange because he spent the entire afternoon on the last day trying to get a basic configuration issue to work.
This taught us two things. First, just because someone is the owner of a consulting firm does not mean he or she knows what he or she is talking about. Unlike with doctors, few laws govern who can call him- or herself a consultant. Second, we were not clear with what our expectations were or what the consultant was to provide. Nothing was in writing other than that the consultant would give us a “workshop.” It was obviously up to the consultant to decide whether he had achieved this goal.
There are many areas in which a consultant is necessary. You cannot hire experts in every area. It would just be too expensive. Even if you do have people in your organization who are experts, it is often useful to have someone come in with a fresh perspective. As an employee, you often have emotional responses involving your system or company that a consultant doesn’t have. This is helpful to get to the core of the issue.
Another aspect is the specialization. A consultant has a particular skill set in which he or she knows almost everything (at least that’s what you’re hoping). Being really good at this one subject means that he or she may not be as useful to a company to hire the person full time. However, if the company is involved in a project that requires that skill, it is cost-efficient to hire the expert and get the job done more quickly. I think of setting up an Internet server as the primary example. After I had done it a few times, it became a lot easier. However, once I have done it a dozen or so times, it might become easy. Potentially, I could hire myself as a consultant to develop Internet servers. (But then again, maybe not.)
When you hire a consultant, you must know what you want out of him or her. What information do you expect the consultant to impart on you or what project do you expect the consultant to complete? What does “complete” really mean? If the project is configuring a Web server and all the consultant does is hook you up to the Internet, then the job is not done. If the project will take a long time and you expect regular status reports, have the consultant define when these reports are due. If he or she says every other Friday, then handing it to you on Monday is not acceptable.
You may not be able to use the correct “buzzwords” to define what you want, but you can come up with a clear idea of what you want.
Once you have the concept of what you want, you should work with the consultant to define the project in the correct terminology. However, don’t let the consultant confuse you. If you don’t understand, say so. There is nothing wrong with not understanding something. If you were an expert on this subject, you wouldn’t need a consultant. One thing that our MS-Exchange consultant did a lot of was talk in techno-babble. He would throw out a technical word to make him sound like an expert. The problem was that he really didn’t know much about the subject and often used the words in the wrong context. If you get the feeling that the consultant is trying to baffle you with buzzwords and techno-babble, it’s time to get another consultant.
When dealing with a consultant, you are bound to face concepts and vocabulary that are foreign. What about the other way around? Will the consultant know everything about your business? If the consultant specializes in your area, you would hope so. However, you are probably hiring a computer specialist, not a legal specialist or medical specialist or wholesale distribution specialist. Therefore, there is a lot that you will have to explain to your consultant.
Do not assume that the consultant knows your business at all. Specify every aspect of the project. One example is a wholesale soft drink distribution company. When people buy large quantities of soda, they are most familiar with buying by the case. A consultant you hire to develop a tracking system may take this for granted and write the program to deal only in cases. What if you distribute containers of cola syrup as well? These are not measured in cases. If you assume that the consultant knows this and don’t tell him or her and he or she programs for cases, who is responsible for paying for the changes? You said you wanted a tracking system and you got one. The project description didn’t mention the kind of units.
Don’t let the consultant get away with estimates on anything. If he or she estimates anything, it can be off. Just like the estimate on car repairs. The more vague the job description, the easier it is for the consultant to postpone or claim that something was never agreed on, in terms of time as well as money.
If the job will take a while and you have said you want status reports, you can use these reports for the basis of payment. For example, the project is to take 10 weeks with five bi-weekly status reports. Each time you get a status report, the consultant gets one-fifth of the total fee. Another way would be to set “milestones.” Each phase of the project is to be done by a certain date. At each milestone, the consultant gets a certain percentage of the total. The idea of completion-based payment is important if you have deadlines to meet yourself. The consultant must be made aware of these as well. It is not unreasonable to make completion within the time specified be part of the contract. However, you need to be clear in the contract what is to be done and by when.
The consultant may not be working solely on your project during the time you contracted him or her. This is acceptable, provided he or she meets all his or her commitments. Explaining to you that he or she couldn’t meet the deadline because of a problem at another site should tell you that the other customer is more important. They might be, so find a consultant who will consider you most important.
Do You Get What You Pay For?
Well, that depends. Just because a consultant asks for a high rate does not mean he or she is good. I consider Ferrari or Jaguar as examples. These are very expensive cars. They have a “performance” comparable to their price in that they go fast. If you buy a Ferrari consultant, he or she might be done with the job in a short time. However, as with the Ferrari, you might spend as much on repairs as on the cost of the car.
On the other hand, a consultant’s rates will get higher as he or she gets better. Not only does he or she have more technical ability, but he or she has the ability to do a better job more quickly. As a result, you pay a higher rate for his or her time, but you pay for less time. Therefore it comes out cheaper in the long run. Even if it is not cheaper on your checkbook, having the project done faster may save you money.
Some consultants are paid $200 an hour, some are paid $1,000 a day. Those are reasonable prices. Your employees (probably) don’t get paid that much, so why should you pay a consultant like that? Well, first, a consultant may not be “on the job” when he or she is at your site. Depending on the project, there maybe hours, days, or even weeks of preparation. Plus, there are all the administrative costs for the consultants office. You have to pay for the people in your IS/IT department out of your own budget, but for not the company receptionist. The consultant does.
Remember that the consultant may have complete access to all of your data. Though I am not saying he or she is likely to be a spy for your competition, you need to be careful. Even if the consultant doesn’t have access to your more precious trade secrets, having him or her sign a nondisclosure agreement is a wise decision. This could be as simple as stating that the consultant is not to disclose any aspect of the job to anyone, or it may go into detail about what is and is not to be kept secret. Talk to your lawyers about this one.
When the consultant finishes the project, who owns the project? Well, you do as far as the project within your company is concerned. The consultant is not going to charge a license fee to use the program you paid him or her to develop. (We hope.) However, what about the code itself? This was done on your time, so like the code a regular employee writes, it’s yours, right? Well, it may be the case that the consultant does keep the right to the code he or she has written, although the compiled, running program is yours. Make this clear in your contract. If you want the right to everything written by the consultant, make sure that part is written in the contract as well.
One important aspect of the contact is the default terms, that is, what happens if the consultant defaults on the agreement. This is especially important if you have deadlines and by not meeting them you loose money. It is not unreasonable to deduct a specific amount from the total for going past the deadline. Not only does the consultant not get paid for those days past the deadline, but money is deducted from what is owed him or her for the other days. I have seen consultants who intentionally overextend themselves just to get a contract. They can promise to have it within a certain time, but have no pressing need to unless they will be loosing money.
You have to be careful with this one. If the project is a feasibility study and it turns out that the project is not feasible, did the consultant do his job? Sure, he or she determined whether the project was feasible. Therefore, he or she did his or her job. Also, what happens if the cause of the delay is not the consultants fault? If you promised him or her certain resources that were not available, you are at fault.
You might even get a consultant who has an attitude of all or nothing. That is, if he or she doesn’t deliver on time and what is promised, you don’t pay him or her. However, you can guarantee that this consultant will probably have you spell out everything you want done so there is no room for discussion.
Points to Remember
When dealing with consultants, remember these general issues that will help make things easier:
- A consultant is not one of your employees. Don’t insist that he or she arrive at a certain time or work until a certain hour. Maybe part of what he or she is doing can be done at his or her office. You’re concerned with him or her getting the project done on time and not being physically present at your site.
- Judge the price you pay by what it would take you to do the job without the consultant. How many hours would it take? How much money might you loose? If you would end up paying more than a “high-priced” consultant, the consultant is cheap. However, comparison shopping is also valid for consultant. Get a second or even third estimate.
- Insist on some kind of proof that the consultant knows what he or she is talking about. A resume is fine, but references are better.
- Make sure the consultant communicates well. Can he or she express himself? Does he or she understand your needs and requirements?
- Be comfortable with the consultant. If there is something about him or her that you don’t like, you don’t need to hire him or her, just as it would be for a normal employee.
- Don’t judge the consultant by personal appearance. Then again, I wouldn’t hire a slob. It’s okay to expect him or her to be clean, but don’t expect a suit.