5

This question already has an answer here:

The question :

How do I deal with unrealistic deadlines on a software project? How do I make sure I don't miss any deadlines when the deadlines themselves are unrealistic? What do I tell my manager when I do miss a deadline? What did you do when faced with unrealistic deadlines that were non-negotiable?

The Background :

I am working on a software project since the past 6 months. I am the only developer on the project. There is a module in the project that was developed by a very senior developer who was moved to another project 6 months back when I joined the project. While I have taken over the project since then, I have not got a chance to look at the module developed by the senior developer. There is a new framework developed by our company. We have been asked to use this framework in our projects. Using this framework in the project I am working on requires getting rid of the module written by the senior developer and refactoring other modules that would be impacted by this change.

The problem : The senior development manager for my project has come up with unrealistic estimates for this activity. I have raised a concern with him but it has backfired on me. Here's an example of the kind of conversations I have had with him :

Me : Can we increase the number of days for sub task 1 to 5 days?

Manager : Why do you think this sub task will take more time? I thought you knew the code base.

Me : I know our code base. I don't know the framework code base. I can't give you an exact estimate without looking at the framework code. What I do know at the moment is that this sub task cannot be done in 2 days. We will need at least 5 days for it.

I pointed out a few more sub tasks that I thought would take more time. Eventually, this is how our conversation ended :

Manager : I cant change the estimates now. You have to manage this one way or the other. I am starting to feel that you are the wrong person to work on this project.

I have been given 1 month to complete this activity and I am stuck with some unrealistic estimates. Having worked in the industry for a couple of years, I know that I will have to work 12 hours a day and probably on weekends too just to meet the deadline for each sub task.

Edit: This question is not a duplicate of this

There is a difference between being the only developer on a project vs having 5 developers on a project. The psychological aspects associated with being the only developer on a project are different. For instance, 5 developers can team up against one manager if push comes to shove but a single developer stands the risk of being insulted or humiliated in front of everyone if he opposes the managers views. 5 developers can support each other in tough times but a single developer has to bear all the load himself. It's going to be my word against my managers but that won't be the case if I had more developers who were working with me and felt that the deadlines are unrealistic. The strategy for dealing with this situation alone is going to be significantly different form the strategy for dealing with it as a team (As correctly pointed out by Wesley in the comments to his answer)

marked as duplicate by IDrinkandIKnowThings, Joe Strazzere, gnat, jcmeloni, Adam V May 16 '14 at 20:09

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 1
    @JoeStrazzere Unrealistic is a relative term. My manager does not see these deadlines as unrealistic. He has specifically asked me to manage my way around his estimates which means working 12 hours and on weekends. This may be normal for him but it's unrealistic for me. – CKing May 15 '14 at 18:39
  • 2
    you are left with no options. I'd try to do my best with no overtime, of course. You would have nothing to explain when deadline comes as you have already clearly stated that it was not possible. Also, maybe you could focus on the impotant parts and try to adjust the work on that parts to the time you have, leaving what may be accesory or of less impotance. – perencia May 15 '14 at 18:52
  • 1
    I think what's going on here is the manager wants you to work those 12 hour days. – Loren Pechtel May 17 '14 at 17:21
  • 1
    The first study that I heard of about work time was by Hans Eysenck in the arms industry in Britain during World War II, were workers should have been really motivated. He found that people working 57 hours a week were less productive than people working 48 hours a week. Not less productive per hour, but less productive per week. As a rule, a software developer working 60 hours a week for six weeks and one working 40 hours a week for six weeks have equal productivity per week - except after six weeks, one is tired and will lose productivity quickly. – gnasher729 May 19 '14 at 23:44
  • The specifics are different but the question is the same. Is there some reason the answers there will not help you? That would be better to include in your edit than your explanation of how your specifics are different. – IDrinkandIKnowThings May 23 '14 at 13:55
11

Manager : I cant change the estimates now. You have to manage this one way or the other. I am starting to feel that you are the wrong person to work on this project.

