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

dead_end_sign-600x450_0.jpgImage credit: flickr/Vlad Iorsh
Look familiar?

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. 


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.


2. Continue to do your best on the project 

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


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


Definitely don't slack.


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?


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.


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


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.

ITWorld DealPost: The best in tech deals and discounts.
Shop Tech Products at Amazon