Friday, October 29, 2010

A Code of Work Rules for Consultants

I frequently meet a consultant who is deeply troubled by the implications of the work of a consultant. What we do today may affect the lives of thousands or millions of people for many years to come.

Moreover, most of those people we affect won't have any way to relate a discomfort in their lives to what we are doing today.

They will, perhaps, sheepishly accept the explanation, "That's the way the computer must do it," or the even more insidious, "that's the way things are."

Some consultants I know, particularly those working in shops where nobody ever looks at anybody else's work, salve their conscience by sabotaging their client's information systems.

In many cases, it's difficult to tell whether this is intentional or unintentional. In other cases, there is no doubt.

Many programmers, analysts, and consultants have complained to me that their work holds no meaning for them. They don't know what is being done with the piece of design or specification they work on, or they know and don't approve.
Their response is to stay on the assignment, draw their fee, and badmouth their client at every safe opportunity.

I think it's time we stood up to be counted. We have an enormous responsibility to the people whose lives will be impacted by the organizations we work for.
If we don't believe in what our client is doing, or we don't understand it, then why are we working there? To draw a fat fee? Then what does that make us?

For some years now, I've been giving a set of principles to consultants who are seeking a new assignment, or are considering changing their present assignment because of such doubts.

In recent years, as the job market shrinks, the number of such doubters seems to be increasing so I thought that many professionals would like to see these principles written down:

1. I will not work for an organization whose goals are not consonant with my beliefs.

2. I will not work on projects whose goals I do not understand, or cannot agree with.

3. Before becoming part of a project, I must first obtain agreement on what percentage of my time I can (and must) spend on continuing professional development, and what resources will be provided me for that purpose.

4. I will not work under measurement schemes that pit one person's performance against another's. Rather, I will co-operate totally to help others in the project achieve their full potential, as I expect them to help me do.

5. I will not accept work without understanding what is to be done, and why. Nor will I pass work to others without their similar understanding.

6. All my work will always be open and available for critical comments (circumscribed, as appropriate, by security considerations). Furthermore, I will always stand ready to review the work of others in exchange for them returning the service to me.

7. As long as the above conditions are met, I will devote myself in the utmost to achieving the goals of my client and their project.

Over the years, I've found that people who ask these questions and set those conditions don't wind up in jobs that make them miserable. Sometimes, when they ask them honestly they leave their present position for something else that makes them happier, even at a lower fee scale.

Sometimes, a client manager is outraged at one of these conditions, which is a sure indication of trouble later, if not sooner.

Many of us lost souls need some guidance, and it might have been easier to have a set of principles when the job market wasn't so tight. But over the years, I've learned that consultants following these principles are more successful at landing good contracts–ones that make them richer and, more important, happier.


Graham Oakes said...

Re. 2: I often need to work for some time with the client before I really understand their goals. Sometimes that's because I'm slow; sometimes because the client is dealing with deep issues that aren't immediately obvious to new people; sometimes because we just need to establish a common language. So I'd kinda like to qualify this principle by accepting that I'll work on projects I don't understand, so long as there's commitment on both sides to build understanding.

(Sometimes the value I bring is accepting that I don't understand, and using this to ask questions that help everyone understand the goals.)

Eusebiu Blindu said...

Nice advices. Quite difficult to follow for young consultants or consultants that don't have a lot of projects to choose from.

Matt Green said...

You cannot be just a "consultant" - it's a non-job. You can be a consultant programmer or a consultant manager or consultant orthopaedic surgeon.

Once you've identified your true profession then find the guiding ethics of that profession.

jon said...

Wow, it was a shock to read your lead-in to the list. I kept finding myself saying "really?" and "ugh!"

It's almost a shame that you have to post this list -- in that it reflects a state of affairs that you and others have observed. I naively assume everyone innately follows your tips -- as I think I have done my entire 35 years of working (starting as a dishwasher, even).

Knowing better, however, that your picture of reality is just that, I always advise that folks (employees and consultants, alike) need to be financially independent. If you live paycheck-to-paycheck, it is harder to buck the system than if you have a 6-month or greater cushion of savings.

I humbly submit, you might want to add:

"8. Be financially sound so as to not have to compromise your principles for the sake of a paycheck."

Don said...

I always love reading your General Systems Laws, your rules-of-thumb, your guiding principals, your check lists. There's usually something new, something clarified, and lots of validation. I know why I'm such a happy guy... I've been careful about who I work for. (And I'm blessed because I've had some options.)

Pradeep Soundararajan said...

I imagine that some part of my consulting work for all organizations is to make those organizations that are currently non consultant friendly to consultant friendly.

I may add a principle to myself saying: If the organization seem to not comply with any principles mentioned above, I should try making an offer to helping them out be consultant friendly.

The beauty of commenting on this post is, I know you'd help me think better than this.

Ken MIzell said...

Good post!

I find that people in general will be happiest in their role when it aligns with three things:

1. Their values
2. Their abilities
3. Their interests

This can mean anything from ethical and moral values to how much they value their time or effort (how much they are getting paid). If your current consulting role is not in line with your personal values then you will be miserable doing it (even if you find it interesting and you have the ability to succeed at it)

If you are in over your head (meaning that no amount of training can bring you to the level you need by the time you need it), it won't be long before your client notices, and complains, OR before you extract yourself from the position out of a moral obligation to not offer terrible customer service.

You could be the best _________ in the world, and be doing it for a company who shares your values, but the work is SO boring, that your mind is constantly wandering elsewhere from the monotony of the project. If your work cannot hold your interest your itch will be to leave.

When you find something that is in line with all three, you'll tend to excel at it.

Ken Mizell
Vice President of Software Test and Quality Assurance – Mantis Technology Group Inc.
c. 206.852.0249
w. 425.250.0421
f. 425.250.0401

“Whether you think you can or you think you cannot, you are right.” Henry Ford