When Should a Consultant Question Decisions?
bay43270 asks: "Presumably, companies hire consultants because they need technical expertise. At some point (if not on a daily basis) a consultant is asked to do something that isn't in the best interest of the company (and therefore may not be in the best interest of the consultant in the long run). The consultant must ask 'do I just say "yes sir" and go to work, or do I try to explain things? If so, how hard do I push?' When should a good consultant question a decision, and how does the situation differ with contract programmers?"
... on the reaction you get the first time you try it. As an employee or contractor I would feel obligated to point out why something may be a bad idea. If I get my head bitten off after that I would default to "Yes sir, here you go, exactly what you asked for." Fortunately I have a boss who listens when I point things out. Sometimes he acts on my recommendations. Sometimes his response is "You have a point, but we're still doing it this way."
Yeah, I know - a lousy answer, but it's the only one I've got.
"An unarmed man can only flee from evil, and evil is not overcome by fleeing from it." Col. Jeff Cooper
Presumably, companies hire consultants because they need technical expertise.
I'm not sure if I'd make that assumption. A company may hire a consultant because they want an outside opinion. Everyone at the company gets so used to thinking the same way they lose sight of the forest for the trees. If I were a consultant, one of the first things I would make sure I understand is exactly why I'm being hired. It is entirely possible that the company may claim to want an outside opinion but there actions seems to indicate that they do not. In such cases, you may need to remind them periodicially what you were hired to do.
If, for some reason, you don't have this initial discussion with them, I think you still have to assume that they want you to critically examine their decisions. If they finally get fed up with you questioning their every move, I'm sure they'll let you know. At that point you can decide whether you want to continue to work for a company that disregards your opinion.
GMD
watch this
I think this is really unethical. If you take the job, then do the work. Doing a lousy job not only going to hurt you, it's going to hurt your reputation.
Simply stated, if a client is paying cheaply (well, as close as that gets in consulting), they deserve the minimum information and just get what they ask for.
If a client pays well or tips well or has been a long time repeat client, they deserve that extra time taken to show which judgement would be best and why.
That's just plain irresponsible.
You are a consultant because they are going to you for advice, in addition to implementation -- if you were there solely for implementation, your title would be "Gofer" or some such.
In other words, it doesn't matter how much they are paying you, you signed on for the gig, and if they want to implement something that you feel is a bad idea, it's your responsibility -- per your job description -- to advise against it.
evil adrian
if a client is paying cheaply...they deserve the minimum information and just get what they ask for...If a client pays well or tips well or has been a long time repeat client, they deserve that extra time taken to show which judgement would be best and why
Nice work ethic there, Sparky! Nothing like doing a good job for the sake of doing a good job. No sir-e! Show me the money!
Tip: You should go into medicine. There's tons of money to be made off of pesky poor people and, hell, since they aren't paying well you can just throw a bottle of asprin at them and save your best work for people who are worthy (rich).
Please. You are hired to do a job. When you were brought on, if you had a problem with the rate, you could have said something. Hell, you could still say something. That's called negotiation. But it isn't blackmail. "Oh, I'll only work hard if you keep meeting my demands." Show some class. Show some self-respect. Demonstrate you have a moral sense of right and wrong and you aren't just a high tech whore...
I would have to say that explosives are the most abused technology in all of history.
I'm assuming the poster is in the US. I'm from Sweden myself, and I'm currently working in USA (since 6 years). I can clearly see a big cultural difference here. In Sweden (at least in the companies I've been working for), you're always assumed to question whatever management ask you to do, regardless of your position in the company. They are always grateful if you find a better solution and count on you to express any doubts or questions regarding the proposed task.
While I've been in the US, I've been asking questions in the same way and this sometimes lead to real frustration. People don't want to be told that they might be wrong. The response is typically, "well, it's nice of you to express your opinion, but this is how we do it" without even be willing to discuss the matter.
This is just my experience and hopefully not typical in the US workplace.
Jim in Az
You should always let them know if they are making a bad decision. They may not always take your recommendation, and may even get to the point where they EXPECT you to argue (like they did with me) -- but otherwise you are just a seat filler.
You are hired for your technical expertise. If they say, "It must be done like this", then I have no problem speaking up with a "that will be extremely slow".
But here's the key: Be prepared to provide an alternative. If you critisize, but don't provide a solution, they may just see your comment as non-productive. However, if you get in the habit of providing better solutions, they may start asking you to find a solution to begin with.
Malachi
http://www.google.com/profiles/malachid
No, you said:
if a client is paying cheaply [...], they deserve the minimum information and just get what they ask for.
If a client pays well [...], they deserve that extra time taken to show which judgement would be best and why.
Your performance should not be tied to the amount you are paid. If they pay too little for your expertise, don't accept the job. This is unethical if you did not inform your "cheap" employer that this is what they're getting before signing. They read your resume, offered you money for the knowledge that resume represents, and you took the money.
Instead, how much you say should be determined by how receptive the client is to your ideas, not by how much they pay.
Just make sure that you don't give them so much information that they feel they no longer need your services, as that could also be a dangerous move.
This is also unethical. A consultant's job is to teach at the pace the students learn, not at the pace you can find a next gig.
1. Don't "unsell" anything that your sales team has sold. It doesn't matter that they dont need that particular widget - don't tell them that.
2. Make recomendations for how they could do things better. They will expect this. This is the difference between a consultant and a contractor.
3. Don't make the customer feel like an idiot for having designed/implemented something in a less-than-perfect manner. Politely suggest the necessary changes and give them good reasons why they need said changes. And don't make the customer feel like an idiot.
These 3 should get you started...
I'd rather be a conservative nutjob than a liberal with no nuts and no job.
The answer is simple.
Stratigic errors are invariably traced back to moments when the group/project changed direction. The small daily things are just that, small, they are dealt with and things carry on. Tactical mistakes on Tactical issues are just the day to day part.
One of the most important pieces of information being bought by anybody employing anyone for any purpose is the employee's "list of known bad things."
Pointers:
0) TAKE RESPONSIBILITY for EVERY MISTAKE YOU MAKE. Don't make a bid deal over them, don't "fall on your sword" just say "my bad" and move on. Hell take the casual fall for others if necessary to get the repairs started. To the greatest extent, who is at fault is the last thing that matters once the mistake is out. Most people have already decided anyway and almost everybody almost always knows the exact truth before the showdown anyway. As long as enough was learned to prevent a repeat, the issue is over.
1) Teling your boss "no" is your most sacroscant duty, but it should be approached the way you would tell him his fly is down (or there is toilet paper hanging out of her skirt band.) That is TACT and URGENCY are at war. A timly rescue of face in an emergency is more important than tact and will be remembered positively; but in the absence of extreme pressure, being less-than-tactful will be remembered negatively.
2) Know the difference between the stratigic and the tactical, NEVER let a issue or mistake you know is stratgic get treated as a tactical issue. "I didn't think it would matter this much" is the lament of the under informed. "I could have told you it would" is the response of the guy who most needs to be fired. 8-)
3) State your position as a recommendataion, especially if your boss is well invested in ego games. "I would reccomend against because..."
4) The next step is to banish "ok, but..." assume any positive assertion will be processed only up until the "but" and that the but, and all the following words will be. "We could do that but it will have problems when..." will feel like a vote in favor.
5) Learn the prefix phrase "I have no informed opinion", stress the "informed" as necessary. This phrase will, up front and attached to what you really want to say, easily and professionally presage that you would be guessing, are willing to guess, or not willing to guess about. Advice given in known ignorance is not a crime, it's a sin...
6) Finally, be willing to be out voted or overruled, and never let the fact that you were so overruled or outvoted color your ego or implementation. Presume there are factors you may not know or have control over and be part of the team once the team moves.
Many people suggest getting everything in writing. Don't do that. Just get the important things in writing. It's only important to get things into the record at whatever level "the record" belongs. Overstressing the "I want it in writing" vibe makes you look either weak willed or un-trustworthy. Depending on the type and nature of the circumstance being discussed there are lots of ways to get on the record. (for instance... 8-)
1) Get it in writing as a direct order if you must.
2) Send it in email with a request for confirmation or clarification.
3) Send an "unless otherwise directed" email. (especially when others are unwilling to make any decision at all, time is being wasted, and you know there is no inescapable harm. Fait Acompli can be outstanding mojo.)
4) (in casual company on minor matters where the relationship is good) just say "I reserve the right to laugh at everybody when the thing catches fire." (but don't over use this unless it's family 8-)
(The secret evil thing most people forget, if you bother to get it into the preminant record, * keep * a copy of that record somwhere you control, don't just leave it on the corporate email server... 8-)
In short, the three greatest failures in an employee of any sort are:
-- Failure to speak, to risk speaking, when others are in danger.
-- Failure to act when direction has been set.
-- Failure to balance both tact and urgency in any assessment.
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
I think there is a critical difference between a contractor and a consultant. The former is hired to complete a specified task (the more specific the better). The latter is hired to provide information, knowledge, expertise, etc. in order to make better decisions.
;>
So I'm puzzled at the claim that "make a minimal number of decisions" is to be applied to a consultant. Surely when you consult a lawyer you expect advice, not someone to just file the papers you specify
A contractor does as there told, and in the absence of being told anything, may do nothing. (Although this would be considered poor even for a contractor). A contracter is contracted to perform a service, code for example. Given a set of specifications, they code well, debug well and implement well.
A consultant is a value add. They are a contractor plus, they provide additional expertise and insight gained from experience that is sometimes difficult to find within a company. Many companies that hire consultants have an in-house staff consisting of "big fish in a small pond." This is not demeaning as it sounds. Consider a tennis player who only plays high school students. With few exceptions the best they will become are as good as their experience. Development is the same way. I tell people when I leave, their people will know as much about what I bring as I can pass along.
This was all leading into the question. If you are unable to explain the reason to take an action, or to select a different path, one of several things may be occurring.
I am not explaining the options well. An issue for you to deal with and not your client. My inability to explain a situation sufficiently to be convincing, is my issue not theirs.
I am working against "it cannot be done this way" mentality. On the last two sites I worked at, I was told they could not, or specifically, it was impossible to do what I was asking. As it turned out, it was impossible because they had never done it and did not know how. In two situations at the last client, I was able to remove a full time manual process (30+ hours per week) by automating it in less than one week. A miracle? No. I knew it was possible.
You don't know the politics. A good read for Developers and Leaders alike is Rapid Application Development - Taming wild software Schedules. It gives insight into this aspect. In many cases a project cannot get approval to do it "right", but can get approval to "do it" then "do it right" in support. Logical from the outside? No, but understandable.
You are missing something and they may not want to tell you. I have seen projects were they were approved to the dollar. If it went over, even by a few hundred dollars, it was killed. Even if it lost thousands. The logic(?) being that it is better to kill a project that is over budget immediately, rather than let it continue on. This may be the case or it may simply be you do not know all the players, policy, and interfaces involved.
In some of these cases you can keep trying. Hoping to add value. The attempt, given it has good business sense behind it, will keep that client happy, even when they do not choose your ideas. At least they see new ones coming and maybe the next one will hit.
Personally, I think that's doing your job. You say "It's a bad idea. I won't do it unless I have it in writing that I was opposed so I don't get blamed for doing what I think it is going to do"
If anything, it might convince the higher-ups that maybe it's not such a smart idea if the expert is so adamant about assuming responsibility for what he expects to happen.
If you show that you're happy to do something you disagree with (albeit not without avoiding misrepresentation of your actions) then you'd look a lot better in management's eyes.
Karma: Non-Heinous
Basically, if they're paying the bill, you have a responsibility to deliver what they want (if possible). And if you can't or won't, you have a responsibility to tell them.
'What they want' is the question. They may want opinions, or they may simply want hands typing. It's okay to ask. And if you don't like the answer, then you can decide how important 'being right' is to you. Keep in mind that 'Right' is often relative. And sometimes it takes people time to come around, longer if they've been forced into a corner.
I've been lucky that most of my clients have wanted my opinions and experience along with actual code. They haven't always listened and it has often been frustrating. But even though I may know certain aspects of 3D optimization (in my case) better than them, they know their business and their overall needs better than me. In many cases, I was probably right about 'what we should do' and they were undoubtedly more right about 'what they could afford to do.' It's their company, afterall.
Sorry if that isn't as specific as possible, but the thing I've learned after 10 years is that every case is different and flexibility is key.
That is to say, if you've signed a contract stating that you'll implement X, Y, and Z, then sure, you implement X, Y, and Z, and walk away.
If your role is truly that of a consultant, then you have a responsibility to speak up. If your client is looking to satisfy a requirement, and they're considering doing it in a completely half-baked way, that will only marginally address their concern, and create a number of additional problems along the way, you have to say something. That's a fundamental difference between the roles of contractor, and consultant.
It's true that you need to exercise a certain degree of diplomancy, and you need to be able to deal with people, many of whom will see you as a threat... You can be absolutely certain that at least one guy (The one that came up with the half-baked scheme) is going to be bitter.
That's the job...
As far as covering yourself, you need only document your recommendations. Email is sufficient for this... Put your recommendations and your objections in email, and get a delivery confirmations. You cannot be held liable for poor results if your client chooses to disregard your input...
Quite the contrary, if you are in a consulting role, and you don't speak up, that's probably the bigger risk. If everything goes to hell, they can turn around and say "Why didn't you tell us? You're the expert..."
It's entirely possible that you'll end up in an environment that's impossible. You're told not to raise objections, or make waves... Essentially, you learn that you've been brought in simply to give a piss-poor project the air of legitimacy... If you do this long enough, it's inevitable. If you find yourself in that position, walk.
I'm not just saying that... I've done it twice in the past 12 years.
For those that would die defending it, Freedom
has a sweet taste that the protected will never know.
You can never sa "no." You can only say "yes," then lead them to the conclusion that really isn't the best option.
Presenting options, explaining the risks, and showing why something isn't the best way are certainly valid (and expected) actions. If done appropriately and tactfully, it is certainly worth doing. If the person telling you to do this significantly outranks you (i.e. their CIO, you would match do a junior level), take it to your leadership.
Be sure to listen to what you are being told before acting (and even after). You may find that, while it doesn't make sense in the abstract, but, in the context of the clients business, it may make more sense (for technical, legal, political, or financial reasons).
Also, make sure that whatever opinion you are going forward with has the client in mind. For instance, don't push a certain tool just because you personally favor it.
If they still insist on whatever it is you have a problem with, you have two choices: just do it, or quit.
Disclaimer: I am not a lawyer, the above is not legal advice. Under some of the above scenarios, you should seriously consider retaining a lawyer
----
Open mind, insert foot.
I read through some of the comments here, and thought I'd put in my $0.02....
First off, you have your integrity. If you see something wrong, you have a duty, more than your job, to mention it. Measure the response.
Personally, ethics is a very important part of my job. I don't always win, and sometimes, I'm thought of as a troublemaker.
That's not what I'm doing, though. I feel that whatever job you do, you should do it to the best of your ability....
Abe Lincoln said it best... "Whatever you are, Be good at it..." (I paraphrase.)
Be responsible, be good, and be right. In the same breath, also recognize when you are wrong.
Don't be afraid to be wrong, and *don't afraid to take a chance to be right*. Nothing we do is certain.
If we all give in and compromise our ethics, then what have we become? Worthless, in my humble opinion.
Our country is built on people who take chances. Sometimes they succeed and sometimes they don't.... But they never know until they try.
"Never give up, Never surrender!" -- to quote Galaxy Quest. This is not only a silly saying, but really a mantra that we all should aspire to.
Otherwise, what are you trying to accomplish? Money? It's simply pretty paper. It will not last... And in the end you will be left empty, void and dead.
Behave like individuals, and work well with others in teams.
Okay, I'll step off my soapbox now. I hope you
get what I'm trying to say...
Chris
Nothing in this life is certain, except for truth.
You are correct that a "contractor" is typically hired to do a specific task, while a "consultant" is expected to provide expertise and guidance. However, the difference between those two is mostly in the mind of the one doing the work.
The general tone of the original article strikes me as argumentative and defensive. It is a consultant's job to offer options, advice, and approaches the client may not have considered. That information should not be presented as questioning the decisions of client management, but as an opportunity for the client to do things differently than they had planned.
When you are presenting those alternatives, it is critical that you present not only your preferred solution, but options which you might not like. Provide the client management with the pros and cons of different approaches, and let them do their job: making the final decision.
Remember that as a consultant you often do not have detailed information about enterprise licenses the client may have in place, knowledge of the corporate skillset, or even awareness of internal corporate directives.
As an example of why you should leave the client to make the final decision, consider a favourite Slashdot topic: Linux vs. Microsoft solutions. While you might "know" that Linux is a more cost-effective solution than one from Microsoft, the client might also be considering existing skillsets of the internal staff, existing contracts with data center support providers, etc. It is far from unusual for the retraining costs for internal staff and the costs of renegotiating third-party support contracts to absolutely dwarf the cost savings on the software itself.
Your job as a consultant is to advise, not dictate. If you have a good relationship with the client management, you might tactfully ask why they chose the solution they did, but you should not undercut their authority -- not if you want a long-term business relationship.
I do not fail; I succeed at finding out what does not work.
Here's how free market capitalism works. You do not inherently deserve $100 an hour, no matter how well trained you are, and no matter how many $100 an hour gigs you've landed before. You only deserve $100 an hour if somebody is willing to pay at least that, right now. If the only job offer you can find pays $30 an hour, you're worth $30 an hour. Obsessing about your vaporized $100 rate, or worse, doing a sub-par job because of it, will serve no one well.