Live data from Hacker News

How should I behave as a developer in a project that's headed for failure?

programmers.stackexchange.com

91–100 of 163 posts

Re: How should I behave as a developer in a project that's headed for failure?

#91
The question is interesting but the scenario doesn't sound like that much of a disaster to me. Maybe I'm the only one here who's worked in the insurance business though...?!

A 5-person project with 2 months of work plus another 1.5 months to go is not really that big. Maybe at a startup that's betting the whole company. At a large corp that can just be written off. If the deadline is missed, it just gets re-scheduled. This is not a freak-out scenario. The only concern I'd have is letting people know ASAP if you think the deadline is slipping.

The other stuff about 100's of tables, no unit tests, other system integrations, etc. that sounds like every project in an old school large corp.

In a large corp, as crappy as these apps are, they can go into use internally and process billions of dollars even though they're crappy to use. You then spend the next 10 years improving it.

Re: How should I behave as a developer in a project that's headed for failure?

#92

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. 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…

It's rarely practical to start over from scratch. For example if other applications use the very same database, you can't just come up with a simpler database schema.

Also in my experience, many business applications aren't vastly complex, they are simply very big and have to handle many, many special cases. That's not something you can redo in a few weeks, no matter how talented and ambitious you are.

Re: How should I behave as a developer in a project that's headed for failure?

#93
post #3

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…

It's not ideal, but if he can put himself in a position where it's obvious to management that the project didn't fail because of him, I don't think he'll end up too badly off. If the parts of the project he's worked on are well put together and working well, then it doesn't look too bad on him that the overall project failed.

On the other hand, it sounds like a depressing situation to be in, so I'd prefer your option (b).

Re: How should I behave as a developer in a project that's headed for failure?

#94
post #3

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…

So do a death march or quit? Very extreme. Unless you're in a tiny company that will literally go out of business if the project isn't complete, there is a valid middle ground: cover your ass to avoid blame, pitch to the PM to get the schedule extended, salvage as much as you can, and move on and do better next time. In the meantime, take a better job if one turns up. But don't be lured into extreme action by magical…

Maybe it sounds extreme, but I agree with @edw519: you don't want to work at a place that lets a project fail as badly as the OP described it. I've been in situations like that too often and I've learned that particular lesson too well.

Like @angdis said elsewhere in this discussion, projects "fail" all the time, but the OP is talking about a specific kind of failure. Notice how many commenters mention "finger-pointing" and "paper trail". When you find yourself in a situation where that becomes important, it's time to consider leaving and it's always better to leave on your own terms.

Unless you're deeply invested in that project or that company, it's usually better to start looking for a place where projects fail more gracefully than this.

Re: How should I behave as a developer in a project that's headed for failure?

#96
post #46

I've picked up so many of these types of projects, it's sort of become my specialty. The first thing to do is to ask oneself if it's worth completing the project at all. All stakeholders _will_ have to be ready to make some sacrifices; is it worth it? Also, like others have said, communication is key. If the team can't have open conversations up-front, it may be best to walk. But, if the team can communicate openly a…

The guy clearly said he is a developer. While your advice is sound, it is something that only the manager has authority and responsibility to do. It is just impossible it almost any organization that a developer can turn project and project methodologies upside down like suggested here. > However, in the end, it is also completely ok to walk away, especially if there's no incentive to continue.

There's an important distinction between management and leadership. Technical leadership can (and should) come from anyone.

Re: How should I behave as a developer in a project that's headed for failure?

#97
i had a similar problem in my first real programming job. i was hired along with a very senior person to deliver a project. accept that very senior person didn't know what he was doing (something that was no immediately obvious to me since i was very junior).

I panicked, and since stackexchange was not around back then, i went to IRC with a very similar question. I was basically told to stop blaming my problems on others, shut up and just do the job. Really it was an angry response and made me feel like i was stupid for even bringing it up. so i put my head down, and tried to do what it took (while not getting any guidance for the guy).

the end result was 3 months of wasted time, the guy getting fired (and he did not see it coming a at all). Somehow i managed to keep my job and eventually being the main person supporting that product. The problem was with management of that place, by hiring new people, and not paying attention to daily progress and direction.

Re: How should I behave as a developer in a project that's headed for failure?

#98
post #3

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…

There can be mitigating circumstances that could warrant staying, but mostly I have to agree with you. Either fight to turn things around or avoid being stained by the inevitable failure.

The worst thing about staying to turn things around is that often the failure is set up from the beginning by those in leadership. Your reward for working your ass off to make the project succeed is probably going to be to make someone look good who was responsible for digging the hole that you helped to pull everything out of.

Unless the game board is set up so that you benefit heavily from your hard work (equity, bonuses rewarding the risk and effort) - there's little upside to killing yourself besides some opportunity for personal growth.

Re: How should I behave as a developer in a project that's headed for failure?

#99
One of the implicit assumptions in this thread is that the developer actually has a choice -- e.g., he can "run the other way" if it's a bad situation.

That's likely to be true for developers in the early stage of their career, especially if they don't have a lot of financial obligations (mortgage, spouse, children, etc). And it helps to have a resume and current technical skills that might be attractive to some alternative employer.

But I run into a lot of situations where the developer is "trapped" by his/her circumstances -- including the current situation of a lousy economy in which there are few, if any, alternative jobs available. So for many, the relevant question is: what do you do if you're stuck in a death-march project, and don't have the freedom to walk away and get a better job somewhere else?

Ed Yourdon

Re: How should I behave as a developer in a project that's headed for failure?

#100
post #48

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. 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…

I've had employees try to the "build a better solution" approach behind my back. The big problem with it is that it assumes the person actually has the full picture. In a small project, that may be the case. But often it isn't. In the case I have in mind, said employee delivered a solution that did in fact do most of what our current solution did very well with little complexity. But it utterly failed to account for…

Why weren't you communicating the strategy and vision for the product? That's a failure of management. Each layer in the structure should be given and understand the vision and goals of the immedeiate layer above them so that they can creatively execute and improvise excellent solutions instead of being locked into a plan.
Post reply on HN