Taro Logo
1

How to influence engineers to hold up their timelines?

Profile picture
Senior Software Engineer at Taro Community8 months ago

I'm an E5 iOS at a Big Tech company reporting to an M2. I'm leading the mobile side for a multi-quarter product project that leverages work from 2 platform teams. Most of the complexity of this project will be on the mobile side. My backend lead is an E6 full-stack web engineer reporting to an M1 who reports to my M2. The M1 is on parental leave until late Dec / early Jan. This E6 has been an amazing partner and teammate.

The 2 platform teams have missed a lot of their timelines. One dependency is about a month behind schedule. They often give us deliverables that are dev-complete and not tested (e.g., compilation errors, etc.). We have sync meetings 2x/week, but 1 platform team has never attended any of these meetings. The other platform team doesn't always send the same engineers to the meeting and doesn't always know the status of their own deliverables. That platform team's EM got terminated for performance reasons before this project started, so their M2 and a TPM have been tag-teaming to fill in the gap. That means sometimes their M2 attends the sync meetings, sometimes the TPM attends, sometimes both attend, and sometimes neither attends. The TPM sends a weather report on that team's deliverables every other week, but hasn't sent one in the past month. In his last email, he listed my E6 and me as the DRIs for their team's deliverables. When I confronted him about it, he said it was a mistake and he'll fix it in future emails. How do I bring visibility into these delays to external stakeholders?

I created a shared Google Doc to track all the dependencies, including when our team needs the deliverables, the other team's ETAs, and any notes. However, it's been challenging getting ETAs from the other teams. When I tagged them in the Google doc asking for ETAs, they just ignore me.

My manager gave me feedback to "influence engineers to hold up their timeline than push for hard commitments". Do you have any concrete advice here? I'm not sure how to do this.

After I escalated the 1st platform team's unresponsiveness to their Director (3 levels up), the E6 iOS DRI became very responsive. Escalating to that E6's skip level had not been effective. Should I just keep escalating everything or is there a better approach?

78
3

Discussion

(3 comments)
  • 3
    Profile picture
    Tech Lead, Manager at Google
    8 months ago

    I'm gathering the following from what you've wrote:

    1. One of your partner teams is in a disarray, due to recent attrition of their EM. The other team seem unresponsive to your requests for reasons unknown.
    2. You've attempted to put pressure on your partner teams by escalating to their management, or pushing them during syncs to stick to their agreed upon timelines. This has not been particularly effective.

    I can't read your manager's mind, but I sense you are not acting with enough empathy toward your colleagues. I worry that you risk destroying your long term relationship with these partner teams over completing this particular project.

    Escalation is an important tool, but it must be used w/ care. You should only use it when you know the people you are escalating (1) can actually help solve your case (2) is willing / incentivized to help you achieve this. I've personally found it only useful in dealing w/ short term fires. Long term commitments takes relationship building, which escalations don't help with at all. Repeated and ineffective use of escalation will result in "boy who cried wolf" situation where no one really cares about you say anymore.

    Is the skip manager actually sympathetic to your cause? Perhaps they are aware of the disarray on the team, and would rather sort out the managerial issues instead of meeting deadlines for other teams. I don't know, but that's just one reason why escalating to them might not be effective.

    Instead, I recommend you to ask your fellow engineers why they are struggling to meet the timelines they promised. Is platform team 1 struggling because they have too many priorities, and can't prioritize properly because they just lost their EM? Or maybe they've lost engineers too, so they are trying to do 5 people's work with just 3? Why is platform team 2 not showing up to your syncs? Perhaps they never agreed to support your project as part of their OKR?

    You need to understand what problems they are dealing with in order to know what solutions (including escalation) are appropriate. If the team is suddenly understaffed due to attrition... there's little escalation can do. 3 people can only do so much work. Unless you are ready to pitch in and do part of their work, no amount of escalation can do anything about that particular problem. But perhaps the reason they are behind is because they somehow don't understand how their work fits into your design or some other technical misunderstandings between your teams. E.g. perhaps some of the reasons are in your control. Perhaps there's actually something you can do to help them, rather than add oil to their fire.

    At the end of the day, many timelines slip for reasons beyond teams' control. Good teams communicate these factors to their leadership as quickly as they discover them. This let leadership to make reasonable decisions that either pushes that timeline before it "slips", or find mitigation strategy (additional people? less scope?) that enables the team to meet the required timeline. Perhaps you can surface the problems your partner teams are facing and see if your own leadership think you should adjust your timeline?

  • 0
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    7 months ago

    One of the hardest things about being an engineering leader (either a tech lead IC like yourself or an EM) is that you need to learn how to do less with more, and this is especially true in this economy. As Kuan mentioned, it seems like you're unsure why these other 2 teams are missing their deadlines, so I would follow an action plan like this:

    1. Do "user research" to figure out exactly why these other teams aren't hitting their dates (i.e. set up a ton of 1 on 1s)
    2. Pour over the reasons and come up with potential solutions (loop in your manager as well)
    3. Propose the solutions to these other stakeholders and (hopefully) implement some of them

    For Step #1, try to make the 1 on 1s recurring with the leads of those 2 other platform teams. This should have been done as soon as the project was started, but better late than never.

    Also like Kuan mentioned, escalation is a last resort. It's true that it is sometimes the only option, but it's the equivalent of a "Break glass in case of emergency" lever. Nobody likes being strong-armed into doing something, and they will usually have some resentment towards the person doing the strong-arming. Escalating may solve the problem for now, but it hurts the long-term prospects of the relationship.

  • 0
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    7 months ago

    I have a lot of thoughts on what the possible causes may be, so I'm splitting it up into a separate post:

    • Not enough resources - This one is the most common culprit: They simply don't have enough people and everything on their plate is truly high-priority and can't be canned. Solutions:
      • Procure a loan engineer from another team
      • Pair programming to streamline the work with in-built flow states
    • They don't prioritize this XFN project - In other words, they simply don't care about you and your project enough. This one is hairy as it requires changing minds (one of the world's hardest things to change) Solutions:
      • Reframe the project in a way that it's more beneficial to them and their goals (this may change what the project ultimately delivers)
      • Make an argument that your project is more impactful than the other things on their plate
    • It is logistically hard to work with your system - This one can be for a variety of reasons from bad code, to bad internal tooling, to poor working documents without a clean single-source of truth, to meetings being at bad times and not being run effectively. It is harder to come up with blanket solutions to these - You will have to deal with this on a case-by-case basis. The good news is that these problems tend to be tactical, so they are relatively easy to solve (just move the meeting or consolidate some working docs or something).

    On top of these specific solutions, here's a lot of generic, "catch all" ones:

    • Extend the deadline
    • Cut scope
    • Decouple components so more things can be executed in parallel

    Here's a good video about thinking creatively to do more with less: How Do Effective Engineering Leaders Help Their Teams Achieve More?

    If you're able to share more specifics about the why, I'm more than happy to suggest targeted solutions.