Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I work for a subsidiary of a large world wide company. This was not a subsidiary from the beginning, it was a company bought by the larger company.

We seem to be heading toward a death march and I'm wondering if there is anything I (or my team) can do to either resolve the management problems or complete the project in spite of them.

It's a typical Daily WTF situation:

  • Unrealistic deadlines (management "estimated" 6 months, dev team needs 18 months minimum);
  • Long (up to 3h) daily meetings, further cutting our productivity;
  • Management refuses to budge on the schedule because they want to look good to the new owners;
  • Developers being bullied, accused of incompetence, put on a "wall of shame", etc.
  • Team lead just resigned and morale is at an all-time low.

I'd like to leave - most of the dev team is considering it - but I'm reluctant to quit. I really need the money, and I've also only been here for a short time (5 months) after a period of unemployment, so quitting now might raise red flags for prospective employers.

Are there any strategies which might be effective in fostering more cooperation from the management, or at least minimizing the ongoing disruptions?

EDIT: I received great advice from answers to this question. I can't really accept an answer because I can't accept more than one and it would be unfair for the others.

We've decided to do our best at work given the circumstances. We're pushing back on management to see if we can actually obtain help from them (as new people, new deadline etc). At the same time I'm looking for a new job (as my colleagues were already doing).

We'll see what happens and plan accordingly. But one thing is sure: Sacrificing ourselves on the corporate shrine is out of the question.

Thank you all!

share|improve this question
17  
Give realistic estimates for everything. Do not bend to threats. Have a paper trail for everything. –  user1249 Jul 10 '11 at 12:29
47  
I don't know how to deal with it, but I really, really wish you the best of luck. –  sevenseacat Jul 10 '11 at 12:30
1  
@Aaronaught: Waw... I just saw your edit on my question. I'm speechless. I wish I had such communication skills. Thank you! How about an answer also? :D –  ionn Jul 10 '11 at 15:29
11  
The beatings will continue until moral improves! –  Jarrod Roberson Jul 10 '11 at 16:00
1  
@ionn - Being unreasonable and being against you are not the same things(though I know it seems like it). –  Chad Jul 10 '11 at 23:09
show 5 more comments

closed as off topic by Mark Trapp Jan 30 '12 at 12:19

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

18 Answers

I would suggest you start looking for a job anyway, and try your best to find a better place, while keeping up the best work you are able to do on your current project.

@Larry's suggestion about focusing on what you expect from your new workplace is good. However, you must carefully prepare an answer to why you want to leave - you will almost surely get that question in a job interview.

You can briefly tell that at first the company looked promising, but now things turned sour, and that the whole team is leaving, or thinking about it. If they want to hear more, you can tell them that in the dev team's opinion you (i.e. the whole team) have been forced to work to an unrealistic deadline, and everyone felt it was impossible to do professional quality work anymore.

It is important to emphasize that it is not only your personal opinion, but the whole team's, and it is equally important to restrict yourself to facts about your current management, putting aside any personal feelings or opinions as much as possible. No one likes people who are ranting about their current employer, but if you let them understand the fault is not on your side - without saying it out loud - you can win :-)

share|improve this answer
3  
Yes, pretty much: if you are being set up to fail, leave. –  Paul Nathan Jul 10 '11 at 21:57
show 3 more comments