Your manager is abdicating his responsibility for his role, so you are going to have to do his job, too.

  • Start with putting what you consider a realistic timeline together for this assignment, mapping out all the steps you see and estimating the number of hours for each step. Don't spend too much time on this, as you could be accused of "stalling" the project. It can be something as simple as an Excel sheet listing the steps, the number of hours estimated, and calculating the estimated completion date. Don't include any reference to the deadline. Email this to your manager.

  • At the end of each day, next to your estimated time, put the amount of hours you spent on the step next to your estimate, and the percentage complete (admittedly subjective) next to that. Also include reference to any "non-project" time (mandatory meetings, emergency requests, etc.). The estimated completion date calculation should update from that. Email that to your manager at the end of each day.

  • Don't complain. Proceed at your best ability. Put in every bit of effort you can.

At the end of the project, 1 of two things will have happened:

  1. You will have surprised yourself and actually have met the deadline.
  2. You will have missed the deadline, and your manager will have no (legitimate) reason to be harsh with you, as you have kept him informed at every step.

Above all, keep your emotions out of it. This is just work. If you get emotional about it, you will not fare well, and things you say while distraught may be used against you later. If you keep calm, focused, and productive, you will honestly be able to say you put in your best effort and didn't hide anything from your manager.

If your organization can't respect that, then there was never a way to succeed in the first place.

  • 1
    A better option would be to spend 20 mins every morning on my plan for the day and send this to my manager everyday before I start with any work. This way, I will be more organized and my manager will get a chance to see the amount of work he happily forgot to factor into the estimates – CKing May 16 '14 at 16:50
  • 1
    @Bot - the point is communication. Do your best, add detail and revisions as you come across them. When you say you will need "some time" - rough it in to start. The point is you don't want to reach deadline day and have your manager asking "What happened?" Keep him updated daily with as much detail and as accurately as you can. Over-communicate. – Wesley Long May 16 '14 at 17:06
  • 2
    Good point about being calm and not getting too emotional. – CKing May 16 '14 at 17:26
  • 2
    @bot: I have my senior people sending me daily status updates. They get updates from the people they manage. These are short - should take 2 minutes to put together and 30 seconds to read but it gives the chain enough info to know how things are going. – NotMe May 16 '14 at 18:24
  • 1
    @CKing Any manager that asks you to stop sending status reports about ongoing projects is utterly incompetent. That is literally one the biggest parts of their job, checking how things are going constantly. – T. Sar Jul 20 '17 at 19:36
9

How do I deal with unrealistic deadlines on a software project? How do I make sure I don't miss any deadlines when the deadlines themselves are unrealistic?

If they are unrealistic, you will miss them. That said, it is possible that the deadlines are considered reachable by your manager (as in "not unrealistic") considering you will do overtime (see below).

Having worked in the industry for a couple of years, I know that I will have to work 12 hours a day and probably on weekends too just to meet the deadline for each sub task.

