A contractor or a consultant—How to decide
Sometimes you need to hire both. What are the
differences between these important third parties?
By Steven Gould
I am frequently asked by clients to explain the
differences between consultants and contractors. Many—if not all—medium
and large companies with an IT department frequently use these third
parties. It's important for me to state up-front that I'm a professional
consultant. That said, these differences are important for IT leaders to
understand, and I hope I can shed some light on the topic.
The line between the roles of a consultant and a
contractor is thin—and sometime it blurs. Some of the more experienced and
business-minded contractors may be able to provide some of the services
normally provided by a consultant. A consultant, however, should always be
able to fill a contractor's position.
What is a contractor? When hiring a
contractor, you typically deal with one of the many "body shops" and
review a handful of resumes. You then select the individuals whom you are
interested in interviewing based entirely on their specific job skills.
For example, if you know you need a Visual C++ programmer, you try to
identify someone with Visual C++ experience.
The people you interview in this way are effectively
individual contractors represented by a larger contracting agency. As
their contract with you approaches its end, they are likely to begin
looking for their next assignment, since they are typically paid by the
hour, and only for those hours billed. Their next assignment may well be
through a different contracting company.
When dealing with contractors, you will find that they
typically do only the task or tasks that you assign them, leaving you in
total control of the project scope, deadlines, and budget. This can be a
very beneficial relationship for you, your company, and the
contractor.
What is a consultant? Now that we have taken a
look at the role of a contractor, some of you may wonder, "I have people
just like that who call themselves consultants. How is a consultant
different?"
A consultant is a full-service, experienced
professional who walks in with a broad range of skills and a good business
perspective. An effective consultant is better able to advise you about
different technologies, and the advantages and disadvantages of each when
applied to your business situation. A consultant is able to assist you
with strategic planning and goal setting, provide full life-cycle support,
and help you meet your deadlines. In this way the consultant shares, and
in some cases owns, responsibility for the success of the
project.
Consultants should not only accomplish the immediate
task at hand, but also provide a complete business solution, making your
job as an IT manager easier. They may add enough value to a project to
effectively put themselves out of a job!
In most cases, consultants work for a large, diverse
consulting company. This gives them the technical and business backing of
a large organization. This in turn enables them to draw on a substantial
pool of talent, both in technical and business arenas. The relationship
between you and a consultant is much more than a relationship between two
individuals; your relationship extends to the entire consulting
organization. This type of relationship often lasts longer and is
beneficial to all involved.
Which should you use and when? Deciding
whether you should hire a contractor or use the services of a consultant
is not always an easy choice. At times, you may feel that you need someone
who commands a specific skill set—as a contractor does—to work on a new
project when the business goals and objectives are not yet clearly
defined. However, in cases like this, in which there are clearly important
business decisions to make and goals to set, the services of a consultant
are likely to be the most beneficial to your company.
When you have an existing system and you need a
programmer to maintain it and perform minor updates to the application, a
contractor is likely to be sufficient. A consultant may be more beneficial
if you intend to rewrite an existing application or add extra
functionality, as you would in moving an application from a mainframe
environment to a Web-based environment.
Even in cases in which you feel you have a firm grasp
on the business and technical aspects of a new project, you should still
consider employing the services of a consultant. For example, let's say
that you have already analyzed your requirements for a particular business
application and have decided that you will need three Visual BASIC
developers, a SQL Server DBA, and one Visual C++ developer. You may
already have some of these available on staff, but could supplement your
regular staff with one or two contractors. Alternatively, you may be able
to find a consultant who can fulfill the role of the Visual C++ developer,
and can also take a more proactive role in the overall development of your
business application. In this case, a good consultant would perform the
specific tasks required while keeping a lookout for potential problems and
helping ensure that you meet your business goals.
In situations where you have identified a new IT
project, but are unclear about which options best suit your needs, a
consultant may be able to help you make the right decision for your
business. Larger consulting companies partner with many of the major
vendors and usually have experts in each technology on staff, so they are
better able to recommend alternative solutions that meet your business
requirements.
In summary, some of the more experienced and
business-minded contractors may be able to provide some consultant-style
services. However, a good consultant should usually be able to fill a
contractor-type position. In addition, a consultant can help identify
potential problems before they occur, offer superior efficiency and
productivity, and take full responsibility for the success of the
project.
About the author: Steven Gould currently works
as a lead consultant for an international consulting company. Based in
Dallas, TX, he develops primarily in C++ and Java under Windows NT and
various Unix platforms. He is a Sun Certified Java Developer and Microsoft
Certified Solution Developer.
|