Some general thoughts on the career side:

  • Money is the worst possible reason to hold onto a job. I understand how difficult it can be when you're supporting a family, which is precisely the reason why you need to speak to them about this, not us. Explain to them that the job is a dead end, that other employees are quitting, that if you don't quit you might just end up getting fired/laid off anyway. Families support each other, and they can help you better than any of us can, by finding additional income or at least providing moral support.

  • You don't have to quit in order to start looking for a new job. Use vacation/sick days or even your lunch hours and interview while you still have a job. That is far less of a red flag to other employers, and as long as you are truly seeking new employment, it's not an unethical thing to do (it's your personal time, you can use it how you want!).

  • One 5-month stint is not going to sound the alarm bells for most employers. Employers are suspicious of candidates that have a long and repeated history of short stints. It's hard to imagine an interviewer kicking you to the curb simply because you (a) took extended time off for your family and (b) didn't feel that your unique skills were valued at the previous employer. That's all you have to say.

More on the management/workplace side:

  • Even the worst managers tend to respond to hard numbers. They may view work estimates as a fuzzy-wuzzy Star-Trek-Esque "he says 8 hours but he can do it in 2" guideline, but if the meetings are really taking 3 hours then you should start tracking your time, both in and out of the meetings. Then, after a few weeks, add it all up and estimate the amount of work you would have been able to get done in that time. That is real money, real productivity lost.

    Explain that you are not able to work much overtime (family, etc.), and that 30% of your hours are going to be taken up in daily meetings, they will need to hire 30% more staff. Suggest that a weekly update might be good enough to track the project's progress. Very good chance that the meetings will stop or be scaled down afterward.

  • Instead of complaining that the schedule is unreasonable, take a hard look at the requirements and estimate what you think can be done in the remaining time by the remaining team members. Ask if this is acceptable. If not, ask which features they would like to cut. Explain that you want to produce an impressive, high-quality product packed with features, but that this is all your team has time for, and that they need to either hire more staff (which is a gamble in and of itself) or start triaging features.

    They may not like it, but if they want to impress their bosses then it is ultimately going to be better for them, in the long term, to choose deliberately which features are most important rather than ending up with a patchwork of whatever the devs happened to work on during the 6 months timeline.

  • If you have any tools or techniques in mind that you think could improve productivity in the team, this would be a good time to suggest them. Your managers are desperately looking for a way to fix the problem and you might be surprised by how much they're willing to shell out for it. I'm not talking toys, but maybe you need faster machines, a project management/issue tracking system, better source control, a quieter workspace... if you can translate it into hours (and subsequently dollars), then every little bit helps.

    Remember the Project Triangle (AKA "engineer's pyramid"). If they can't stretch the timeline, and aren't willing to cut features, then the only other possible (not guaranteed) way to accelerate the project is to spend capital.

  • If you're any kind of a people person, try to spend some time with your manager outside of work. I know that just the thought of this probably makes you ill right now, but the problem is that you're stuck in an adversarial relationship and the only long-term resolution is to establish a friendly one. You don't need to become best friends, but go out for lunch a couple of times, or maybe a drink after work. Maybe talk about your families, war stories from old jobs, whatever. Trust me, it's much harder to be abusive or even refuse help to someone you know as a "nice guy" than it is to a generic "resource" around the office.

  • Finally, use simple behavioural conditioning whenever possible. Completely ignore the managers when they act abusive; don't offer any help or answers unless they ask reasonably politely. Don't be rude or throw up stop signs, but be assertive and deflect arguments back to them: "Are we going to discuss this calmly and rationally?" "Can we talk about this without arguing?" "Is this how you'd like the conversation to continue?" And so on. The flip side is, you must also respond positively when they are polite or use positive reinforcement. Be very accommodating and very helpful when they are in a "good mood" and show genuine gratitude when they compliment you, cancel a meeting for you, give you some time off, etc.

    Most people do the opposite of this, they expect/ignore the good behaviour and reward the bad; they acquiesce or work harder when pushed and prodded and yelled at. Do the opposite (and get your team to do this) and the managers will change the way they act around you. Try it and see - you've got nothing to lose, right?

share|improve this answer
3  
+1 for "One 5-month stint is not going to sound the alarm bells," especially if it's backed up by an external factor such as "the company was bought by another company, and my position was substantially changed underneath me" –  Carson63000 Jul 11 '11 at 0:54
3  
+1 for lots of good advice on how to make the best out of a lost cause. One note though: hiring more staff, and many of the known productivity improving tools and techniques, are going to help only in the long run; in the short term they actually slow down the team further, due to extra time spent on training / mentoring. So be cautious about any such changes, and estimate their effects in advance. –  Péter Török Jul 11 '11 at 8:55
2  
+1 for “ask which features they would like to cut”. This has so many (wanted) consequences. –  Agos Jul 11 '11 at 9:00
show 10 more comments

If you can't afford to leave (what anyone would do in your position), just shut up and do your best at work, nothing more, nothing less. Don't accept the unacceptable such as permanent overtime. Don't do like many people that decide to shut up but do their less. Doing your best and stop being too anxious about a problem you can't control will stop making that situation worse than it is...

... or, as an alternative, you should roll up your sleeves and start communicating pro-actively with the management:

  • take one problem at a time: provide them with a detailed report that explain why a problem occurred and your recommendations on how to solve it.
  • back it with references and take in consideration the manager's point of view, problems and pain.
  • include team's opinion as well, they will probably appreciate you take the lead.
  • start with the most obvious: "Why are we so late?". Many reference about that are available here on P.SE.

If you have the necessary competencies, and/or the motivation, this will be on of your greatest experience. Experience that will help you prove you are a problem solved and it will eventually help you progress in your career and personal life.

share|improve this answer
6  
@Thorbjørn Ravn Andersen: Problem between management and management's management is a problem the OP can hardly handle. However he can handle the problem between the management and him/team. That's what I address in my answer. –  user2567 Jul 10 '11 at 12:40
1  
@ionn: more or less, but I prefer "since you shouldn't beat them, join them". People in a company shouldn't fight each other, but fight together. –  user2567 Jul 10 '11 at 12:45
3  
I think Pierre nailed it: 'start communicating pro-actively with the management'. All parties need to be realistic about the projects status and explain what features can realistic be delivered. Then de-scope all NON essential items using the MoSCoW Method or similar. You may be able to deliver the essential items within 6 months and all the Should haves after that date –  Daveo Jul 10 '11 at 12:46
1  
You can't win. I have to agree with Pierre that it's time to become remorselessly logical, analyze the project goals and plan ahead so that you have facts and answers; and I suggest learning to speak manager-language so that when you have meetings you can show your concern for their problems in a way they understand. –  Patrick Hughes Jul 10 '11 at 12:47
3  
@ionn: don't worry too much, that's the case of the vast majority of companies ;) –  user2567 Jul 10 '11 at 12:48
show 6 more comments

