What to do if your project is doomed

One of my favorite web sites is “the daily wtf”. The stories in there are hilarious. I can’t get enough of that site. One of the recurring themes is: “…my co-worker/boss is incompetent…the project/department is doomed…there is no hope…”. If the story doesn’t end with “and so I updated my resume and started searching for a new job”, then certainly the comments afterwards are peppered with this advice. Once, somebody actually noted this and asked if any programmer is able to hold down a job for more than 3 months at a time. Such hilarity! This is the geek equivalent to slap-stick at its best.

Unfortunately, I have found myself in these peoples’ shoes a few times. So I can relate to their frustration and angst. It feels therapeutic to read some of these stories, but just like watching too much Jerry Springer, you start to worry that the whole world is hopeless. Is there nowhere that a person can go and be spared from this madness?

I recently read a story on stack exchange about a developer who found himself in a doomed project. He was asking other programmers for advice. I thought back on the doomed project (or two) that I have been in and the wise advice that carried me through. Keeping your head in the right place will help you do the right thing and avoid panicking and making things worse for yourself and others.

So when things look bad, keep in mind, you have a moral obligation to provide the best value to your employer that you can. However, you are not in charge, so your options and opportunities are limited. There are a lot of things that can make things worse. Stick to these things and be comforted in knowing that it won’t last forever.

As a good person, here are the things that you are obliged to do:

  1. Tactfully inform your superior(s) about the condition, but try not to seem hopeless, emotional or desperate. Say that you have some concerns and you are obliged to address them. Offer to help in any way possible. Then try to end on a positive/optimistic note (even if you don’t feel that way).
  2. Work hard and do the best job that you can do. If your best isn’t good enough, then at least you can sleep at night knowing you did your best and it is unlikely that anybody could have done better.
  3. Pack a parachute. Quietly update your resume and see what jobs are around. If you get fired, you will be prepared to bounce back right away. Don’t make threats or tip your hand that you are thinking about leaving. It won’t help you or anyone else.
  4. Encourage your colleagues to do the right thing (items 1-4). Stick together and don’t resort to back-stabbing even if somebody else does. Stick to the high-road, always. People will admire you and be more likely to trust you.

Keep in mind that it is always darkest right before the dawn.  I’ve been on a few projects that looked difficult or impossible and we pulled it through by hard work and determination.  Our never-give-up, never-say-die attitude carried us to victory.

Finally, there can be some good to come out of a bad project: Learn from the mistakes. Although it was very stressful, I did learn a lot from all of the mistakes on the failed projects. You could learn a lot too. If you were in college, your professor would give you an assignment like “analyze this bad situation and identify the causes. Write-up possible remedies or treatments”. Right now, you are your own professor. So give yourself this assignment and earn an A. It will pay-off during the rest of your career.

Advertisements

About Tim Golisch

I'm a geek. I do geeky things.
This entry was posted in Professionalism, Programming. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s