Software consultants and contractors provide essential services to many corporations. They bring specialized skills and knowledge that can speed up projects or free up staff members for other tasks. It is not unusual for large firms to hire hundreds or even thousands of IT contractors for periods of a few weeks to several years.
Most of these temporary engagements are successful but there are many horror stories about consultants not delivering as promised or making a mess of things. There are steps you can take to reduce your risk and make your consultant relationships more successful.
Start by being clear about why you are hiring a consultant. Often, consultants are brought in to fix something or to simply add staff to a project. There is a hidden danger in that fixing a problem is frequently a matter of improving the process not just returning the system to normal. The consultant may cure the symptoms but leave the underlying problem unsolved.
This results in short term victory but long term frustration. It will appear that consultants just do not fix things properly or completely. If you need repairs, hire someone skilled in getting you up and running. If you need reengineering, hire someone skilled in business process design.
When it comes to adding staff to an existing project, be sure you have adequate management controls in place to assimilate the new person and manage her workload. Just throwing people at a problem never results in an optimal solution.
Another problem area is orientation and training. New employees attend classroom sessions, are introduced to many others in the organization, and are given plenty of materials to review. Consultants are generally expected to fend for themselves and figure it out.
While this may seem cost effective on the surface, consider how much time a consultant may spend chasing information that would have been easily uncovered had he received minimal training. Also think about how difficult it is to fully understand and solve a problem when you do not have the benefit of all the background information.
By throwing consultants into the fire, you are making the project more costly and longer while constraining the solution to whatever the consultant can dig up. Being completely transparent and offering plenty of assistance will make you both more successful.
Now, think about expertise. Companies hire consultants with specific skill sets to address issues that they are unable or unwilling to address themselves. Yet, often they ignore the advice of the consultant and insist upon a certain solution implemented in a specific way.
Why would you hire a subject matter expert and ignore her advice?
Sometimes it is because the manager does not understand the technology and is looking for a quick and inexpensive fix. Sometimes it is just old fashioned resistance to new ideas. Regardless, if you ignore the advice of the expert you hired, your end result is at increased risk of failure.
On the subject of failure, it can occur in the short or long term. Before the consultant walks in the door, you need to be thinking about what will happen after the consultant is gone.
Who will be responsible for the consultantís work? Who will maintain it after he leaves? What systems will be impacted by his work? What kind of documentation will be needed and who will provide it?
Answering these questions up front will make the entire effort smoother.
Scope creep is another high-risk issue. You bring in a contractor for a three-month assignment and it turns into 12 months because the project just keeps growing. This type of situation is sadly commonplace in software development but you can combat it.
Be clear about the contractorís responsibilities and equally clear about your own in supporting her work. Implement and enforce a strong change management process. Do not hide behind the process as a means of blocking change. Instead, use it to fully define and control change. Everyone on the project will be less stressed and more productive.
Administrative details are often ignored but equally important to success. How will the consultant be paid (hourly, weekly, per deliverable, etc.)? How long will it take to process invoices? Is there any added compensation for working more than 8 hours per day or for weekend/holiday time?
When these issues are openly discussed up front, everyone feels better knowing how the relationship will be managed.
Consulting fees vary widely across the country and by specialty. You may find that you can hire a Visual Basic programmer cheaply but have to pay high rates for a Java developer. It comes down to supply and demand, of course. Equally critical are the levels of professional development and experience required to get the job done well.
Do not set arbitrary maximum rates for consultants. You may find someone willing to help you at low rates but in the long run it will cost you more. If you need hard-core technical expertise and good problem solving skills, it will be expensive.
Finally, consultants and contractors are people just like everyone one. They do not require special treatment but they do not deserve to be treated like second-class citizens either. Treat them like everyone else and expect a high level of professionalism and integrity in return.
Vin D'Amico is Founder and President of DAMICON, your ADJUNCT CIO. He helps companies avoid the subtle mistakes that cause missed deadlines, lost opportunities and fragile results. He shows them agile approaches that slash risk and cut development time so they get to market 25-50% faster. He helps them carry that momentum into the sales cycle using white papers and case studies that accelerate the selling process.
This article appeared in Vin's monthly Virtual Business column for the IndUS Business Journal in January 2008.
To learn more about how DAMICON can help your business, please take a look at our service programs.
This column appears monthly in the IndUS Business Journal.