I've been in this kind of situation at two different employers in the last four years. I tried to improve things, and it had no useful effect at all. So I now would say:

The only way for things to improve is for the people running the company to be replaced. If you can't arrange that - and I'm sure you can't - the most useful things you can do are to do your work without being a doormat, avoid getting fired, and look for another job. Maybe somebody will replace your management and things will get better before you find another job - and I've seen that happen - but I wouldn't count on it.

This isn't really a different answer, but sort of a combination of the excellent advice from Péter Török and Pierre 303 - both of whom I upvoted.

But I wrote it as an answer because I have some suggestions about looking for another job that are too long for comments.

The best resource to help you get out of this hellhole is your coworkers. You all know how bad it is. So keep in touch with them outside of work.

My last two employers also ran death marches, but the people doing the marching got along well, and here are some things folks from those companies have done:

  • Be job references for each other. As a reference, you can say things to a potential employer that a candidate can't say for themselves, like "I don't know exactly what ionn's reasons for leaving are, but MoronCo puts programmers' names on a Wall of Shame, and I would find that by itself sufficient reason to want to leave." Similarly, I know one superb programmer who spent several years between programming jobs doing pizza deliveries, and he can't really explain that very well - but as his ex-manager, I can, and as a reference have been able to help him land two different jobs.
  • Get LinkedIn accounts and give each other references there. Potential employers would look at your profile and say to themselves, "ionn wants to leave MoronCo after five months, but three people who've worked with him there think he's terrific. I guess the problem can't be with him - there must be something wrong with the company." (LinkedIn seem to have set up some new rules where if A and B give each other mutual references, they don't appear, so you might be careful about that.)
  • Ex-employees from both companies have set up private LinkedIn groups for company alumni. Then people who'd moved on posted job openings from their new employers and elsewhere. The moderators also let in people who still worked for the companies - I'm sure that was "just so they could keep in touch" and had nothing to do with them wanting out :-) In the group for the earlier company, where there'd been mass layoffs, the moderator even let recruiters in. We had some people with hard-to-find skill sets, and the recruiters were very happy to tap into them. (You should assume anything posted in such a group can isn't really private, so keep any remarks about MoronCo at least neutral.)
  • Have an occasional in-person get-together. At one of my two ex-employers, the alumni group does this once a quarter for dinner and beer at a brewpub. At the ex-employer, one of the laid-off managers ran a weekly "how can we help each other find jobs" session in a meeting room at a public library, and a year after the last folks were laid off, there's still a weekly bike ride that started out as something to do after the company's Thursday afternoon pizza bashes.

