Cross-Team Dependencies | Blocking & Milestones
Coordinate cross-team work with task linking, blocker tracking, and milestone synchronization. Prevent bottlenecks and maintain velocity in GitScrum.
13 min read
Multi-team projects fail when dependencies aren't managed properly. One team waits while another finishes, deadlines slip, and frustration builds. GitScrum provides dependency tracking, cross-team visibility, and coordination tools that help teams identify blockers early, plan work sequences intelligently, and maintain velocity even with complex inter-team relationships.
The Cross-Team Dependency Problem
Unmanaged dependencies cause:
- Blocked work β Teams idle waiting for other teams
- Hidden bottlenecks β Dependencies discovered too late
- Cascading delays β One slip affects multiple teams
- Duplicated effort β Teams build similar solutions independently
- Integration nightmares β Incompatible implementations
- Blame games β Finger-pointing when things go wrong
GitScrum Dependency Management
Tools for cross-team coordination:
Dependency Features
| Feature | Purpose |
|---|---|
| Task linking | Connect dependent tasks across projects |
| Blocker tracking | Highlight blocked work visually |
| Cross-project views | See dependencies across teams |
| Milestone sync | Align team milestones and deadlines |
| Notifications | Alert when blockers cleared |
| Dependency reports | Analyze dependency patterns |
Dependency Types and Mapping
Understanding Dependency Types
Dependency Classifications:
1. FINISH-TO-START (FS) - Most Common
βββββββββββββββββββββββββββββββββββ
Team A must FINISH before Team B can START
Example:
[API Team: Build Auth Endpoints] ββFSβββ [Frontend: Implement Login]
Frontend cannot start login until API endpoints exist
2. START-TO-START (SS)
ββββββββββββββββββββ
Team B can START when Team A STARTS
Example:
[Backend: Start Database Schema] ββSSβββ [Frontend: Start Mockups]
Both can begin in parallel once requirements clear
3. FINISH-TO-FINISH (FF)
ββββββββββββββββββββββ
Team B must FINISH when Team A FINISHES
Example:
[Feature Dev: Complete Features] ββFFβββ [QA: Complete Testing]
Testing finishes when all features tested
4. START-TO-FINISH (SF) - Rare
ββββββββββββββββββββββββββββ
Team B cannot FINISH until Team A STARTS
Example:
[New System: Go Live] ββSFβββ [Old System: Decommission]
Can't decommission old until new starts
Dependency Mapping Template:
ββββββββββββββββββββββββββββ
Task A: _______________
Task B: _______________
Type: [ ] FS [ ] SS [ ] FF [ ] SF
Critical Path: [ ] Yes [ ] No
Lag/Lead Time: ___ days
Notes: _______________
Dependency Matrix
Creating a Dependency Matrix:
Team Dependencies for Q4 Release:
βββββββββββββββββββββββββββββββββ
β Platform β API β Frontend β Mobile β QA
βββββββββββΌβββββββββββΌβββββββββΌβββββββββββΌββββββββββΌββββββββ
Platform β - β FS(2) β SS(1) β SS(1) β FF(0)
API β - β - β FS(3) β FS(3) β FS(1)
Frontend β - β - β - β SS(0) β FS(2)
Mobile β - β - β - β - β FS(2)
QA β - β - β - β - β -
Legend:
βββ FS(n) = Finish-to-Start, n days lag
βββ SS(n) = Start-to-Start, n days lag
βββ FF(n) = Finish-to-Finish, n days lag
βββ - = No dependency
Reading: Row depends on Column
Example: API row, Platform column = FS(2)
API depends on Platform finishing, 2 day lag
Critical Dependencies (must track closely):
βββ Platform β API (2 days lag)
βββ API β Frontend (3 days lag)
βββ API β Mobile (3 days lag)
βββ Frontend β QA (2 days lag)
Cross-Team Visibility
Multi-Project Dashboard
Cross-Team Dependency Dashboard:
Sprint 15 Status Overview:
ββββββββββββββββββββββββββ
Platform Team API Team Frontend Team
βββββββββββββββββ ββββββββββββββ βββββββββββββββββ
[β β β β β β β β ββ] 80% [β β β β β β ββββ] 60% [β β β β ββββββ] 40%
β β
ββββββββββββββββββββββββ
β
Waiting for API-234 β οΈ
Blocked Work:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BLOCKERS (3 items affecting 2 teams) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β π΄ API-234: Auth token refresh β
β βββ Blocking: FE-156, FE-157, MOB-089 β
β βββ Owner: @alice (API Team) β
β βββ Days blocked: 3 β
β β
β π‘ PLAT-156: Database migration β
β βββ Blocking: API-240, API-241 β
β βββ Owner: @bob (Platform Team) β
β βββ Days blocked: 1 β
β β
β π‘ FE-160: Design review pending β
β βββ Blocking: FE-161, FE-162 β
β βββ Owner: @carol (Design) β
β βββ Days blocked: 2 β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Upcoming Dependencies (next 5 days):
βββ Day 1: PLAT-160 needed by API-245
βββ Day 2: API-238 needed by FE-165
βββ Day 3: API-239 needed by MOB-092
βββ Day 4: FE-168 needed by QA-200
βββ Day 5: Design specs needed by FE-170
Cross-Project Task Links
Linking Tasks Across Projects:
Task: FE-156 "Implement SSO Login Button"
βββββββββββββββββββββββββββββββββββββββββββ
Dependencies:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BLOCKED BY (must complete before this task): β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β π΄ API-234: Auth token refresh endpoint β
β Status: In Progress (75%) β
β ETA: 2 days β
β Owner: @alice β
β β
β β
PLAT-148: SSO provider configuration β
β Status: Done β
β Completed: Jan 15, 2024 β
β β
β β
DESIGN-089: SSO login mockups β
β Status: Done β
β Completed: Jan 12, 2024 β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BLOCKS (waiting for this task): β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β³ FE-170: Complete authentication flow β
β Status: Waiting β
β Owner: @david β
β β
β β³ QA-210: SSO login test suite β
β Status: Waiting β
β Owner: @emma β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Related (informational, no blocking):
βββ DOC-056: SSO integration guide
βββ FE-158: SSO error handling
βββ API-236: SSO audit logging
Blocker Management
Blocker Workflow
Blocker Lifecycle:
1. IDENTIFICATION
ββββββββββββββ
Developer discovers dependency not ready:
βββ Mark task as "Blocked"
βββ Link to blocking task
βββ Add blocker label
βββ Notify blocking team
βββ Document in task notes
GitScrum Auto-Actions:
βββ Task card turns red/orange
βββ Blocker added to cross-team view
βββ Slack notification to blocking team
2. ESCALATION (if unresolved >24h)
ββββββββββββββββββββββββββββββββ
βββ Auto-escalate to team leads
βββ Add to daily standup agenda
βββ Trigger escalation workflow
βββ Create dependency resolution meeting if needed
3. RESOLUTION
βββββββββββ
Blocking team completes work:
βββ Mark blocking task complete
βββ GitScrum auto-notifies blocked tasks
βββ Blocked team pulls task from backlog
βββ Metrics track resolution time
4. REVIEW
ββββββ
Weekly dependency review:
βββ Analyze blockers resolved
βββ Identify patterns
βββ Improve processes
βββ Update dependency maps
Blocker Metrics Dashboard:
βββββββββββββββββββββββββ
This Sprint:
βββ Total Blockers Created: 12
βββ Blockers Resolved: 9
βββ Average Resolution Time: 1.8 days
βββ Currently Blocked Tasks: 3
βββ Teams Most Affected: Frontend (5), Mobile (4)
Blocking Sources:
βββ API Team: 6 blockers created
βββ Platform: 3 blockers created
βββ External (Design): 2 blockers created
βββ Infrastructure: 1 blocker created
Blocker Prevention
Preventing Dependency Blockers:
Pre-Sprint Dependency Check:
ββββββββββββββββββββββββββββ
Before sprint planning, each team:
1. List Planned Work
βββ Identify all stories/tasks for sprint
βββ Note expected dependencies
2. Dependency Analysis
βββ What do we need from other teams?
βββ What are we providing to other teams?
βββ When do we need it?
βββ When can we provide it?
3. Cross-Team Sync (30 min meeting)
βββ Share dependency lists
βββ Identify conflicts
βββ Negotiate timing
βββ Document commitments
4. Sprint Backlog Adjustment
βββ Reorder based on dependencies
βββ Add buffer for uncertainty
βββ Create placeholder tasks
βββ Set up linking in GitScrum
Dependency Commitment Template:
βββββββββββββββββββββββββββββββ
From: [Team Name]
To: [Requesting Team]
We commit to deliver:
βββ Item: _______________________
βββ Description: ________________
βββ Delivery Date: ______________
βββ Definition of Done: _________
βββ Contact: ____________________
Risk Factors:
βββ ____________________________
βββ Mitigation: _________________
Acknowledged by: _______________
Date: _________________________
Coordination Patterns
Handoff Protocols
Team-to-Team Handoff Process:
HANDOFF CHECKLIST
βββββββββββββββββ
Providing Team (e.g., API Team):
βββ β‘ Work completed and tested
βββ β‘ Documentation updated
β βββ API documentation
β βββ Usage examples
β βββ Known limitations
βββ β‘ Environment ready
β βββ Deployed to staging
β βββ Feature flags configured
β βββ Test data available
βββ β‘ Communication
β βββ Notify receiving team
β βββ Schedule sync if needed
β βββ Update task status in GitScrum
βββ β‘ Support commitment
βββ Available for questions
βββ Quick response time agreed
βββ Escalation path documented
Receiving Team (e.g., Frontend Team):
βββ β‘ Verify handoff complete
βββ β‘ Test integration
β βββ Smoke test API endpoints
β βββ Verify data formats
β βββ Check error handling
βββ β‘ Begin dependent work
βββ β‘ Provide feedback
β βββ Issues found
β βββ Missing items
β βββ Suggestions
βββ β‘ Update task links in GitScrum
Handoff Meeting Agenda (15 min):
ββββββββββββββββββββββββββββββββ
βββ 5 min: Demo what's delivered
βββ 5 min: Walk through documentation
βββ 3 min: Environment access verification
βββ 2 min: Questions and support plan
Integration Points
Managing Integration Points:
Shared Integration Points:
ββββββββββββββββββββββββββ
1. API CONTRACTS
βββββββββββββ
Definition: [API Team owns, others consume]
Contract Management:
βββ OpenAPI specs in shared repo
βββ Version control all changes
βββ Breaking changes require notice
βββ Consumer teams approve changes
GitScrum Tracking:
βββ Label: integration/api-contract
βββ Any change triggers notification
βββ Review required from consumers
2. DATABASE SCHEMAS
ββββββββββββββββ
Definition: [Platform Team owns]
Schema Management:
βββ Migration scripts versioned
βββ Impact analysis required
βββ Rollback plan documented
βββ All teams notified of changes
GitScrum Tracking:
βββ Label: integration/database
βββ Link schema changes to dependent features
βββ Review required from API team
3. SHARED COMPONENTS
βββββββββββββββββ
Definition: [Frontend owns, Mobile consumes]
Component Management:
βββ Shared design system repo
βββ Semantic versioning
βββ Breaking change communication
βββ Migration guides provided
GitScrum Tracking:
βββ Label: integration/components
βββ Link component updates to feature work
Integration Calendar:
βββββββββββββββββββββ
Mon Tue Wed Thu Fri
ββββββ ββββββ ββββββ ββββββ ββββββ
AM β API β β Schema β β Component
β Contract β β Review β β Release
β Review β β β β
βββββΌβββββββββββΌβββββββββββΌβββββββββββΌβββββββββββΌββββββββββ
PM β β Cross- β β Int. β
β β Team β β Test β
β β Standup β β β
Milestone Synchronization
Aligned Milestones
Cross-Team Milestone Planning:
Q1 Release Milestone Map:
βββββββββββββββββββββββββ
Week 1 (Jan 1-5)
βββ Platform: Database schema finalized
βββ Design: All mockups delivered
βββ Dependencies: None (parallel start)
Week 2 (Jan 8-12)
βββ API: Core endpoints ready
βββ Platform: Infrastructure complete
βββ Dependencies: Platform β API
Week 3 (Jan 15-19)
βββ Frontend: Core UI components
βββ Mobile: Core screens
βββ Dependencies: API β Frontend, API β Mobile
Week 4 (Jan 22-26)
βββ Frontend: Integration complete
βββ Mobile: Integration complete
βββ Dependencies: Frontend β₯ Mobile (parallel)
Week 5 (Jan 29 - Feb 2)
βββ QA: Testing complete
βββ All: Bug fixes
βββ Dependencies: Frontend β QA, Mobile β QA
Week 6 (Feb 5-9)
βββ All: Release prep
βββ Release date: Feb 9
Visual Timeline:
ββββββββββββββββ
W1 W2 W3 W4 W5 W6
ββββββββΌβββββββΌβββββββΌβββββββΌβββββββ€
Platform ββββββββββββββββββββββββββββββββ
API ββββββββββββββββββββββββββββββββ
Frontend βββββββββββββββββββββββββββββββ
Mobile βββββββββββββββββββββββββββββββ
QA βββββββββββββββββββββββββββββββ
Release β²
β
Feb 9
β = Active work
β = Waiting or not started
Milestone Dependencies
Milestone Dependency Tracking:
Milestone: "Q1 API Complete"
ββββββββββββββββββββββββββββ
Depends On (must complete first):
βββ β
M: Database Schema Finalized
β βββ Completed: Jan 4
βββ β
M: Infrastructure Ready
β βββ Completed: Jan 10
βββ π‘ M: Auth Provider Integration
βββ Status: In Progress (90%)
βββ ETA: Jan 12
Blocks (waiting for this milestone):
βββ β³ M: Frontend Integration Start
β βββ Planned: Jan 15
β βββ Can slip to: Jan 17 (2-day buffer)
βββ β³ M: Mobile Integration Start
β βββ Planned: Jan 15
β βββ Can slip to: Jan 17 (2-day buffer)
βββ β³ M: QA Test Environment Ready
βββ Planned: Jan 18
βββ Can slip to: Jan 22 (4-day buffer)
Risk Assessment:
βββ Current Status: On Track β
βββ Confidence: 85%
βββ Buffer Available: 2 days
βββ Critical Path: Yes
βββ Mitigation: Daily check-ins until complete
Milestone Sync Meeting Agenda:
ββββββββββββββββββββββββββββββ
βββ Each team: 2 min status update
βββ Blocker review: 5 min
βββ Risk discussion: 5 min
βββ Adjustment decisions: 3 min
βββ Total: 15-20 min weekly
Communication Workflows
Cross-Team Standup
Multi-Team Standup Format:
When: Tuesday/Thursday, 15 minutes
Who: One representative from each team
Goal: Surface cross-team dependencies and blockers
Format:
βββββββ
1. Round Robin (8 min)
Each rep answers:
βββ "We're providing [X] to [Team] by [date]"
βββ "We're waiting on [Y] from [Team]"
βββ "We have [blockers/no blockers] to report"
2. Blocker Deep-Dive (5 min)
βββ Top 2-3 blockers by impact
βββ Owner commits to resolution date
βββ Escalation if needed
3. Lookahead (2 min)
βββ Dependencies due in next 3 days
βββ Heads up on upcoming needs
Standup Board:
ββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CROSS-TEAM STANDUP - Jan 16 β
ββββββββββββββββ¬βββββββββββββββ¬βββββββββββββββββββββββββββ€
β Providing β Waiting On β Blockers β
ββββββββββββββββΌβββββββββββββββΌβββββββββββββββββββββββββββ€
β APIβFE: β FEβAPI: β π΄ API-234 (3 days) β
β Auth ready β User mgmt β Needs: Senior dev β
β Jan 17 β Jan 17 β Owner: @alice β
ββββββββββββββββΌβββββββββββββββΌβββββββββββββββββββββββββββ€
β PlatβAPI: β APIβPlat: β π‘ PLAT-156 (1 day) β
β DB migrated β Schema done β Needs: Testing β
β Jan 18 β Jan 18 β Owner: @bob β
ββββββββββββββββ΄βββββββββββββββ΄βββββββββββββββββββββββββββ
Dependency Notifications
Notification Configuration:
Auto-Notify When:
βββββββββββββββββ
1. Blocker Created
β Notify: Blocking team lead
β Channel: Team Slack + GitScrum notification
β Include: Task details, impact, urgency
2. Blocker Resolved
β Notify: All blocked task owners
β Channel: Individual Slack DM
β Include: Confirmation, any notes
3. Dependency Due Soon (3 days)
β Notify: Both team leads
β Channel: Email digest
β Include: Dependency list, status check
4. Dependency Missed
β Notify: All stakeholders + PM
β Channel: Escalation Slack channel
β Include: Impact analysis, request for plan
5. Milestone at Risk
β Notify: Project leadership
β Channel: Executive dashboard alert
β Include: Risk summary, mitigation options
Notification Template:
ββββββββββββββββββββββ
π¨ Dependency Alert: [Type]
Task: [Task ID - Task Name]
Team: [Affected Team]
Status: [Current Status]
Impact: [What's blocked]
Due: [Expected date]
Owner: [@owner]
Action Required: [Specific ask]
[View in GitScrum] | [View Dependency Graph]