Most non-trivial projects depend on other teams, and those dependencies are where delivery most often breaks. A TL's job is to surface dependencies early, agree on clear contracts, and keep communication flowing so nobody is blocked by a surprise.
How to manage dependencies
✓ MAP dependencies early — who do we need, and when?
✓ AGREE on interfaces/contracts up front (API shape, data, timing)
✓ GET commitments, not vibes — a date and an owner, written down
✓ DECOUPLE where possible — mocks/stubs so you're not blocked waiting
✓ Over-communicate — a short weekly sync beats silence
✓ Escalate early — a slipping dependency flagged late is a crisis
A concrete example
Your feature needs an endpoint from the platform team. Don't wait for it. Agree on the API contract this week, build against a mock, and let them deliver in parallel. You integrate when their endpoint lands, instead of sitting idle for three weeks.
