10

Over the course of my 20-year career as a software developer, I've always been involved in the estimation process of any work I have to complete. Deadlines are typically agreed upon before we commit to schedules.

I think it would be unusual to have somebody else say you'll personally deliver a large software feature by a certain date without involving you at all.

I can understand a Team Lead making a commitment on behalf of their team but in this particular case a "team" doesn't work on the feature, but rather each developer handles their feature on their own from start to finish.

What is happening to me is commitments and estimations are scheduled for me with dates I can't possibly make. Generally, I'm so far behind on my current task, my next task will inevitably be late as well.

I'm starting to feel constantly behind and stressed by deadlines I have no part in making or committing too.

I've brought this up to my managers but the response I get is that I'm too busy to help with the estimation process and/or these are high-level estimates and not deadlines.

Management routinely treats these estimates as commitments and deadlines and will even mark a project as in "yellow or delayed" status if a project isn't releasing on time from the high-level estimate.

I'm not sure what to do next or how to handle this.

  • When was the last time your manager said: "you are late" or "this has to be done by DDMMYY" – aaaaaa May 1 at 20:17
  • also how does "starting to feel constantly behind" connects with "I'm so far behind on my current task". How long has it been going on? – aaaaaa May 1 at 20:27
  • aaaaaa, yesterday, and I've been behind for over six months. – John Farrell May 1 at 20:40
  • 6
    I have seen "slipped deadlines" used as a pretext for manufacturing urgency. The belief is that workers won't take their projects seriously unless there's a constant heavy backlog. It's a false economy, but some PM-types think that's the best way to get work out of people. Are you sure you aren't being played in this way? – teego1967 May 2 at 0:29
  • 3
    Other than your manager breathing in your neck, what happens if a deadline is missed? ("Being marked as 'yellow or delayed' is just a colour on a spreadsheet and not really important; important are clients running away, your company having to pay fines, customers having to sleep under a bridge, etc) – Abigail May 2 at 13:14
19

If you're a developer, part of your job is (if necessary) to give pushback about scheduling/deadlines/etc. If you feel that you will not be able to meet a deadline, you need to push back with your manager. And as early as possible. Keep in mind, if you don't confront them about a deadline/schedule, you're implicitly agreeing that you can achieve it. If your manager says "We'll have the Flooby Project done by October", and you think that's grossly optimistic, you have a duty to say, "I can't have have the Flooby Project done that early."

Ordinarily, I'd say to simply inform the manager that you won't be able to hit a deadline, but it sounds like you're in a situation where management isn't going to be the most helpful to you. So I'd recommend:

  • Sending the objection via email
  • Including objective reasons why you won't be able to meet the deadline. These reasons are very important. Without them, your boss can simply say, "Eh, I think we can do it" and proceed as-is.
  • Give an estimate for the number of hours you expect the project will take. Do NOT send an estimated completion date, since this depends on being given enough time to work on the project each week.
  • Send regular status updates about what you're working on
  • Retain your emails about objections, estimates, and status updates

Some reasons this is what I recommend:

  1. It gives you a bit of CYA. If you miss the deadline, you can point back to an email where you outright said "I can't hit this deadline."
  2. It makes the managers' jobs easier. Deadlines are going to get missed. This way, they'll at least know what's going on and can prioritize which deadlines slip. It also makes it easier for them to prioritize your work - when you send them the status email that says "I got X,Y, and Z done on the Flooby project. I did not work on the Zipdar and Yamala projects" - they can decide whether the Flooby project is still more important than the other two.

Hopefully all this helps. I know it kinda sucks having to have an adversarial relationship with management when it comes to throughput, but in some places, that's whats needed.

  • 3
    +1 "Retain you emails". Time to start collecting evidence that OP is not incompetent, but manager is – aaaaaa May 1 at 20:46
  • 1
    @aaaaaa Heh, don't know if that was a compliment or a remark on my awesome typing skills. :-) I should probably fix that typo... – Kevin May 1 at 20:47
  • If manager has decided not to involve developers in making estimates because they are too busy, you are instructing the developer to make estimates (hours needed to complete). This might backfire. – Sopuli May 1 at 21:00
  • @Sopuli I can understand what you're trying to say, but... I'm having problems reconciling that into an actual dev shop. I mean, if you have no estimate at all, you can't ever think, "I'm falling behind", or "I'm going to miss a deadline" - those require you to have an idea of how much work something will be. I have a feeling that the reason management told them, "Don't estimate hours" is because the dev team kept on giving numbers higher than management wanted. Which, to be honest, makes pushback even more important. Maybe I should add a note about how to structure the pushback? – Kevin May 1 at 21:11
  • 4
    Beware, this approach also gives you plenty of rope to hang yourself. Make sure your estimates reflect your actual velocity. Monitor and adjust along the way, and don't short your estimates because you think management or peers would frown upon them. – bishop May 1 at 22:48
4

Over the course of my 20-year career as a software developer, I've always been involved in the estimation process of any work I have to complete. Deadlines are typically agreed upon before we commit to schedules.

I think it would be unusual to have somebody else say you'll personally deliver a large software feature by a certain date without involving you at all.

I think you have been lucky until now. In my experience, while I think it is bad practice, I find that it's not that unusual that developers have a "commitment" made on their behalf.

Management routinely treats these estimates as commitments and deadlines and will even mark a project as in "yellow or delayed" status if a project isn't releasing on time from the high-level estimate.

I'm not sure what to do next or how to handle this.

Since it appears that you have already notified management that you are over burdened, that you will surely continue to fall behind, and that this stresses you out, there's little more you can do.

You can either continue your work to the best of your ability and decide not to be so stressed out, or you can look for a job that doesn't impose deadlines without your input.

1

Management is all about tracking and improving measurements. With the wrong things being measured, the wrong results will follow.

As soon as you say a date, it is a deadline. Management doesn't have a tool to track or improve against a date beyond "how many more days to wait, how many days past".

I suggest you start offering up estimated days of uninterrupted effort, man-hours, T-shirt sizes (This is an Extra Large problem, not like the small one we did last week). See if they gain traction. Note that for these items to gain traction, they'll need to have

  1. Visible metrics.
  2. Desired directions for those metrics to move.
  3. Static end points where management really knows it is done.

It is far harder to achieve this in practice when working with software.

0

A lot of folks here say to keep emails as "proof" but I feel if the business is upset that the deadline failed, then your manager will likely throw you under the bus. You won't even be able to bring up such emails unless you plan to go see a lawyer on it and even then it would get you no where as most places are at-will employment unless you live in a country with employee rights.

My advice is to build a relationship with your boss and the business side. Explain these deadlines are not possible and explain reasons why aside from you being overburdened. If a different project comes into focus, explain what priorities you must set and explain that it would mean it would be delayed further since you're not working on a new priority. It's really simple communication. Bringing up past emails of "... but you said..." will likely just anger them as they're already upset you missed the deadline. Try to communicate prior to the deadline and build a good rapport with all involved.

Right now you have this going against you:

  • You already shown you met these strict deadlines. So the question of why can't you do it now but did then?
  • You never brought up issues before so it might be seen as complaining or slacking off.

Overall be sure to explain that in the past you were stressed and had to work overtime missing out on homelife to meet these deadlines and you cannot do that anymore.

0

Welcome to the wonders of Waterfall - this exact situation is why Waterfall has fallen out of favor in a lot of software development contexts, and why Agile has taken its place.

So, to try to solve this, begin championing Agile in your workplace and try to convince your bosses that Agile is the superior project management methodology - the fact that Agile projects are significantly more likely to be delivered on time and on budget compared to Waterfall projects is a good place to start; the Standish Group's Chaos Manifesto has a number of statistics generated from decades of data they've collected on IT projects.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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