Slashdot Mirror


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?"

51 of 436 comments (clear)

  1. my $0.02 by trmj · · Score: 2, Insightful

    I believe the answer to this lies in the price point.

    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.

    Note those last two words: "and why." That is the single most important piece of information that is needed when questioning any decision. If you have that ready, your ideas will go much farther.

    Also, take into account how much the client knows about what they are dealing with and how stubborn they are. If you've ever been in sales, then you (hopefully) have some idea as to how to "read" people and present ideas in the way that will relate to them the most. If not, then I would recommend lookng into this type of "people skill," as it comes in very handy when in a bind.

    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. Overall, if you know something they don't, they will pay for that knowledge. And they will continue to pay you as a valuable source of information for a long time.

    --
    Work sucked, until it became unemployment, when it became slightly more tolerable. -Tet
    1. Re:my $0.02 by drob · · Score: 5, Insightful

      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.

    2. Re:my $0.02 by Evil+Adrian · · Score: 4, Insightful

      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
    3. Re:my $0.02 by GlassHeart · · Score: 4, Insightful
      I never said anything about doing a lousy job

      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.

    4. Re:my $0.02 by Qaless · · Score: 2, Insightful
      "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"

      Hey, mabye my ethics are a little off or something, but how much they're paying you shouldn't have any impact on your job performance. You know the old, "If a job's worth doing its worth doing right"? That does't mean you withhold info that the client might need.

      (If anyone knows how to turn the italics off in mid reply please share {:(

      --
      Jolan Tru. (If you know what this means, you're a tru geek)
    5. Re:my $0.02 by plierhead · · Score: 2, Insightful
      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.

      This adice is absolute cynical bullshit of the sort that gives consultants a bad name. If you decided to take on an assignment for a cheap rate, that doesn't make it right for you to give shitty advice.

      You should do the best possible for your client. That way maybe you'll be able to negotiate more for your next gig.

      In this case, if you know something is right, then the right thing to do is to get the client to see that too. Thats where the skill comes in - if you try to push it down their throats then maybe they'll cough it back up - a lot of people are very stubborn - so you haven't done the best thing by them.

      You need to choose the right methods and pace of presenting the error of their ways to them in just such a way that they will take it on board. Thats the best service you can do them.

      --

      [x] auto-moderate all posts by this user as insightful

    6. Re:my $0.02 by Anonymous Coward · · Score: 3, Insightful

      I'm sorry, but that's no way to do business. Both the original post and the one to which I'm replying seem to be missing a vital point: what you deliver, and how you deliver it, is defined by a legally binding contract. A good contract will ensure that:

      a) the client gets what they asked for (which may by they way not be what they need)

      b) the client pays for what they requested

      c) the consultant delivers as requested

      d) all parties can clearly tell whether points a) through c) have been satisfied

      e) all parties agree on how to proceed if there arises a disagreement under d)


      That said, there are a number of different "roles" assumed by consultants these days. You can be an expert hired to solve a specific problem, with no knowledge/skill transfer required; you get judged after the fact. Or you can enter a more collaborative partnership, wherein you share responsibilities and, hopefully, knowledge; here your contributions are more difficult to judge. And of course there's a whole range of "roles" in between these two extremes.

      Your contract defines the relationship between you and your client, and hence the role you are expected to fulfil. Your ability to honor the contract is what determines your success in the business world. But perhaps you disagree?

    7. Re:my $0.02 by khb · · Score: 5, Insightful

      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 ;>

    8. Re:my $0.02 by robmered · · Score: 3, Insightful

      Not performance... information. The job will be as well-done.

      Provision of information is part of the job of a consultant. It's not up to you to ensure the client takes the information on board, but it is up to you to ensure the client is as informed as possible.

    9. Re:my $0.02 by HeyLaughingBoy · · Score: 3, Insightful
      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.

      Hear, hear!!
      This question isn't only relevant to consultants/contractors. As a software engineer employee it's my responsibility to question decisions I feel are wrong. I'm not just paid to pound out code and documents, but to evaluate what I'm asked to do and find the appropriate path to a solution. In fact, the ACM code of ethics covers this somewhere (I'm just too lazy right now to read the whole thing to find out where :-)
      In fact, this goes beyond ethics: bad decisions by your employer can cause the company that employs you to fail
    10. Re:my $0.02 by bernywork · · Score: 2, Insightful

      Your performance should not be tied to the amount you are paid. Bullshit.
      If a client pays well [...], they deserve that extra time taken to show which judgement would be best and why. I will add in here that they shouldn't be an arsehole either.

      Too true. Welcome to the real world GlassHeart. Sorry to shatter your image of it.

      Lets look at facts here, someone who is easy to get along with, provides me with nice challenging work, and that says thank you. When you hand over a working solution to the customer with no interuption to the business (Where possible) and pays me well is going to get my time of day.

      Someone who is a pain in the arse, doesn't implement any recommendations that I put forward and fucks me around on the bill, if they ask for me next time, either is going to get turned down or I am not going to put my neck out for them.

      Some of my customers have gone through good times and bad, I have one customer who has gone from 10 employees to over 200 and then dropped back, I was with them the whole way through everything that they did. They have paid me well, and have gone from paying about 10% of my yearly income to over 50% and then back again. I will ask to call other clients back, so that I can take calls from these guys.

      They have been brilliant, they pay on time, they are nice, and they do what they need to to keep an edge. They are the clients that you want.

      The good thing about contracting is that for the most of the time you do have the ability to pick your clients.

      I would never do a lousy job on a site. Never.

      Would I research something for a couple of hours, build documentation and scripted install / un-install, write additional administration documentation or anything else (without charge) to stay on the good side of a poor customer, not a chance.

      --
      Curiosity was framed; ignorance killed the cat. -- Author unknown
    11. Re:my $0.02 by ATMAvatar · · Score: 2, Insightful

      Do you mean this?

      2.5 Give comprehensive and thorough evaluations of computer systems and their impacts, including analysis of possible risks.

      Computer professionals must strive to be perceptive, thorough, and objective when evaluating, recommending, and presenting system descriptions and alternatives. Computer professionals are in a position of special trust, and therefore have a special responsibility to provide objective, credible evaluations to employers, clients, users, and the public. When providing evaluations the professional must also identify any relevant conflicts of interest, as stated in imperative 1.3.

      As noted in the discussion of principle 1.2 on avoiding harm, any signs of danger from systems must be reported to those who have opportunity and/or responsibility to resolve them. See the guidelines for imperative 1.2 for more details concerning harm,including the reporting of professional violations.


      2.6 Honor contracts, agreements, and assigned responsibilities.

      Honoring one's commitments is a matter of integrity and honesty.For the computer professional this includes ensuring that system elements perform as intended. Also, when one contracts for work with another party, one has an obligation to keep that party properly informed about progress toward completing that work.

      A computing professional has a responsibility to request a change in any assignment that he or she feels cannot be completed as defined. Only after serious consideration and with full disclosure of risks and concerns to the employer or client, should one accept the assignment. The major underlying principle here is the obligation to accept personal accountability for professional work. On some occasions other ethical principles may take greater priority.

      A judgment that a specific assignment should not be performed may not be accepted. Having clearly identified one's concerns and reasons for that judgment, but failing to procure a change in that assignment, one may yet be obligated, by contract or by law, to proceed as directed. The computing professional's ethical judgment should be the final guide in deciding whether or not to proceed. Regardless of the decision, one must accept the responsibility for the consequences.

      However, performing assignments "against one's own judgment" does not relieve the professional of responsibility for any negative consequences.

      --
      "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."
    12. Re:my $0.02 by GlassHeart · · Score: 4, Insightful
      If they want a $100/hr consultant for $30/hr, they're in for dissapointment.

      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.

  2. That very much depends ... by bryanp · · Score: 4, Insightful

    ... 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
  3. Re:Im in this situation now.. by Evil+Adrian · · Score: 2, Insightful

    "It's ridiculously expensive, terminal services are free."

    --
    evil adrian
  4. CYA by Ribo99 · · Score: 2, Insightful

    I would say always make your fears known. It's called CYA (Cover Yer Ass), you don't want to be blamed when what you feared comes to pass.

    If for whatever reason you can't then it's tough luck for the customer. Any company that doesn't keep an open dialog is doomed to failure I would think.

    --
    I wear pants.
  5. Why do companies hire consultants? by GuyMannDude · · Score: 4, Insightful

    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

  6. My $.03 by uptownguy · · Score: 4, Insightful

    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.
    1. Re:My $.03 by Hays · · Score: 2, Insightful

      Show some class. Show some self-respect. You don't seem to understand how consulting works.

    2. Re:My $.03 by trmj · · Score: 5, Insightful

      So what you are telling me is that you, when taking a consulting job for three different clients, will spend that same amount of time explaining things to:
      Client #1: A new upstart company whose owner wants a network put in, but wants to know what the best way to do it is and why. Pays $750.
      Client #2: An established company whose owner routinely gets advice from his/her close friends and family, and wants you to use FormMail for requests on their website, even though there are hundreds of better applications and simple 10 lines of PHP will do it better and faster. Pays $2300.
      Client #3: A large corporation who has hired you as a temporary drone to do some tech work for their latest sattellite office along with the other temps. They already have three others that work perfectly fine with their 10Mbps networks and ISDN lines, even though there are DSL and Cable lines running to the building that cost about the same price. Pays $800.

      These aren't hypothetical situations, these are real things that happen to real consultants. I am showing class to those who deserve and ask for it. If somebody doesn't care, then don't waste your breathe. If somebody is paying for a job and a little bit of background information, that's what they get.

      I never said I was altruistic. Those people only get far when working for others that abuse their abilities. I do show self-respect though, and the first way I do that is by knowing how much my time is worth.

      --
      Work sucked, until it became unemployment, when it became slightly more tolerable. -Tet
    3. Re:My $.03 by bmj · · Score: 3, Insightful

      One of the biggest problems for any consultant on projects is "scope creep". A good project manager will ensure that the client gets all that he has paid for, and no more. If the fee wasn't enough - too bad. The consuitant loses. If it was accurate or generous, he makes some money.

      What the original poster is describing is the "extra mile" above and beyond the agreed scope. Consultants who do this for free too much go broke.

      Well, yes and no. If you estimated the project correctly, you should be able to go back to your client and point out what they were going to pay for. You don't have to shove the contract in their face, but explain the situation and how long it might take to do the extra work. If they tell you to pound salt, then you've at least got your contract and project scope on your side.

      A consultant should be willing to go that extra mile, but at a cost. But that's different than the parent comment, which had a much more arrogant ring to it..."I'm not doing anything more than what's outlined in the contract"....be a good person by trying to work out the situation with the client. If they aren't a total jerk, you'll probably make out in the long run, with both a better payoff from the current job, and a good impression for future work.

      --
      Whereof we cannot speak, thereof we must be silent. --Ludwig Wittgenstein
    4. Re:My $.03 by Anonymous Coward · · Score: 1, Insightful

      fortunately/unfortunately "sparky's" attitude is rampant out there. It makes it really easy for guys like me who do the same job for the "cheap" job and the paying really really good client.

      I dont care if you are paying me $20.00 an hour or $200.00 and hour I'm going to do my best and that really shows to clients.

      It shows so well, I take clients away from guys like "sparky" every day.

      I love the arsehole primadonnas that dont do a great job for the poor companies/non-profits.. I get those companies in the end stolen fair and square from that consultant.

  7. Always by mao+che+minh · · Score: 2, Insightful
    I always offer helpful information as a consultant, especially information that will prevent my employer from losing money (or stumbling into some other prediciment that is unhealthy for his or her business). Regardless of whether the job is going to take me one day or thirty, when I am in a consultant role I feel that it is my duty to actually consult, which involves the application of your desired knowledge and skills, as well as your input and advice (which is derived from your knowledge). I never just take the money and do whatever I am asked regardless of the consequences.

    I hardly ever do consultant involving coding unless it's something simple, like creating a web based front end for database entry or something. But when I am providing these types of solutions I always suggest FOSS. Alot of small busineses get duped into thinking that they need to go with Win2k, IIS, and either Access or MS-SQL. I always suggest Linux, Apache, and MySQL - and not one of them (OK, there was only two, but still) decided to waste over $1,500-$4,500 on the MS bundle (If they choose SQL it adds quite a hefty chunk of change onto the total).

  8. Experiences from scandinavian perspective by jim_az · · Score: 4, Insightful

    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

    1. Re:Experiences from scandinavian perspective by geekoid · · Score: 1, Insightful

      Hot babes, AND reasonable management attitudes, I'm moving to sweden.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  9. Its about their direction by Anonymous Coward · · Score: 1, Insightful

    My belief is that a consultant should do two things when looking at a client's needs.
    You analyse where they are and then where they want to be. The bit in the middle is what you're hired to do.

    If doing a proper job you should have a good idea of the overall goal of the project. Not just upgrading xxx, but the reasons why your upgrading it. It is this that makes you truly see if they are making a poor decision or not. It also helps you immensely in putting in the right solution.

    You may have issues with their direction, and this is I believe what your getting at. Your treading a fine line as unless you've been brought in to consult on the direction then people are going to be hurt.

    Sometimes you need to go up where the air is thin and lay out your case for A vs B and why you believe B is a better solution / strategy. At worst you can get someone to have a quick look and see if you have a point; if they don't even offer you this, then its not worth your time.

  10. Comment on decisions... by malachid69 · · Score: 4, Insightful

    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
  11. It also depends on the risks involved by rleibman · · Score: 2, Insightful

    Aside from the other very insightful comments here, I'd also judge wether to speak out based on the risks involved
    Is this a pacemaker or space shuttle? I'd probably speak out louder.
    Is this an "I'm on the web" website? I'd probably just mention my misgivings.

  12. Re:Im in this situation now.. by tzanger · · Score: 3, Insightful

    What's wrong with TightVNC? It isn't exactly as fast as Cirtix over dialup, but it comes damned close and the price is right.

  13. Some advice from a consultant... by chunkwhite86 · · Score: 4, Insightful

    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.
  14. Every Time the Direction Changes by IBitOBear · · Score: 5, Insightful

    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
  15. My approach.. by Junta · · Score: 3, Insightful

    First, whether you are a consultant or an employee, the issue is still the same, and they have the same expectations.

    When faced with something I find dubious when first starting a project or taking on a consulting task, I do not assume an air of 'I know everything and this *will* fail'. I find it is actually more effective to ask questions that will lead them in the direction of figuring out the flaw for themselves. Also, it is not infrequent that there is *something* they neglected to mention that actually reveals what they want to be reasonable in context of the situation, and when that comes out in such a discussion, it doesn't make you look like a presumptious ass. If they figure out the flaw and where your questions where going, they appreciate not only your foresight, but helping them to understand the issue at a more fundamental level. If they reveal a piece of the puzzle that makes their request reasonable, or even if you end up having to point out the flaw yourself, they appreciate your effort to understand more about the big picture and how your piece fits in before just jumping in with a 'yes, sir' or flat out rejecting it without trying to understand why they might not be idiots.

    --
    XML is like violence. If it doesn't solve the problem, use more.
  16. Re:You're missing the point by Mostly+a+lurker · · Score: 3, Insightful
    I pretty much agree with everything that you wrote. This does assume, however, that you are looking to make a buck and quit. In my experience, consultants rely on repeat business. It behoves them to give the impression of going the extra mile to satisfy clients. If convinced that the client is doing something seriously against their own interests, I believe you should briefly state this in writing at an appropriate level and then drop it. This should never be done verbally and should never be pressed as that will usually just raise antagonism without any positive result.

    There is a form of consulting that is distinct from the kind you are discussing. Often a consultant is working with a consultancy company. In that case, the consultant must consider the relationship between the company and the client. It is always correct to discuss any such major issues with your company in this case -- and be guided by how they want to deal with it.

  17. Scope creep and billing. by Ungrounded+Lightning · · Score: 3, Insightful

    One of the biggest problems for any consultant on projects is "scope creep". A good project manager will ensure that the client gets all that he has paid for, and no more. If the fee wasn't enough - too bad. The consuitant loses. If it was accurate or generous, he makes some money.

    What the original poster is describing is the "extra mile" above and beyond the agreed scope. Consultants who do this for free too much go broke.


    Which is why the firms I've worked with NEVER bid fixed-price, always time-and-materials. If you did an ethical job, fixed-price was always a loser because you'd lose the bid unless you underestimated the work.

    Babysitting the billing is the job of the contract administrator of a multi-man shop, not of the consultant. That way you can play good-consultant/bad-administrator if the client has an issue. (Of course if you're a one-man-band you have to wear both hats, so you're stuck.)

    My algorithm for dealing with the original question:

    During the project definition phase:
    - Research the customer's problem to figure out what he needs. (Because when you ask him what he needs, he'll tell you the new stuff that he wants, completely skipping the core of the problem as an uspoken "of course".)
    - Suggest a design that gives him what he needs. Try to convince him that THAT is what he wants. Then.
    - Build what he now WANTS.

    Sometimes the customer will now want what he needs. Sometimes he won't. In the latter case maybe he's right, maybe you are. Doesn't matter. Now that he's informed, if he overrules you, it's his money so do it his way.

    If you go down a rathole at this point, it's his problem. But if you didn't tell him IN ADVANCE that he'd taken a wrong turn, you didn't do your job.

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
  18. How good is your insurance? by rongage · · Score: 2, Insightful

    Well, keep in mind one fairly important thing...

    Assume you do go ahead and give a "yes sir" answer, against your own best judgement. Now assume that $5 million later, something blows up. When the finger pointing starts to happen (and it WILL happen), the phrase "the consultant said it was ok" will probably be uttered, and often.

    Should the lawyers get ahold of this, you would be minced meat. ESPECIALLY if they find out that you thought your advice was wrong.

    Stick to your guns, if you disagree with something the boss is doing, then say so (and preferably document both your disagreement and the reasoning). If you loose the account, so be it. Would you rather be sued for malpractice?

    --
    Ron Gage - Westland, MI
  19. Questioning idiots by furry_marmot · · Score: 2, Insightful

    I was hired by the build manager of a certain PDA manufacturer (think "* of your hand") to automate their build processes. He told me they had these amazing build scripts, but the build engineers required hours to sit and run the script. (!) Therefore they needed some kind of automation server to run the scripts... Yeah, right. When I poked holes in his theory, he claimed that this is what SW Eng wanted, so I should forgive him if he got it wrong. As stupid as he turned out to be, I was just as stupid for thinking "I'll meet the engineers, find out what they really want, and everyone will be happy." I took the job. What a moe!

    Long story short: my boss didn't know squat about software (he thought you could run Mac programs on a Windows box) and he hired friends from previous jobs to be build engineers (all they could do was memorize steps given them by the developers). His lauded build scripts simply ran variations of the builds (different langs, debug/release, etc.). It was a big deal to these momos because they hadn't even had that level of automation before. Processing a request, checking out the code, verifying the build, copying built files to the network, and sending emails were all done manually; yet my boss continued to believe the scripts were wonders of automation and if I simply built his nonsense server (and other crackpot schemes he came up with later), SW Eng would finally take him seriously. I wrote memos, made presentations, drew pretty pictures, and tried to enlist the help of people I thought he might respect, but ultimately I stayed too long, the economy changed, I no longer found good job leads, and I got laid off.

    I'm working now, but the thing that irks me, and hurt me, is that my boss bad-mouthed me to my co-workers, apparently over my attempts to pull his head out of his ass. Despite what I say happened, I got the reputation for being trouble and refusing to obey orders. When I left, I had few friends, no references, and little to show for the time I spent there.

    My point (and I do have one) is that questioning or pushing won't get you very far. Sooner or later, they'll remember that they have all the cards and you're just some guy on a contract. Your question suggests you're not happy with your company's decisions. If you can get around to being happy, more power to ya. But if it's going to continue to bother you, get out and do it sooner rather than later. You have to remember that 1) not all jobs are good for you, and 2) sometimes people really are crazy and if you're in the line of fire, it may hurt you long term.

  20. Consultant versus Contractor by Kefaa · · Score: 4, Insightful
    The difference between the two is the very point you make. Or more to the point, if you cannot tell the difference between a contractor and a consultant, you have a contractor.

    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.

  21. Re:Im in this situation now.. by ebbomega · · Score: 4, Insightful

    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
  22. Depends on the customer and be careful. by hanenkamp · · Score: 2, Insightful

    This is one of those things that can get you on both sides. First, the customer gets you by asking, "Why didn't you tell me this was a bad idea?" Second, the customer gets you by saying, "Look, this is the way we do it, we've always done it, and we aren't changing." Sometimes you get both responses from the same customer.

    I can't speak for contract programming, but in networking I used to consult in a company that preferred Linux/NetWare solutions on the server side with a Windows NT/2000 desktop--this was a little more than a year ago. We understood that each platform had pros and cons and the systems proposed varied widely depending upon the needs of the customer--we even recommended Windows only environments sometimes.

    However, we lost one customer because we didn't bid a Windows 2000 server solution and argued against it because it was simply not in their best interest to use 2000 file services. They got a bid from another company that bid a 2000 solution and gave the bid and the rest of their business to them. In the end, we had to reevaluate how we refused a customer's desires and when we were really willing to turn them down--this is a 3 man shop, so loss of customers who had us on retainer was a serious consequence.

    I'd say making sure the client knows your mind is probably good. But, knowing that they make all the decisions is priority. As with any form of persuasion, the best is the kind that gives them the facts and makes the persuadee think he made the decision himself.

    Anyway, walk a fine line. Hopefully, if you're good enough, you can avoid and/or afford to turn down the really easy-to-tick-off customers that are never happy.

    Cheers,
    Sterling

  23. Get a grip by The+AtomicPunk · · Score: 1, Insightful

    It sure sounds like you're asking us to define your personality for you. Grow a pair, make a decision, and live with it.

  24. Ask [politely] what they want from you by cyranose · · Score: 4, Insightful

    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.

  25. Re:You're missing the point by Pii · · Score: 4, Insightful
    You have defined, in your first sentence, the role of a "contractor," which may or may not be the same as that of a "consultant."

    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.
  26. My answer: Be careful by smoondog · · Score: 2, Insightful

    I have found that when i go into a contract/consultant situation, I almost always have some differing opinions with management. Sometimes voicing those opinions are welcome, sometimes it isn't. Everytime it has been welcome, I have been aware that it was welcome. In those cases I have been an ad hoc advisor to the project, not just a developer implementing a clear path. Occasionally I have voiced my opinion when I wasn't sure if it was welcome, and, (guess what?) it wasn't. In one case it even resulted in my quick, quiet dismissal.

    Geeks (like myself to some extent) are generally bright and very opinionated. Use that brightness to realize that there is a time for putting in that extra effort and there is a time for simply just shutting up, working and drinking after work.

    -Sean

  27. Can't Say No by iCharles · · Score: 4, Insightful
    I've been in consulting or contracting for eight years. There is one rule:


    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.

  28. There's a Fine Line ... by Anonymous Coward · · Score: 1, Insightful

    As someone with technical expertise in a small company, I find that one cannot always trust their consultants. Often enough, the consultants have another reason for providing the advice that they do. Sometimes it has to deal with special deals that they get from various vendors, as well as their own bias.

    In this day and age, it's not the easiest thing to do, finding a completely unbiased consultant. There are consultants that feel an MS solution would be best, and some that would push for the Unix solution. Their own personal preferences can often taint the opinion that they provide.

    A consultant is not always paid to provide a final decision, a consultant is very often hired to provide advice. So should my company hire a consultant, and we don't necessarily prefer the decision that consultant makes, we'll pay her/him for their time, and go with the solution we find to be better. We know our company better then they do most often, and as well know what we want.

    After all is said and done, it's not the consultant's job to make the final decision unless that is what the company was looking for. I most often find issue when a consultant gets insistant and sometimes outright rude when stating the way they feel a company should go. And I've both rejected plenty of bad advice from consultants, as well as fought through fixing the solutions that came about due to accepted bad advice.

  29. My Rule Of Thumb by Gleef · · Score: 5, Insightful
    My rule of thumb for this is pretty similar whether I'm operating as a consultant, a contract programmer, or a just plain employee:
    • As a professional, you have a duty to inform your client (or employer) when they have made a bad decision, or are about to do something to their detriment, provided the decision directly relates to your scope of work. Obviously, this should be done with some tact and diplomacy, but this is part of professional ethics
    • You have no duty to force them to do the right thing. If you have informed them of their error and they persist, I suggest you make sure to inform them in writing, and make sure you save a copy the document you use to inform them and any response to this document. If they respond verbally, take notes at the time and save them with the file. File this on paper at home.
    • You have no duty to inform them of past mistakes. If a past mistake is getting in the way of your work, it is often more constructive to ignore the fact that their judgement was flawed in the past, and just point out the ways that your work changes things so that their system needs to change in X way (which incidentally will mitigate their prior bad decision).
    • You have no duty to inform them of a boneheaded decision outside of your scope of work. If you are hired solely to map out a network and program switches and routers accordingly, and you find out that half their users have blank passwords, that just isn't your problem. You don't have to get involved unless it touches on your scope of work. Note that a contractor usually has a much more limited scope than a salaried employee, so your mileage may vary on this point.
    • You do have a duty to complete your scope of work. If their decision prevents that, or even increases the risk of failure or schedule slippage, you have an obligation to tell them that, explicitly and in some detail. Again, file this document and their responses.
    • If you are a consultant or contract programmer, they have a duty to not violate their contract with you. If their decision violates the contract, you should tell them exactly how it does so. You might also want to tell them whether you would enforce the contract immediately, or reserve the right for later action, depending on the circumstances. File everything.
    • You have a duty to yourself to keep yourself healthy and safe. They have a duty to you to not work you harder than appropriate labor laws allow. If any of these are threatened by their decision, you have an obligation to inform them of this, explicitly and in some detail. Again, file all.
    • When you get home after finding out about a boneheaded decision is a perfect time for making sure your resume is up to date. Regardless of whether or not you intend to start hunting, it's always good to know it's up to date.
    • If their decision will make your employment less enjoyable, that is the time to consider pushing beyond the above. There are three main risks to pushing: pushing itself can make your job less enjoyable, pushing can lead to retaliation that makes your job less enjoyable, and pushing can lead to you losing your job (fired, or put in a position where you must quit). You must examine these risks, and the risks involved in doing nothing, and then you can decide if pushing is right for you in that situation. There's no hard and fast rule for whether or not to press an issue, and don't be surprised or offended if your coworkers make a different choice here than you do, their risks and tolerances are different.


    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.
  30. My Thoughts by cfury · · Score: 4, Insightful

    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.

  31. Consulting vs. Contracting by msobkow · · Score: 5, Insightful

    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.
  32. Slashdot readers = 1% ethical, 99% cowboys by freddled · · Score: 2, Insightful
    You guys are mostly cowboys, according to my simple survey of the responses here. Software Engineering will never be accepted as a professional discipline while this kind of debate leans towards 'yo, just take the money dude'. I note that some others have posted on the ethics issue.

    The BCS, IEEE and ACM all have codes of ethics. The response to this situation is clearly laid out.
    • If you are asked to do something that is not correct or not in the customer's interest, inform the customer.
    • If they do nothing about it, inform them of your objection in writing quoting the appropriate code of conduct/ethics and asking for a written response.
    • If they still do nothing, you walk away. Yes really.
    • If they tell you in writing to do the thing that you have objected to you must consider the consequences of the action that they have asked you to take.
    • If it is illegal or violates other clearly laid out ethical constraints, you walk away (yes really) otherwise its your call.

    Yes, I have done this at least three times. The first time, the customer backed off. The second time we got to the written response stage and the customer ultimately respected the professional approach. The third time, they wanted to break the law and I walked.

    It is possible to have an ethical career. Read 'Ethical Ambition' by Derrick Bell.
  33. I once read that there are 3 types of consultants by DarkCoffee · · Score: 2, Insightful

    * those you pay to justify what internal IT has done ($);
    * those you pay accomplish a task ($$);
    * those you pay to take the blame for something internal IT has done ($$$$$);

    Which are you?

    --
    -- Before you do anything you can't undo, always understand all the things you can't do once you've done it.
  34. Know your Role... by CyNRG · · Score: 2, Insightful

    At the beginning of the assignment, you must determine if you are there to accomplish a goal or to prove the point of the hiring manager.

    During the interview phase determine if the assigment is "prove the manager's point", then decide to take the assigment or not.

    A consultant is paid for well thought out opinions based on facts. Document everything, and preface it with "in my opinion" either written or verbally.

    A consultant does real work also. Actual bit flipping.

    The difference between a consultant and contractor? About $60/hour.