Cross-Team Dependencies | Reduce Blocking
Coordinate dependencies across teams to reduce blocking. GitScrum visualizes and tracks cross-team dependencies to keep multiple teams moving smoothly.
8 min read
Dependencies between teams cause delays. GitScrum helps visualize and track cross-team dependencies to minimize blocking.
Understanding Dependencies
Types of Dependencies
DEPENDENCY TYPES:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β TECHNICAL DEPENDENCIES: β
β βββββββββββββββββββββββ β
β β’ API team must deliver endpoint before frontend can use β
β β’ Database changes needed before feature work β
β β’ Shared library update required β
β β
β RESOURCE DEPENDENCIES: β
β ββββββββββββββββββββββ β
β β’ Need specialist from another team β
β β’ Shared infrastructure team must configure β
β β’ Design resources shared across teams β
β β
β KNOWLEDGE DEPENDENCIES: β
β βββββββββββββββββββββββ β
β β’ Need information from domain experts β
β β’ Legacy system knowledge held by one person β
β β’ Cross-team documentation needed β
β β
β PROCESS DEPENDENCIES: β
β βββββββββββββββββββββ β
β β’ Approval from security team β
β β’ Legal review for feature β
β β’ External vendor involvement β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β DEPENDENCY DIRECTION: β
β β
β INCOMING: β
β βββββββββββ β
β β Other β ββββ Our work blocked until they deliver β
β β Team β β
β βββββββββββ β
β β
β OUTGOING: β
β βββββββββββ β
β β Us β ββββ Other team blocked until we deliver β
β β β β
β βββββββββββ β
β β
β Outgoing dependencies require commitment β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Identifying Dependencies
Early Detection
FINDING DEPENDENCIES:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β DURING BACKLOG REFINEMENT: β
β ββββββββββββββββββββββββββ β
β Ask for each story: β
β β’ "Do we need anything from another team?" β
β β’ "Does another team need something from us?" β
β β’ "Who else is affected by this work?" β
β β
β DURING SPRINT PLANNING: β
β βββββββββββββββββββββββ β
β β’ Review dependencies for planned work β
β β’ Confirm other team's availability β
β β’ Plan around blocked items β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β DEPENDENCY CHECKLIST: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β STORY: STORY-456 ββ
β β ββ
β β DEPENDENCY CHECK: ββ
β β ββ
β β β API changes needed? ββ
β β If yes: Which team? When ready? ββ
β β ββ
β β β Database changes needed? ββ
β β If yes: Who approves? Migration timing? ββ
β β ββ
β β β Design from another team? ββ
β β If yes: When will design be finalized? ββ
β β ββ
β β β Infrastructure/DevOps support? ββ
β β If yes: Is it scheduled? Who to contact? ββ
β β ββ
β β β External approvals (security, legal)? ββ
β β If yes: Timeline? What do they need from us? ββ
β β ββ
β β IDENTIFIED DEPENDENCIES: ββ
β β β Depends on: API-123 from Platform Team (Sprint 15) ββ
β β β Blocks: STORY-789 for Mobile Team ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Tracking Dependencies
Dependency Board
DEPENDENCY TRACKING:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β DEPENDENCY BOARD: β
β β
β OUR TEAM: Product Team β
β β
β INCOMING (We wait for them): β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β DEPENDENCY FROM STATUS DUE ββ
β β ββββββββββ ββββ ββββββ βββ ββ
β β API-123 Platform π‘ In prog Sprint 15 ββ
β β DESIGN-45 Design Team π’ Done Sprint 14 ββ
β β INFRA-89 DevOps π΄ At risk Sprint 15 ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β OUTGOING (They wait for us): β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β DEPENDENCY TO STATUS DUE ββ
β β ββββββββββ ββ ββββββ βββ ββ
β β AUTH-56 Mobile Team π’ Done Sprint 14 ββ
β β DATA-78 Analytics π‘ In prog Sprint 15 ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β DEPENDENCY DETAIL: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β INFRA-89: Production environment setup ββ
β β ββ
β β PROVIDER: DevOps Team (@lead-ops) ββ
β β NEEDED BY: Product Team ββ
β β FOR STORY: STORY-456 ββ
β β ββ
β β STATUS: π΄ At Risk ββ
β β REASON: Resource constraint, competing priorities ββ
β β ββ
β β MITIGATION: ββ
β β Escalated to both team leads ββ
β β Exploring temporary workaround ββ
β β ββ
β β LAST UPDATE: Jan 22 - "May slip to Sprint 16" ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Managing Dependencies
Communication
CROSS-TEAM COMMUNICATION:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β SCRUM OF SCRUMS: β
β ββββββββββββββββ β
β Representatives from each team meet regularly β
β Share progress on dependencies β
β Raise blockers and risks β
β Coordinate timelines β
β β
β AGENDA: β
β β’ What did we complete that others depend on? β
β β’ What are we blocked on? β
β β’ What might block others? β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β DEPENDENCY HANDOFFS: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β WHEN ACCEPTING DEPENDENCY: ββ
β β ββ
β β β Clear specification of what's needed ββ
β β β Agreed format/interface ββ
β β β Confirmed delivery date ββ
β β β Point of contact established ββ
β β β How to get updates on progress ββ
β β ββ
β β WHEN DELIVERING DEPENDENCY: ββ
β β ββ
β β β Notify dependent team immediately ββ
β β β Provide documentation/examples ββ
β β β Available for questions ββ
β β β Confirm it meets their needs ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ESCALATION: β
β βββββββββββ β
β When dependency is at risk: β
β 1. Direct team-to-team communication β
β 2. Involve team leads if unresolved β
β 3. Escalate to management if critical β
β β
β Early escalation, not last-minute surprises β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Risk Mitigation
HANDLING DEPENDENCY RISKS:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β RISK: DEPENDENCY MIGHT BE LATE β
β βββββββββββββββββββββββββββββ β
β β
β OPTION 1: REORDER WORK β
β Work on independent stories first β
β Start dependent work when dependency arrives β
β β
β OPTION 2: PARALLEL WORK β
β Start with assumptions (mock API) β
β Integrate when real dependency ready β
β Risk: Rework if assumptions wrong β
β β
β OPTION 3: REDUCE SCOPE β
β MVP version without full dependency β
β Add full integration later β
β β
β OPTION 4: INTERNAL SOLUTION β
β Build temporary workaround ourselves β
β Replace with proper solution later β
β Creates tech debt β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β WHEN DEPENDENCY FAILS: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β DEPENDENCY SLIP RESPONSE: ββ
β β ββ
β β SITUATION: ββ
β β API-123 will be 2 sprints late ββ
β β ββ
β β IMPACT: ββ
β β STORY-456, STORY-457, STORY-460 blocked ββ
β β Sprint 15 goal at risk ββ
β β ββ
β β OPTIONS CONSIDERED: ββ
β β 1. Wait (lose 2 sprints) β ββ
β β 2. Build mock API (enable parallel work) β
ββ
β β 3. Rescope to remove dependency β οΈ ββ
β β ββ
β β DECISION: ββ
β β Build mock API, integrate when real API ready ββ
β β Extra effort: 3 points ββ
β β Approved by: @product-owner ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Reducing Dependencies
Architectural Approaches
MINIMIZING DEPENDENCIES:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β LOOSE COUPLING: β
β βββββββββββββββ β
β Design systems that can work independently β
β Clear interfaces between components β
β Changes in one don't require changes in others β
β β
β DEFINED CONTRACTS: β
β ββββββββββββββββββ β
β Agree on API contracts up front β
β Contract tests ensure compatibility β
β Teams can develop in parallel β
β β
β AUTONOMOUS TEAMS: β
β ββββββββββββββββ β
β Teams own full stack of their domain β
β Can build, test, deploy independently β
β Minimize cross-team code ownership β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β BEFORE/AFTER: β
β β
β HIGHLY DEPENDENT: β
β βββββββββββ βββββββββββ βββββββββββ β
β β Team A ββββββ Team B ββββββ Team C β β
β β (Front) β β (Back) β β (Data) β β
β βββββββββββ βββββββββββ βββββββββββ β
β Every feature needs all three teams β
β β
β AUTONOMOUS: β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Product Team (full stack) β β
β β Frontend + Backend + Data for their domain β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β Team can deliver features end-to-end β
β β
β DEPENDENCY REDUCTION QUESTIONS: β
β β’ Can we restructure teams to reduce handoffs? β
β β’ Can we define clearer interfaces? β
β β’ Can we give teams more ownership? β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