I know a gang of skilled graphics/GUI developers guys who do this kind of thing, and they've sort of followed each other around Silicon Valley for many years now. They met at Silicon Graphics in its glory days, and when it south they went to Sun, and when it went south they went to PalmSource, and when it went south... well, you get the idea.


As a little philosophical aside, any human group activity is like a bunch of people pushing a car.

Sometimes, the person behind the steering wheel is driving it toward a cliff. And if you warn them they're heading for a cliff, and they don't turn the wheel after it's been brought to their attention a few times... well, it may seem crazy to you, but my experience is that they're just going to drive that car off the cliff.

It's usually a kind of insane emotional commitment to prove what they're doing is "right", despite all indications that things will turn out badly. People like that decide to believe everything will turn out well because the car will magically fly, sort of like the OP's employers thinking a "Wall of Shame" will encourage programmers to do better work. And the more you try to persuade them not to drive the car off the cliff, the more determined they will become to do it. They will often try to get rid of you because they think you make them look stupid with your "logic" and "reason". And if you try to get in front of the car to push it backwards, you'll just get run over.

So if you aren't powerful enough to yank them out from behind the steering wheel, and get somebody else in there who will turn the car away from the cliff...

...the most useful thing you can do is walk away and find another car to push.

share|improve this answer
add comment

Sit down with your management and have a frank discussion with them.

