5

My team has been doing architecture debates for months and we’re in gridlock.

Profile picture
Senior Software Engineer [L5] at Google2 years ago

For the past 3 months, the primary activity on my team has been to debate and discuss the architecture design of the large system our team will be developing in Q3. It feels like we’re in gridlock and I don’t see a clear path to a decision. How can we move forward productively?

311
2

Discussion

(2 comments)
  • 2
    Profile picture
    Rahul Pandey [OP]
    Meta, Pinterest, Kosei
    2 years ago
    • Loop in your manager for input on the timeline and how the decision should be made. You should at least have an understanding on a “plan for a plan” for the decision.
    • One way to move the team forward is to answer the question “What does success or failure look like in 3 months?”
    • One huge value add is to create a “source of truth” document which summarizes the main options, their pros/cons, and the next steps to gain clarity on them. This becomes the artifact through which a decision can be made and everyone feels good about it.
  • 1
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    2 years ago

    Timebox it! Engineers, especially at a strong company like Google, love to theory craft on their quest for the absolute optimal, scalable approach. The problem is that this discussion can easily go infinite if left unbounded.

    Q3 is very soon, so there's only so much more time left before execution needs to start. Set a deadline for the architecture discussion, say 2 weeks from now, whatever you need to hit the final ship deadline in a healthy way. The contract is that wherever the discussion is after 2 weeks, the team will move forward with what it currently thinks is the best option, regardless of its FOMO for some potential other option that's better. If there's still no consensus with this pressure, you can call a vote or delegate the decision to the EM/TL.

    The main thing is to make sure that people can't just keep debating without fully accepting the repercussions. If you're an engineer who's going to strike down the current consensus and push the discussion even longer, you need to own the fact that you are pushing back the deadline for the entire team.