As a consultant, there are 7 rules that I hold for myself and my customers.
1: Ask questions
At all stages of a consulting engagement, including the pre-engagement work, asking clarifying questions is critical to a project’s success. I have seen projects fail due to consultants not wanting to ask questions (e.g. they don’t want to look like they don’t understand) and from customers not wanting to answer questions (they want to keep their information “private”).
2: Know the limits of your ability
I love learning new technologies and sciences. I will take on projects where I am stretching myself; I will not take on projects where I am pushing beyond my abilities. I will either recommend a co-worker or another company.
3: Provide honest estimates
An honest estimate takes into account the information provided by the customer and the industry/domain knowledge of the consultant. The estimate should provide a list of assumptions baked into the proposal; the expected deliverables, and the limitations of the estimate.
4: Communicate regularly
Once a project has started, regular communication with the customer is essential to guarantee that the project remains on track and that the customer’s needs have not changed.
5: Teach what you have learned
As I work with a customer, I am always teaching them what I am doing, both the how and the why. If at the end of a consulting engagement, my customer does not understand what I did then I consider that a failure.
6: Be around afterwards
After a project is completed, even after the budget has run out, I am still available to answer questions that arise. I do for three reasons. First, there are always issues that arise 2 ~ 3 months down the road. Second, documentation, no matter how good, can always be clarified. Third, it is just polite.
7: Get to know the client
On most projects, I will work with the client for 200+ hours. Getting to know you, my client, makes for more enjoyable working conditions for everyone involved.