Tell them very clearly that

  1. Their estimate is impossible to achieve and that everyone is going to look stupid if you try and fail. Break down the project as much as possible with estimates from the team to make the point.
  2. People are likely to leave, sooner rather than later, if they insist on overtime, holiday bans, etc. to solve the problem, which leaves them looking stupid and everyone else in another job, and the business (the important people here, who pay your and management's wages) without any product.
  3. You understand that they've now made promises and you want to work with them to make sure those promises are met.

Then ask them

  1. Exactly what they've promised in that time.
  2. Exactly how much of the project would be considered a success (most projects over 6 months are full of stuff the business doesn't really need).
  3. Whether there is room to hire more people.
  4. Whether they would consider Scrum or another very iterative approach to making sure the business gets what it really needs, rather than what it thinks it wants, and to timebox these daily meetings.

If you're not happy at the end of that meeting then you know what you have to do.

share|improve this answer
3  
Adding more people to a late project makes it more late. –  Bill Karwin Jul 10 '11 at 16:31
2  
@Bill - This isn't a late project in the context of that quote. It is one that has barely started. You are arguing that you should never hire more than one person to do a project. –  pdr Jul 10 '11 at 16:42
2  
@Bill - The point of that quote is that it takes time and resources to hire and then train people. If you're short of time and resources already, that's not good. You're certainly right that this needs to be taken into account, new project or old. If the project has 6 months remaining, there is probably benefit to hiring, but it's not as simple as "hire twice as many people, cut the estimate in half," -- not even close. –  pdr Jul 10 '11 at 17:39
2  
"If you're not happy at the end of that meeting then you know what you have to do." You certainly will know what you have to do: look for a new job - because you'll immediately lose your current one.... –  comeAndGo Jul 11 '11 at 4:04
1  
@pdr I have seen people get fired for "honesty". Management usually calls it "attitude issues" or "lack of team cooperation". If you push someone, they will push back. A manager's most effective push back is firing. –  Wulfhart Jul 11 '11 at 13:35
show 4 more comments

I used to work in construction before I moved to IT. I was the front line engineer reporting to a senior manager who reported to CEO. We were working on a naval dock project for a navy project. The CEO wanted the whole thing to get done in a year and the details he left to my manager.

Now my manager kept pushing me and I kept pushing the contractors(who had around 50 people working for him onsite). After three months I knew we had the capacity to get a quarter of the work done in the year with existing resources and nothing more. My manager was waiting for a miracle which was never going to happen. The CEO realized that this was not working so he put another senior guy in additional charge. Now I had two managers pushing me and we were having daily arguments with me saying that it was 'impossible'. I was in between called a 'pessimist'.

The CEO called for a meeting with all involved. I was the junior most guy there (intern level) and after everything had been discussed without any conclusion I was asked about my opinion and here's what I said. "We can complete it in a year! But we need 4 times the men that our contractors have working at the moment. And if you provide more resources we can get it done in 9 months" No one said anything after that and the meeting was closed. Next day i am called to the second managers office and asked to explain why we need more people and I explained my calculations. That was it. Management 'managed' to source a couple of more contractors with all the men and equipment we needed. Needless to say we got it done on time. The reason they sourced the additional resources is because there was a lot of lose if it didn't complete in time (although we still had to work our asses off) than the additional cost of more men and equipment. The only reason this had not been done earlier because my manager was afraid of telling the CEO that his estimates were screwed.

Moral of the story is that you tell management how you can complete the project on time and not that it cannot be done. Hire temp people on contract, source from lesser priority teams but get more people. Spend a night and calculate how you will get it done in six months and then go ahead and explain it to the top boss and do it with conviction and without preconcieved notions that people won't listen. People listen if you have a solution and not if you have a problem.

share|improve this answer
3  
As one of my best managers and mentors said, if you present the cost estimates fairly based on your knowledge, management will either find new resources, or cut scope, or you might as well find a new job, because they're setting you up for failure and you don't want to work there anyway. –  JasonTrue Jul 11 '11 at 4:41
show 2 more comments

It may not be true that no one will hire you, but you do have to have a good answer to the "Why do you want to leave?" question.

One thing that's worked well for me in the past when interviewing is emphasizing what I want from a new work environment and not mentioning the negative things about the current environment unless asked. For example, you could say that you're looking for an environment where the processes facilitate efficient work.

share|improve this answer
show 3 more comments

Keep your head down and start interviewing. Jump when you have a confirmed offer.

share|improve this answer
show 2 more comments

I really hate situations like this. I've been in similar situations with clients before (I'm a consultant). My answer is going to sound really harsh and like you're backstabbing, but my intention with it is to simply make it a) less likely that you or anyone remaining on the team will face any real consequences, and b) less likely that your management team will lose face with the new company.

When the above situation happened to me, before my team lead left the company, he told me that if anyone tries to pressure me about this, to tell them it was his fault - to blame him, because he doesn't mind and it's simply an easy way to redirect the hate. At the time, we only had a two-person team, so of course I got pressured a lot for it. Obviously it was the client's management's fault, but what's not as obvious is that there was very little either my TL or myself could have done about it; instead, the former TL got a little backlash internally, but since he was already working for another company, it didn't matter.

Finally, the management team did take a lot of flak from this. What's good though is that generally, the lower-level positions like programmers and testers and what not do not get the chop, at least in my particular area. Instead, the management team gets restructured or dissolved and you could be placed under more direct supervision by someone from the parent company, which isn't necessarily a bad thing. What's more, if someone from the parent company comes asking kind of "over the heads" of your management team, you can volunteer your thoughts on why the initial estimates weren't great, and so on. This isn't meant to get you ahead, so much as hopefully help you to get a more competent management team. For any sufficiently large company, they generally understand that late deliveries happen, and that it's rarely, rarely the development team's fault.

share|improve this answer
add comment

Question for you, what happens to you and your team/company if management loses "face" to the owner? Does your company go under or is it something that would just affect management?

Like others here have recommended, try opening a clear communication with management. If management is too delusional then try opening a communication line with the customer directly. If the project is grossly underestimated as you state and management doesn't take proactive steps to solve the problem its not like the customer won't find out about it when it comes due. From my limited experience with dealing with late projects, generally the earlier the customer is aware of the problem the more flexibility you have especially if the project in an early stage.

If you can't do the above or feel that you would get the shaft from management for doing that. Then I would just keep working normal for a couple of months while looking for a another job cause from your description of management it sounds like you might get fired when you don't want to play the death march game.

share|improve this answer
show 2 more comments

Just two cents: I interview people regularly and I scan an awesome amount of resumes before we even get there. If I see a job-hopper, it's usually a reason not to invite someone in for an interview, because we are looking for long-term relations with new hires. However, if someone has a record of regular jobs (2-3 years) and a couple of 3-6 month stints, and comes with a good story (something like - "I didn't match that company's culture - I want to work agile, be a partner rather than a slave to the business, develop myself and the team I work in"), than, if anything, it's a positive indicator to me. It shows that I'm not talking with some stupid cubicle drone, but a self-motivated person who wants to excel.

In short: don't be afraid to look for something else. Any interviewer working at a company where you want to work, will be completely OK with a good explanation. The rest won't, but, hey - you don't want to work there anyway, eh?

(that's why I will never show up in suit&tie when interviewing - if that's a deal breaker, I'm not going to be happy at that shop anyway ;-))

share|improve this answer
add comment

I've been in a similar situation as you. It sucks. It's like you're being shot at from both directions. Your managers offer you up as fodder is anything goes wrong. You dread going into work and you count down the hours until it's time to leave.

My suggestions to you:

  • Do your best. Make sure everything you do is your best work. Make sure what you give management works and it works well.
  • Work some overtime to get your work done, but not insane overtime. If you spend an extra hour or so in the office each work day, it will look good for you without stressing you out too much. Don't start pulling 12 hour shifts b/c management expects it though.
  • Talk with your team mates. Try going out for lunch once a week as a team and talk about how things are going and how you are going to pull through this together. A strong team can get through a lot, and can make up for an otherwise crappy work environment.
  • Open the lines of communication with the Team Lead. Let them know how you feel and see if they have any suggestions. The Team Lead is probably feeling the crunch much more than you, but might offer some suggestions to help you out.
  • And last, polish your resume and look for a new job. If you hear the death march already, then you are probably right. It's time to implement an exit strategy. Look for a job and see if you can interview before or after work. Many companies will understand that you don't wish to miss work to interview for them and will try to make it easy for you.

In the end, if you see the writing on the wall, you more than likely don't have much time left. If higher management is looking for a reason to fire your team, they will find one. It's a catch 22. Damned if you do and damned if you don't. In the end, you need to make the environment workable for now and quietly find your own life raft.

share|improve this answer
show 2 more comments

I'm surprised and a bit chocked at the honesty you people show towards such ignorant and pompous assholes, you must all be very, young and freshly out-of-school. When a project is going down-the-drain, you should of course do as little as possible and enjoy the show when the shit hits the fan. My recommended reading is the book by french writer Corinne Maier, "Bonjour Paresse" or "Hello Laziness" in english translation.

share|improve this answer
add comment

Since you are working in large company, have you considered moving to another subsidiary (if it is possible at all)?

share|improve this answer
show 1 more comment

Just do what you can, and work as hard as you can to get the best possible outcome. Keep a timeline of what's happening, and anybody in the future (possible employer) that looks at your notes and what you have done in the time period, will understand that the given deadline was way out in left field and impossible to obtain.

Honestly, with the amount of time you have in this company I would probably try to stick it out. You don't want to be that guy looking for another job, and when somebody asks you why you left you unleash the negative comments on your current employer. That often comes off as somebody that can't really work well with other people. Just the reality of the situation.

Long story short: do what you can and as best as you can. You're always going to have higher-ups creating impossible deadlines and then screaming at you wondering why you didn't meet them. You have an extreme case here, but that doesn't mean you won't run into this again. And you don't always want to retreat every time you have this.

share|improve this answer
add comment

The clean solution:

Delivery what you can, this means that all involved have to agree:

(1) Everything in the original spec is NOT going to be completed.

(2) Accepting (1) what can they live without on day 1?

(3) Does (2) reduced the time frame to fit within the deadline? If no then try (2) again else agree on new spec.

this has worked for me in the past.

Good Luck.

share|improve this answer
show 1 more comment

I don't know your age and I am a bit masochist, I would hang on and do my best until either I can't take it, or they can't take me.

The advantage to this way of doing it is that you have much to learn and it can have an extreme turn in a short to medium period. Quiting at first tornado is not the best thing to do, what happens when a tsunami comes?

But this is just my two cents...

share|improve this answer
add comment

This probably isn't going to be a well-liked answer, and it's not going to make your job much easier, but it's what I'd do. Besides, you can't dev when you're stuck in meetings in which nothing constructive whatsoever is taking place, you can't dev when people are so frustrated and conditions are so ridiculous that the workplace resembles a bar-room brawl, and it might save a project that is in a death spiral.

1) Anonymously contact management of the parent company and explain the situation to them. Tell them that either (A) your management set the timetable without consulting the dev team, and they either had no idea how complicated the project was, or (B), if you want to deflect blame away from management, that some assumptions were made, such as that you were going to be able to reuse thousands of lines of code from a previous project, but after some tinkering, it was quickly realized that the old code wasn't designed for this project and that you would have to start completely from scratch. Explain that the situations has gone South, that fingerpointing and abuse by management has risen to an intolerable level, and that the team lead, who was not to blame, has already resigned.

If successful, this will accomplish at least one of the following: (1) After being confronted with the facts, they will scrap the project and find something else for you two work on, (2) They will bring in another dev team that will be assigned to take care of a portion of the program so that your team can reallocate its members, (3) They will extend the deadline.

2) If that doesn't work, round up all of the developers and agree to completely stonewall management. It would be hard to ignore them outright, so maybe find someone that doesn't mind losing their job at this point, and ask management to reassign them to "management integration" duties. Sell it to management: he'll be the interpreter between you (the devs) and management, so that they can be better informed and the developers don't have to be pulled away from their work to explain things to management all the time. This person will basically be your own little White House Press Secretary that will deflect the heat off of you. Have them make some fake pictures, PowerPoint presentations, and charts about all the "progress" that's being made (maybe even an exponential bar chart labeled "Milestone Progression",) but have them stick to vague, insubstantiatable nonsense. To dispel the notion that he's just BS'ing, have him construct a fake prototype/program every few weeks. Functionality that can't be faked should be said to be completed, but not in the version on display because there's a six-week lag between the prototype and where the developers actually are at that point. His job is to bamboozle management. If management asks any specific questions of the developers, the developers should just say that they know nothing of that particular part of the program (unless it's a complicated part that management couldn't possibly understand, then refer to the following sentence.) If management puts them under the gun asks them what exactly it is that they are doing, tell them to talk about the really complicated stuff and wave their hands around in the air, trying to demonstrate the subject by drawing and connecting things in 3D-space. Confused and annoyed by these "weird developer eccentricities," they will decide your little interpreter is a lot easier to talk with and leave the developers alone. When six months rolls around, have your interpreter fall guy just quit showing up. Act surprised when management tells you all of the stuff that he's been saying, and then tell them that he'd clearly lost his mind due to the pressures of the job. Tell them that he was your weakest developer, so you had figured he could be more useful in a "Paradigm Integration Engineer" (PIE) position, but that you were surprised he couldn't even handle that. Recommend another person (read: martyr) for the job, claim that he's a lot more in-the-know and respected amongst the team -- fully qualified for the job! Have him go in there and act surprised about the things that the last guy said, then say that all of it was a creation of his imagination. Management will have to spend at least a month or two unlearning the old guy's BS and learning the new guy's BS, and it will be another 3 or 4 months before they catch on to the new guy. At this point, management will be furious and refuse to have another PIE, at which point they will be breathing down your neck once again -- but at least you bought yourself 9-12 months of hassle-free work.

It's not a very good plan, but nonetheless quite a bit better than continuing to show up to work, getting shat on all day, and then deciding to off yourself on your lunch break.

share|improve this answer
3  
I would have been OK with #1 but #2 is just way over the top. This is real life, not Dilbert. –  Aaronaught Jul 10 '11 at 16:28
1  
lol never laughed so hard at #2 :) #1 is some what ok –  Darknight Jul 10 '11 at 20:39
show 5 more comments

Not the answer you're looking for? Browse other questions tagged or ask your own question.