I don't know what your situation is, but if somebody told me I would have to work 12 hour days to meet a deadline I didn't (personally) make a commitment to, I would respond by brushing up my CV and starting to look elsewhere. There are twothree things to realize about planned overtime:

  • first, when the deadline is unrealistic, overtime is not the answer, but a symptom of the problem.

  • second, unless you work in a country with no work-protection laws, overtime cannot be imposed on you. If you are payed for 9 hour-days (for example) it is completely unrealistic for your manager to expect to get more of your time, basically for free. They are asking you to put in 1.5 man-days for each man-day, and get nothing in return (it's just as unrealistic as the deadline).

  • third, when you work overtime, you work below half capacity, for a longer time. It doesn't feel like it, because you are patching things and they tend to work, short term. You measurably do make more mistakes when you are working overtime, and most of the code you write translates to technical debt. The delays and problems caused by technical debt increase exponentially over time, until you end up with an unmaintainable code-base.

To address your question, I would do two things:

  • ensure the manager understands and tracks my progress on this project (that is, if I did 50% of what I should be doing to meet the deadline, I would communicate that in as un-ambiguous terms as possible).

  • refuse to do systematic overtime. If there is an emergency and the future of the company is on the line, I would accept staying late in office for a day or two (and the third, I would respond with "Sorry, I have plans" - and leave).

If nothing burned and a manager decided "I cant change the estimates now" for some unrealistic estimates, I would do my best in the time I gave to the company. Your contract with the company is there to specify what the company can ask of you (does it specify overtime? in what terms?).

If the deadline would not be met, that would be management problem (i.e. not mine to solve), and the responsibility would be the manager's.

Your responsibility in this is to do what you realistically can (keeping in mind that it is unrealistic for the company to expect free work from you) and communicate the delays and issues to your manager. From then on, it's his problem.

Edit in bold.

  • Good point about overtime being a symptom rather than the solution. – CKing May 16 '14 at 17:24
  • Re:Overtime. Don't set precedent for unrealistic expectations. You would be surprised how working a couple of months of overtime to finish a project automatically turns into EXPECTED PERMANENT OVERTIME from your manager. When things calm down and they see you working normal hours then they'll perceive it as you slacking. Like utna said, infrequent short-term overtime to meet a realistic deadline is not unreasonable. Extended overtime most certainly is. If you cave and do it then you've set a precedent that will be expected out of you every time they ask. – Dunk May 19 '14 at 21:40
6

What did you do when faced with unrealistic deadlines that were non-negotiable?

Very few deadlines are actually non-negotiable. If it really was non-negotiable then there would have been more than 1 person on the project. For the simple reason of the risk of you no longer being available to work on it and therefore the possibility of the deadline being missed.

Manager : I cant change the estimates now. You have to manage this one way or the other. I am starting to feel that you are the wrong person to work on this project.

If a manager told me this, while handing me a deadline I felt was unreasonable, then I'd politely agree with him and ask which project he'd like to move me to.

If you truly feel that you can't accomplish the work in the time involved then your job is to raise that flag to management. Which you've done. Managements job is then to determine whether there are any barriers to completion they can remove or to push the schedule and talk to the affected parties.

If, however, management is simply going to try and force you to meet the schedule then this is a recipe for disaster that simply won't end well. In which case, it's better to get the hard part over with now rather than being completely stressed out and dealing with a potential firing later.

By politely agreeing that perhaps you aren't the right person to work under these conditions one of three things will happen. Either you're calling his bluff and he'll change the schedule, he'll add another person to help you or you end up without a job. Honestly, if you're fired over it then you likely would have been if you missed the deadline anyway.

  • 9
    +1 for "if you're fired over it then you likely would have been if you missed the deadline anyway". One sure way for your manager to miss the deadline is to fire you now. – O. Jones May 16 '14 at 13:33
  • The truth is that the senior developer and me are the only ones who know the existing system really well. With such aggressive estimates, we are the only two people who can come to anyone's mind for this activity. The senior developer is tied up with multiple projects so I am pretty much the only option if they have such aggressive deadlines in mind. The only thing that bothers me is the fact that I may do all the hardwork required to meet these deadlines and still be at risk of being considered as someone who is scared to face challenges. – CKing May 16 '14 at 17:00
  • @bot: If the timelines are possible then I'm not entirely sure why you were in your bosses office to begin with. Either you can do the work in the allotted time or you can't. If you can, but you are simply balking at the work, then you need to "buck up buttercup" and "just do it". However, If the amount of overtime is such that you are feeling abused then you need to request help. If help is not forthcoming then you need to make some decisions about where you want to work. – NotMe May 16 '14 at 18:22
2

How do I deal with unrealistic deadlines on a software project?

Generally, there are a couple of points to consider here:

  1. Is the deadline due to some external event that can't be moved? For example, if there is a trade show that the project has to be done then this is a bit different than an arbitrary deadline.

  2. How well can you prove that the deadline is unrealistic? The deadline may be planned but what evidence do you have to counter these points?

How do I make sure I don't miss any deadlines when the deadlines themselves are unrealistic?

Put in extra hours and asking for assistance would be my suggestion.

What do I tell my manager when I do miss a deadline?

If you know that a deadline will be missed, I'd suggest informing your manager as soon as possible and see what course of action is recommended. Perhaps there will be a power struggle or something else here, but there may be alternatives. There is also the question of how do deadlines get handled within the company as I've seen everything from everyone in the company help meet the deadline to deadlines are just hopeful dates that don't mean anything.

What did you do when faced with unrealistic deadlines that were non-negotiable?

Depending on those first few points, there would be a few options:

  1. Contingency plan - Revise the scope so that a demo could be done but with limited functionality.

  2. Push back - Granted this was ugly, there have been times where my co-workers and I told the lead that the deadline wasn't possible and asked what would they want us to do. After all, they may have other things that could be done depending on why this was pushed so hard.

  3. Dive in - I've also seen times where the team would put in extra hours and make the deadline. Granted this does carry the risk of possibly being asked to do this again but this is where one has to be careful about how is time handled in the company as if there was a lot of extra time put in, this could be used later. Alternatively, getting OT approved can be another strategy here.

  • The deadlines have been imposed on my manager by his manager. Deadlines are a religion at my workplace and I have worked overtime a lot of times before to meet deadlines. The current deadlines are at a whole new level but they will need to be met regardless of whether they are being met for any specific reason. Good point about asking for assistance. – CKing May 16 '14 at 17:17
  • JB brings up good points. How do you know the deadline is unrealistic? You don't want to do the work required to prove it is unrealistic (ie a schedule), so how do you know? Also, regarding a contingency plan. Find out specifically what is absolutely required by the deadline. e.g. if it is for a demo, maybe some functionality only needs to appear to work but not really. Then propose to work on this functionality last with mocked functionality as a fallback. However, I don't know how you'll get anywhere without a schedule and estimates of your own. – Dunk May 19 '14 at 21:47
1

This is your manager’s response:

Manager: I cant change the estimates now. You have to manage this one way or the other. I am starting to feel that you are the wrong person to work on this project.

And the key thing to me is this:

I am starting to feel that you are the wrong person to work on this project.

This manager’s main argument for you meeting an unrealistic deadline is you might not be the right person for the project? Really? How will bullying actually inspire work.

My gut is telling me that the pressure to meet this deadline—and the fallout for why it can’t be me—really falls on your manager & your manager’s lack of perspective.

And unfortunately, this manager wants to make sure any blow-back from this missed deadline falls on the developer (i.e.: you).

The absolute best advice I can give you is to look at the project itself, and rationally divide it up into these categories.

  • Core Functionality: What can be done by the deadline that would be rock solid & beneficial for the project moving forward. Your goal would be to move forward putting your best foot forward admitting to yourself that the overall deadline can’t happen, but how good will I look—and how good will the project look—by the time the deadline is met.
  • Problematic but Necessary: What can’t be done by the deadline without seriously compromising quality. FWIW in every programming project I have been on, there has always been a core functionality that might be invisible to non-techs, but cover 80% of what needs to be done. So if you can own that foundation by getting that core functionality solid, you win big.
  • Problematic and Requires a New Strategy: What parts of the project seem like “nice things” but realistically would be a time & resource pit that would negatively impact the overall project. Many times—especially in the invisible world of programming—ideas that seem conceptually good on paper can end up being a nightmare in the real world. For example, if your project includes front-end design aspects that require group review & you know that will eat up time & require revisions, that would fall into the last category.

Now with that said, compile that list & approach your manager with the details. While they clearly are saying you are not a good fit for the project, the reality is if there was someone else who could handle that they would have gotten the task already. Or perhaps your manager would figure out a way for the two of you to work cooperatively.

But as it stands, my attitude is if the project falls on your lap & you know the deadlines are unreasonable you are within your power to shape a discussion on how best to tackle this.

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