What to do about Software Project Managers aggressively overloading the Tech Leads?
You need to manage their expectations by establishing boundaries. It's a topic you could write entire books about so I'll cover just the specific issue you keep running in: PMs overloading your team with requests they know to be unreasonable.
The way they've worded this actually helps you a lot, because it makes it easy to push back. The next time a PM asks you why X features weren't done, your reply should cover some of the below phrases:
- As you know we took on more than we could deliver so we had to prioritise X, Y and Z.
As you know we took on more than we could deliver so we had to prioritise X, Y and Z.
- As you recall I mentioned that we wouldn't be able to do more than X and that we would only do Y if we were significantly ahead of schedule.
As you recall I mentioned that we wouldn't be able to do more than X and that we would only do Y if we were significantly ahead of schedule.
- Our original estimate was pretty accuracte so we didn't have time to look into that.
Our original estimate was pretty accuracte so we didn't have time to look into that.
If you're taking on a regular workload, a PM is adding on extra features on top of that and is then complaining why those extras weren't done, use a variation of:
- As I understand it X and Y were considered extras that we would take on if we still had time available. Our original estimate/goal was quite accuracte so we weren't able to take this one.
As I understand it X and Y were considered extras that we would take on if we still had time available. Our original estimate/goal was quite accuracte so we weren't able to take this one.
- I'm not sure I follow, you said these were stretch targets right? We focused on the main targets (X, Y and Z) and those are done but we didn't have time to take the stretch targets on.
I'm not sure I follow, you said these were stretch targets right? We focused on the main targets (X, Y and Z) and those are done but we didn't have time to take the stretch targets on.
If you're using an agile delivery model it can help to throw around the lingo:
- as discussed that was a stretch goal that was outside our forecast
- we had to refine the backlog
- we'll have to push this to the next sprint
The point is to make it clear that your team has a limited capacity and that you obviously have to prioritise when you're assigned more than you can feasibly deliver.
Note that all of the above only works if you are in a semi-strong position, which as tech lead you should be. Pushing back against unrealistic requirements is always tricky because they tend to come from unrealistic people. You need to know how to push back against people who demand more hours than your team can practically deliver, who insist on overtime when it doesn't make sense to ask that of your team, who say something is a stretch goal when they really mean "I won't take no for an answer". Handling that well comes with experience.