What to do if you’re a programmer and your project is the Titanic

Software developers provide advice for others working on a project that seems doomed to fail

By  


Look familiar?

Image credit: flickr/Vlad Iorsh

It’s a situation that all software developers run into sooner or later: it becomes clear that a project you’re working on is highly likely to fail. Too tight of a delivery schedule, poorly defined or constantly changing requirements or simply bad management can all lead to a feeling in the pit of your stomach that all of your efforts are going to be for naught. What should you do when you’re a developer on a project that seems to be circling the drain?

That’s a question that was asked recently on StackExchange and has gotten a lot of responses. While some suggested getting off the sinking ship as quickly as possible, many recommendations for dealing with the problem were offered. Here are a handful of the common themes that emerged: 

1. Share your concerns with the powers that be

Communicate your concerns in the most concise and non-confrontational way possible up the management ladder. Summarize the risks, but do not try to impose your conclusion on them. 
MrFox

Only include facts and objective observations. Leave all conclusions up to whomever (if anyone) reads what you've written.
Dan Pichelman

Make a few polite suggestions for improvement. Don't sound the warning bells, don't be doom and gloom, just be polite and subtle.
cadmium

2. Continue to do your best on the project 

Try to provide answers, not just problems. Look like you are trying to fix them.
Ozz

Focus on personal excellence - strive to write ever better code, meet ever higher standards of quality and functionality.
code4life

Definitely don't slack.
Philipp

3. Focus on what can you learn or gain from the situation

Oftentimes, the same chaos and disorganization that comes with a failing project, affords you the opportunity to shine. So look at the project this way: what opportunity does this failing project afford, for the light to shine on all of my strengths and best qualities? What lessons am I learning from this experience, that will make me a better professional and a better person?
code4life

This is your chance to practice important skills in systematic thinking and interpersonal communication. Understand and visualize the issues and potential opportunities that are being missed so you can develop a strategy to communicate these as clearly and simply as possible.
Tone

You can show some leadership skills here that might help you later along the way, treat the problem as a challenge.
Eran Medan

4. Prepare for the worst

CYA. If the project does fail and you suspect the manager will start blaming everyone but himself, make sure you have enough proof that you did everything required of you
cadmium

Keep a paper trail (e.g. diary, saved emails, etc). 
Dan Pichelman

Be prepared to defend all of your code.... Keep networking, and keep your options open if the situation becomes too difficult or you become a victim of a mass layoff.
Jim G.

Several people also recommended reading Death March by Edward Yourdon about the best way to deal with working on such projects.

Do you have additional advice for developers dealing with a situation like this? Please share in the comments.

Read more of Phil Johnson's #Tech blog and follow the latest IT news at ITworld. Follow Phil on Twitter at @itwphiljohnson. For the latest IT news, analysis and how-tos, follow ITworld on Twitter and Facebook.

Join us:
Facebook

Twitter

Pinterest

Tumblr

LinkedIn

Google+

Answers - Powered by ITworld

ITworld Answers helps you solve problems and share expertise. Ask a question or take a crack at answering the new questions below.

Join us:
Facebook

Twitter

Pinterest

Tumblr

LinkedIn

Google+

Ask a Question
randomness