Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.
If this question can be reworded to fit the rules in the help center, please edit the question.

2

This is off topic here. Perhaps you ought to edit it to make it more specific for programmers. Thanks for consulting us though.
–
BlackJackAug 31 '11 at 1:25

are not the people that do IT consulting firms also programmers?
–
JennTayAug 31 '11 at 1:46

Before your edit the question was basically "What do consultants do?", which is incredibly broad. I think it's good now.
–
BlackJackAug 31 '11 at 1:56

@JennTay: No. IT consultants are not all programmers. Some are. Some aren't.
–
S.LottAug 31 '11 at 2:59

5 Answers
5

Seriously though "consultancy" is a very vague term and can cover many things.

At one extreme are low level body shops which hire fresh graduates at $250 dollars a day and farm them out to large corporations at $1500 dollars a day. The lack of experience is regarded as a good thing as they take longer to get the job done, their work needs more testing and there are more defects to fix, all of which means more billing.

At the other extreme you get small boutique consultancy firms with some "big name" employees who give expert advice on a subject they actually know about.

Most of the big name consultancies are actually a mixture of both, they have a small core of real experts which lend them credibility and a large pool of worker drones who bring in the money.

There are degrees. A "contractor" does what you tell him to do, an you pay him. You have less control over him than over an employee, and the option to let him go with rather less ceremony. A lot of contractors (staff aug or feature development teams) list themselves as consultants. Contractors are paid for producing a product.

A "consultant" will analyze your situation and give you advice and additional informations and perspectives. The work product is often a white paper, written by someone who knows the business, which can help you to make decisions. The value of the advice is related to the reputation of the consultant. Letting a lean expert examine your production system can be worth a lot of money, likewise someone who can iron out your product management or software process.

In related circles you find a coach, who is someone who helps your team to implement a certain process or set of processes. This person is experienced in various people skills, logistics, and technical skills. The coach's product is a team that can perform the new skills at least adequately and can self-improve from that point.

Typically an IT consultant is a consultant and may be a coach. You pay for research, analysis, recommendation, and sometimes coaching.

Also be aware that there are contractors who are also consultants and coaches. You may bring them in to help build a product, only to received valuable advice, training, and coaching in addition. Treat those people nice... you need a good relationship with them.

One of the reasons contractors and consultants are (mistakenly) interchanged so much is because on small (smallish?) projects they're typically the same guy. After all, if this one guy spent 2 weeks analyzing your process, and 2 more weeks devising what requirements a solution would have, if he has any coding skills at all, the hard part's done already. Plus, a contractor probably has a tool box with which he can whip out solutions to common problems pretty easy (and of course, bill full price for them). I've seen 'consultants' write wrappers for subversion and charge tens-of-thousands.
–
corsiKaAug 31 '11 at 6:57

I was working at a telecommunications company and they wanted to get Siebel up and running and didn't have any real in house experience (at least that's what they thought, we in IT probably knew more than the the consultants, but management wanted to blow a few million I guess). Anyway they bring in Accenture (big name consulting firm). They brought with them some experienced (and some not so as noted in other posts) developers and a pre-done configuration for Siebel.

These folks gathered requirements, designed the system, and did some of the implementation. If we had wanted to spend more they would have done all the implementation, but the company wanted to train a bunch of us IT folks to keep things going once Accenture got it started.

Big consulting firms have lots of people with different skillsets and different levels of experience. The skillsets range from telephone support through to high end project managers / Architects. They then hire out the staff (at a huge mark-up as James suggests). In the better firms they will have career development plans, decent HR & will look after the staff and move them from contract to contract - however in bad times they can and will have massive rounds of redundancies.

They will hire out anything from one Enterprise Architect or DBA to a whole programming team including managers & testers. Their bread and butter is signing a big outsourcing deal and supplying 3 team of DBAs, several short term project teams of programmers and other support staff based worldwide providing 24/7 support. The company doing the outsourcing may even see a reduction in costs because they don't need to pay 100% of a good DBA but end up with a mix of 75% junior DBA and 25% a good DBA with even better ones available when necessary. The consulting companies are also usually very capable and efficient at ITIL or similar so they are a lot better at managing the IT function than non-IT managers in, say, a big mining company.

The consulting firm does some of the customizations that the enterprise software requires for a company to use it as intended. The software that is so flexible and scalable that it requires someone to properly configure it and get it rolling would be another way to describe it.

If you can imagine companies that are paying hundreds of thousands of dollars to buy the software, it isn't that hard to imagine other companies charging tens of thousands to customize it for a client.