Choose from 2 extreme alternatives: a. Treat this project as if it were your sick child on life support. b. Treat this project as if it were a gazelle being ripped apart by a pride of lions. If you choose (a), do anything and everything you can to save it. Be open and sincere and stop at nothing. If you choose (b), prepare a resume and run the other way. No sense risking your own well-being on a lost cause. The worst…
I think you should post that comment as an answer, it is very graphical but helpful!
How should I behave as a developer in a project that's headed for failure?
21–30 of 163 posts
Re: How should I behave as a developer in a project that's headed for failure?
#22Unless you have the authority to guide the project back on track, there are only so many options available to you:
1: Document your concerns and any problems you've identified. Be objective wherever possible (i.e don't bitch about your co-workers even if the reason the project is failing is because they're fucking it up). Any problems that you've spotted and are worried about, WRITE THEM DOWN and email them to your project manager.
2: Keep a cool head. This is incredibly difficult once endless frustration sets in. Bite your tongue, and don't get personal. You will probably fail from time to time, because knowing that you're going to fail is a horrible, insomnia-inducing feeling, and your patience will almost certainly be tested.
3: Offer solutions. If you think a particular decision is to blame for some aspect of the failure, then document it, what went wrong, and what any alternatives may be.
Unfortunately, in my experience and from what I gather from other people, these kind of things tend to come along with ridiculous company politics and emotions. If your gut feeling is that it's going to fail, then your best approach is to try to raise the alarm as soon as you notice. You may be ignored or brushed aside, but you must document everything you do. Don't raise the concerns in conversation, make sure there is a paper trail.
In my own case, the project failures ultimately led to me and several other developers abandoning the company. The project could have been saved if our concerns were taken into consideration and acted on. We even presented a proof of concept redesign which solved all of the existing problems AND presented new opportunities for growth, and were told that our new design would not see the light of day. Keep in mind that we had working code, schemas, deployment plans, addressed scalability concerns, and even had a development roadmap for the new design. Some battles are un-winnable.
Re: How should I behave as a developer in a project that's headed for failure?
#23Sometimes it's hard communicating the situation to a manager as opening that pandoras box can end up meaning you spend more time giving status than doing the actual work. But not communicating is not going to help anyone, unless you feel confident that you can get the project back into shape. So the deadline is missed. It happens. The stakeholders need to be prepared and they need to have runway to take action. Findi…
Re: How should I behave as a developer in a project that's headed for failure?
#24I'd be hesitant to raise concerns, on what appears to be a relatively small project, in case you become the scapegoat and a way for either the manager or your colleagues to point the finger at you for not being a team member and hence the reason the project failed. Since it's only 6 weeks to the deadline it is probably worth pitching in and trying to make it work. If failure is going to be a big deal then you'll all…
Being upset at being labeled a "rat" means you're alive.
This pervasive "don't raise concerns or you'll get targeted" is all too often WHY projects fail: people keep telling the decision makers "everything is fine, we'll deliver on time" while mumbling "ain't no way this thing's gonna make it" in dark corners, leaving those with the power to do something about it unaware of the problem approaching, and looking for heads to roll when it does. If you're going to be punished for speaking up (objectively, professionally) then it's time to get out of a toxic environment.
Re: How should I behave as a developer in a project that's headed for failure?
#25Choose from 2 extreme alternatives: a. Treat this project as if it were your sick child on life support. b. Treat this project as if it were a gazelle being ripped apart by a pride of lions. If you choose (a), do anything and everything you can to save it. Be open and sincere and stop at nothing. If you choose (b), prepare a resume and run the other way. No sense risking your own well-being on a lost cause. The worst…
I think you should post that comment as an answer, it is very graphical but helpful!
Re: How should I behave as a developer in a project that's headed for failure?
#26I would recommend Yourdon's book, "Death March" as mentioned in one of the answers. Although it feels a little dated it is a well reasoned analysis that at worst can give you perspective on a bad situation. When I was in a true Death March project I was surprised that there are so few books on the same issue.
Re: How should I behave as a developer in a project that's headed for failure?
#27I was fortunate enough to experience this exact kind of death march over a period of around 18 months. Unless you have the authority to guide the project back on track, there are only so many options available to you: 1: Document your concerns and any problems you've identified. Be objective wherever possible (i.e don't bitch about your co-workers even if the reason the project is failing is because they're fucking i…
Unless the situation results in criminal prosecution, when the time comes to use that paper trail nobody will care about it.
Re: How should I behave as a developer in a project that's headed for failure?
#28I was fortunate enough to experience this exact kind of death march over a period of around 18 months. Unless you have the authority to guide the project back on track, there are only so many options available to you: 1: Document your concerns and any problems you've identified. Be objective wherever possible (i.e don't bitch about your co-workers even if the reason the project is failing is because they're fucking i…
I'm in a similar situation and the pressure is mostly caused by a lack of management.
I've been appointed project leader halfway the project and I did my homework by reading the Software Project Survival Guide. We are also supposed to work in a scrum system, but on going business causes scrum to be just an extensive time management tool.
We're nearing the deadline and a few things I picked up are:
1) You need to have a hands on approach and come up with solutions yourself. Show a lot of initiative.
2) Have clear roles of who needs to do what.
3) Don't change roles halfway a project, it only causes confusion and someone needs to clean up the mess.
4) Be frank to your business owner about the current reality . You don't want to be the guy, who didn't say anything and pass the deadline. And don't wait too long with saying it.
5) Make it very clear to the business owner, all changes cause a delay. And whatever you do, do not let the business owner decide how long a change will take.
6) Don't fight with the external guys, even if they are trying to run the show. If they start pressing for decisions (framework/system/etc) without a good reason, other than their own comfort, be warned... Get ready for a sticky situation. If you can, stick together with your current team to have some counterbalance.
Re: How should I behave as a developer in a project that's headed for failure?
#29Communicate 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. Management must always have the choice of what to do, but it is your job to assess and communicate the situation. Use email, so as to leave a paper trail when things go south. I hope future historians will be astonished that all of us chose…
These are famous last words. So often I see people go off on the weekend to code a replacement for a legacy system, come back with a good demo, but not realize that they did 2.5% of the work that was responsible for 25% of the functionality.
Complex systems tend to have many written and unwritten requirements that aren't captured in their clones.
Anyway, I would not look at 100+ relational tables as being a bad practice in and of itself. I've worked on plenty of systems of this complexity, and it's really no problem at all if you're systematic. You need to have a machine-readable data dictionary and you can't be writing all your SQL by hand.
Re: How should I behave as a developer in a project that's headed for failure?
#30Honest, "be slightly evil" answer: say absolutely nothing. Just work. Get done what is asked of you. When you have free time (which you often will, due to the chaos as things start to shake) use it to build skills for your next gig. People will probably lose jobs. Sometimes that will happen based on seniority and sometimes it's just random. Sometimes, that will happens to the PITAs who spoke up and happened to be rig…