Dependencies
Dependencies in SetGet define the relationships between work items that must be completed in a specific order. When one work item cannot start or finish until another is done, that relationship is a dependency. Managing dependencies explicitly prevents teams from working on blocked items, reveals critical paths in project timelines, and makes scheduling decisions visible.
Why manage dependencies
- Unblock teams — when dependencies are explicit, team members know which items they can start immediately and which ones require something else to finish first.
- Reveal critical paths — the longest chain of dependent items determines the minimum project duration. Identifying the critical path helps you focus effort where it matters most.
- Improve planning accuracy — accounting for dependencies when setting dates prevents unrealistic schedules.
- Prevent wasted work — starting a blocked item prematurely often leads to rework when the dependency delivers something unexpected.
- Visualize bottlenecks — dependency chains show where a single delayed item can cascade into delays across many others.
Dependency types
SetGet supports the following dependency relationships between work items:
| Relationship | Meaning | Example |
|---|---|---|
| Blocking | This item must be completed before the other can start | "Design API schema" blocks "Implement API endpoints" |
| Blocked by | This item cannot start until the other is completed | "Implement API endpoints" is blocked by "Design API schema" |
| Related | Items are related but do not block each other | "Update docs" is related to "Refactor auth module" |
| Duplicate | Items represent the same work | "Fix login bug (WEB-42)" is a duplicate of "Login broken (WEB-45)" |
The Blocking and Blocked by relationships are inverses of each other. Setting item A as blocking item B automatically sets item B as blocked by item A.
Create a dependency
From the work item detail
- Open a work item (peek view or full page).
- Navigate to the Relations section.
- Click Add relation.
- Choose the relationship type (Blocking, Blocked by, Related, or Duplicate).
- Search for and select the target work item.
- The dependency is created immediately.
From the Gantt chart
- Open the Gantt view in your project, cycle, or module.
- Hover over a work item bar to reveal the dependency handle (a small circle at the end of the bar).
- Click and drag from the handle to another work item bar.
- Release to create a blocking relationship.
This drag-and-drop method is the fastest way to define dependencies when planning on the timeline.
From the action menu
- Right-click a work item in any view.
- Select Add relation from the context menu.
- Choose the type and target item.
Visualize dependencies on the Gantt chart
The Gantt chart is the primary surface for understanding dependencies visually:
- Each work item appears as a horizontal bar spanning its start and due dates.
- Dependencies are shown as connector lines (arrows) between bars.
- The arrow points from the blocking item to the blocked item.
- Color coding indicates dependency status:
| Color | Meaning |
|---|---|
| Gray | Normal dependency; both items are on schedule |
| Amber | The blocked item's start date overlaps with the blocker's incomplete work |
| Red | The blocking item is overdue, creating a cascading delay |
Reading the Gantt chart
- Follow the arrows forward to see what a delay on one item would affect.
- Follow the arrows backward to see what must finish before a given item can start.
- Items with no incoming arrows can start immediately.
- Items with no outgoing arrows are leaf nodes — completing them does not unblock anything else.
Dependency chains
A dependency chain is a sequence of work items connected by blocking relationships: A blocks B, B blocks C, C blocks D. Understanding chains is critical for schedule management.
Critical path
The critical path is the longest dependency chain in your project. Any delay on the critical path delays the entire project. To identify it:
- Open the Gantt view.
- Look for the longest connected sequence of arrows from start to finish.
- Items on this path have zero schedule slack — they cannot be delayed without affecting the project end date.
TIP
Focus your attention on the critical path during daily standups and planning sessions. Delays on non-critical items are less impactful because they have schedule slack.
Chain depth
For any work item, the chain depth tells you how many dependent items are upstream:
| Chain depth | Implication |
|---|---|
| 0 | No blockers — can start immediately |
| 1 | Blocked by one item |
| 2+ | Part of a longer chain; delays upstream cascade down |
Items with high chain depth are more vulnerable to delays and should be monitored closely.
Circular dependency detection
A circular dependency occurs when a chain of blocking relationships loops back on itself — A blocks B, B blocks C, and C blocks A. This is logically impossible and would deadlock the schedule.
SetGet automatically detects and prevents circular dependencies:
- When you attempt to create a dependency that would form a cycle, SetGet displays an error message explaining which items form the loop.
- The dependency is not created.
- You must restructure the relationships to eliminate the cycle before proceeding.
WARNING
If you encounter a circular dependency error, re-examine the blocking relationships. Often, one of the dependencies in the chain is not a true hard blocker and can be changed to a "Related" relationship instead.
Impact on scheduling
Dependencies have direct implications for scheduling and date management:
Date conflicts
When a blocked item has a start date earlier than its blocker's end date, SetGet highlights the conflict:
- The dependency connector line turns amber or red.
- A warning badge appears on the blocked item.
- The item detail view shows a scheduling conflict notice.
Resolving conflicts
| Approach | When to use |
|---|---|
| Move the blocked item's start date | The blocker's timeline is fixed and cannot change |
| Accelerate the blocker | The blocked item's start date is a hard constraint |
| Remove the dependency | The relationship is not a true hard blocker |
| Parallelize work | Parts of the blocked item can start before the blocker finishes |
| Add resources to the blocker | The blocker can be completed faster with additional help |
Cascading delays
When a blocking item's due date is extended, check all downstream items:
- Open the blocking item in the Gantt view.
- Follow the outgoing arrows to see all items that are directly or transitively blocked.
- Evaluate whether downstream dates need adjustment.
- Update dates as needed or flag the cascade in a status update.
Manage dependencies
View all dependencies for a work item
- Open the work item detail.
- Check the Relations section.
- All blocking, blocked-by, related, and duplicate relationships are listed with their current status.
Remove a dependency
- Open the work item detail.
- In the Relations section, find the dependency to remove.
- Click the remove icon next to the relationship.
- The dependency is deleted. The corresponding inverse relationship on the other item is also removed.
Bulk dependency review
Use the Gantt view filtered to a specific cycle or module to review all dependencies in a scope:
- Zoom out to see the full timeline.
- Look for red or amber connectors indicating conflicts.
- Address conflicts before the cycle starts.
Best practices
- Only create hard dependencies — if item B could technically start before item A finishes, use "Related" instead of "Blocking." Over-constraining the schedule with soft dependencies reduces flexibility.
- Keep chains short — long dependency chains amplify delay risk. If a chain is deeper than three or four items, look for opportunities to parallelize.
- Review dependencies in planning — during cycle planning, review the Gantt chart to ensure no blocked items are scheduled before their blockers finish.
- Update blockers first — in standups, prioritize status updates on blocking items since delays on those affect the most people.
- Use the Gantt chart — the Gantt view is the natural home for dependency management. Make it a regular part of your planning workflow.
- Resolve conflicts immediately — when the Gantt chart shows red or amber connectors, address the scheduling conflict before it becomes a real delay.
- Communicate proactively — if a blocking item is at risk, notify the owners of all downstream items immediately.
Related pages
- Work Item Relations — Full reference on relation types
- Cycles — Time-boxed sprint planning
- Modules — Feature-based work grouping
- Milestones — Key dates and deadlines
- Views — Save filtered perspectives
- Epics — Large initiatives spanning cycles