This may seem like a strange question coming from someone who makes their living as a consultant, but why do companies use consultants? I think there are many answers to this question but they can be summed up into a generic statement – when they need resources or expertise that they don’t have.
I know what you are saying “Duh! You’re just stating the obvious”. So let me elaborate. Back in the day when I was founding startups (BluePoint, PointCast, PrizePoint/Uproar) I ran development departments, heck I did a lot of the development myself. I would never have envisioned a scenario where I would look outside my own team for technical expertise. If there was something we didn’t know, we learned it, that way we captured the knowledge within the team and created value as an organization. The one time that I did reach out to consultants, while anxiously preparing to bring our first website based on Microsoft’s relatively new ASP (yes the VBScript stuff!) online to service what we thought would be millions and millions of users, I tapped one of the big consulting firms to assuage my business partner’s concerns. What I got were half-dozen junior engineers that regurgitated MSDN articles from the web, there was no “ASP master” that I was looking for to be found, and every scrap of information they provided I had already seen myself. They couldn’t answer any of the questions I had and it was clear they were clueless. This was all costing the company $200 per hour per consultant, and I wasn’t getting any value.
Needless to say my first experience with hiring consultants was disappointing and swore me off ever talking to consultants again, until a few years later I found myself working as a consultant.