Thursday, June 5, 2008

When “can’t be done” is not an option

When your boss, under fire from his boss, tells you “this must be done by Monday morning…” and you feel / know it can’t possibly be done the way you think it should be done what do you do?
  1. tell your boss “yes boss I will take care of it” and then when Monday morning comes you tell him “sorry, I tried but I couldn’t get it done...” and then wait for him to fire you?
  2. tell your boss “yes boss I will take care of it”, throw your professional standards and pride off the window and “proudly” deliver a shoddy piece of work on Monday morning and wait for him to shower you with appreciation before he realizes that what you delivered was crap and fires you?
  3. tell your boss “this can’t be done” and that he is an idiot for trying to impose such an unreasonable order and just resign from your job?

    OR
  4. you assure your boss that you understand the urgency of the matter and politely ask for permission to go sit down in your corner, come up with a game plan and then meet with the boss to go over your plan?

Well, this is a no brainer you would say – yes, I know I don’t need to tell you that #4 is the best choice but I have seen enough programmers choose 1 and 2 and less frequently choose 3 that I believe a reminder can’t hurt. While number 4 is the obvious choice it is not necessarily the first thing that comes to mind when you are under pressure.

A small clarification - when I say that all three options 1, 2 and 3 will result in you getting fired I am exaggerating a bit to make the point but even if you don’t get fired at the very least your reputation will be severely damaged.

Choosing option 4 is a testament to your professionalism and experience. It gives you the much needed time to break the job down into more manageable and easier to estimate tasks. While doing that you may discover that it is possible to get it done by the deadline if certain resources are made available to you which would be great! But, even if your initial intuition / estimate is proven right and the job can not possibly be done you go back to your boss with an action plan that details what can be done by the deadline and when the whole job can be completed. At that point your boss has the ammunition he needs to go back to his boss and secure an extension of the deadline or modify the requirement / scope of the job so that you can deliver what may be the most critical part of the job by the deadline. Details aside, this approach leads to “happy endings” – the boss will respect you a lot more and chances are that he will never again tell you that “it must be done by Monday” but will rather ask for your professional opinion on what maybe doable and what not.

Tell me what you think – feel free to leave your comments here.

2 comments:

João Marcus said...

You're considering that boss will always give you permission to come with a game plan. Even better, your boss will be dying to check your game plan! Now, back to the real life: you may face a situation where your boss will tell you: "You must do this. Period.".

My option would be:
5) Make sure you and your boss understand that it's not really possible to come with a decent solution for the issue with the time you're given. DOCUMENT something you can use as a proof if anything goes terribly wrong. Send an e-mail to your boss and just require him to reply it with an "OK" so he can't say "sorry, didn't read it". Even better: CC the e-mail to the customer, and require a reply as well.

This already saved my ass once. One woman started complaining that I didn't understand what she wanted, that I wasted too much time doing something useless, that she was very unhappy with that situation. All I had to do was to show the e-mail where the same woman replied my e-mail with: "That's perfect". "This is ridiculous, why would I request thi?" became "Well, I guess this request was rather silly."

vanekl said...

OPTION 6

And if you are working for a narcissistic blowhard, one tactic that has worked extremely well for me was to not commit to anything and pretend the entire thing was a bad dream. If the requirements are so out of touch with reality, the entire dev team will play along. The boss will sooner or later figure out that his ranting was just so bizarre that everybody has stopped paying attention to him when his project demands are untenable, and he will learn to loosen up the project constraints. By pretending it was all just a bad dream, the boss isn't publicly humiliated and is able to still save face, and usually learns to be more realistic in the future. Like I said, it's worked for me, but you can only get away with doing this just the few times when your boss goes off his meds and just starts spouting trash or ego-thumping tirades. Only to be used in emergency.