I have participated over many years as a successful BI Consultant, but still the true nature of consulting seems elusive to me. Simply put, "Consulting" means providing expertise, advice or recommendations to someone else whose responsibility it is to act. Good consultants solve problems for their clients. Good consultants have some sort of expertise that their clients don't have.

Before going any further let me share a joke about consultants - A nuclear power plant was about to blow, so a consultant was called in. The consultant came in, punched a few buttons in the control room and the situation was fixed. When the consultant presented the client with a bill for $10,000, they said, "You were only there for 5 minutes and you're charging $10,000? That's outrageous!" To which the consultant replied, "The 5 minutes of my time only cost $5. Knowing which buttons to push to avoid disaster costs $9,995."

As consultants we surely need to have the expertise that our clients lack. But we also need to provide our client the knowledge that they need for the time after we leave the assignment. In the above example the consultant fixed the problem in 5 minutes. But would the client have asked any questions about the consultant's billing rate if he had spent another 1 hour transitioning knowledge of what went wrong, provided some tips and tricks, and enabled the client to take care of such issues themselves in future? Would this make the consultant lose any business? In my opinion, absolutely not. In fact it would earn him a reputation that would make him a preferred choice for the next project.

When we design a solution we must also consider how easy or difficult it would be for anyone else to maintain that solution as we will not be on site there forever. From my experience, most people seem to think that processes and creating documentation slow down a project. I see them as accelerators, since they enable the client for the long run. How we wish that somebody had documented things in a better way when we move to a new assignment in the middle of a project when the original team and their knowledge is no longer available!