How to Track Dependencies in Jira: A Complete Guide
Dependencies are the silent killers of project schedules. One delayed task can cascade through a project, pushing deadlines weeks or months. Yet most teams track dependencies poorly or not at all, relying on tribal knowledge and status meetings to stay coordinated.
Jira has basic dependency support built in, but it was not designed with schedule-driven dependency management in mind. This guide covers everything from Jira’s native capabilities to advanced dependency tracking with Gantt charts.
Why Dependency Tracking Matters
A dependency exists whenever one piece of work cannot proceed without another. In software projects, dependencies are everywhere:
- The API must be built before the frontend can integrate with it
- Database migrations must run before the new service deploys
- Security review must complete before the feature goes to production
- Design must be approved before development starts
- Testing cannot finish until the last bug fix is merged
When dependencies are not tracked explicitly, teams discover them the hard way — when someone is blocked and the project is already behind schedule. Effective dependency tracking gives you:
- Early warning when upstream delays will impact downstream work
- Realistic schedules that account for task ordering constraints
- Resource allocation clarity about who needs to finish what, and when
- Stakeholder confidence that the plan reflects actual work relationships
Jira’s Built-In Dependency Support
Jira does support dependencies through issue links. You can link any two issues with relationship types like “blocks / is blocked by” or “is dependency of / depends on.”
How to Create Issue Links in Jira
- Open a Jira issue
- Click Link in the issue actions
- Select the link type (e.g., “is blocked by”)
- Search for and select the related issue
- Save
You can also link issues from the board view or through bulk operations. Jira’s Timeline view will render Finish-to-Start dependencies as arrows between linked issues.
What Jira Issue Links Get Right
- Simple and accessible — every Jira user already knows how to create links
- Flexible relationship types — you can define custom link types beyond dependencies
- Visible on the issue — linked issues appear in the issue detail view
- Timeline rendering — basic FS dependencies show as connecting lines in Jira Timeline
Limitations of Native Jira for Dependencies
While issue links work for simple cases, they fall short for serious dependency management:
Only One Dependency Type Visualized
Jira Timeline only renders Finish-to-Start dependencies visually. Even if you create other link types, the timeline does not display them as scheduling constraints. In practice, this means Jira treats all visual dependencies as sequential, ignoring parallel or concurrent relationships.
No Schedule Impact Analysis
When you move a task in Jira, nothing happens to its dependents. There is no propagation, no warning, no impact analysis. If Task A slips by two weeks and Task B depends on it, Jira will not tell you that Task B’s dates are now unrealistic. You have to figure that out yourself.
No Critical Path
Without critical path analysis, you cannot tell which dependencies actually matter for your deadline. Some dependency chains have slack — they can slip without affecting the end date. Others are on the critical path and any delay is a direct hit to the deadline. Jira does not distinguish between these.
No Dependency Validation
Jira does not check for circular dependencies, conflicting dates, or impossible scheduling scenarios. You can create a dependency chain where Task A depends on Task B depends on Task C depends on Task A, and Jira will not flag it.
Limited Visibility
Issue links are visible on individual issues, but there is no way to see all dependencies across a project in a single view. You have to open each issue to understand its relationships, which does not scale.
Using a Gantt Chart for Visual Dependency Management
A Gantt chart transforms dependency tracking from a hidden, per-issue concern into a visual, project-wide system. Instead of opening individual issues to check links, you see every dependency as a line on the chart, and the tool does the schedule math for you.
What a Gantt Chart Adds
- Visual dependency lines connecting tasks across the timeline
- Automatic date propagation when upstream tasks move
- Critical path highlighting showing which chains drive the deadline
- Slack calculation showing how much each task can slip
- Validation that catches circular dependencies and scheduling conflicts
- Multi-project dependency tracking across Jira project boundaries
The 4 Dependency Types Explained
Professional project management recognizes four dependency relationships. Understanding all four lets you model your project’s real work relationships accurately.
Finish-to-Start (FS)
Task B cannot start until Task A finishes.
This is the most common and intuitive type. Examples:
- Testing cannot start until development finishes
- Deployment cannot start until testing passes
- Training cannot start until the documentation is complete
FS dependencies create sequential chains. They are the building blocks of most project schedules.
Start-to-Start (SS)
Task B cannot start until Task A starts.
Use this when two tasks must begin at the same time or when Task B can start once Task A is underway (often with a lag). Examples:
- Frontend and backend development both start when the design is handed off
- Writing documentation starts when development starts (the writer shadows the developer)
- QA environment setup starts when the first sprint of development starts
SS dependencies let you model parallel work that has a shared trigger.
Finish-to-Finish (FF)
Task B cannot finish until Task A finishes.
This is common in quality assurance and review workflows. Examples:
- Testing cannot finish until the last bug fix is merged
- Documentation review cannot finish until the feature code is finalized
- Integration testing cannot finish until all component testing finishes
FF dependencies ensure that related work concludes together, even if the tasks themselves overlap in execution.
Start-to-Finish (SF)
Task B cannot finish until Task A starts.
This is the rarest type, most useful for just-in-time or relief scenarios. Examples:
- The old system cannot be decommissioned (finish) until the new system goes live (start)
- The temporary workaround stays active until the permanent fix is deployed
- Night shift coverage cannot end until day shift begins
SF dependencies are uncommon in software projects but critical in operations and transition planning.
Critical Path and Slack
Once you have modeled your dependencies, the two most powerful concepts are critical path and slack.
Critical Path
The critical path is the longest sequence of dependent tasks from project start to project end. Every task on this path has zero slack — any delay to any critical-path task directly delays the project.
Knowing the critical path lets you:
- Focus resources on the tasks that matter most for the deadline
- Make trade-off decisions about where to add capacity or cut scope
- Communicate risk to stakeholders with specificity rather than gut feeling
Slack (Float)
Slack is the amount of time a task can be delayed without affecting the project end date. Tasks with slack are not on the critical path. A task with five days of slack can slip by up to five days before it becomes a problem.
Understanding slack helps you:
- Avoid false urgency on tasks that have room to breathe
- Prioritize unblocking work that has zero slack over work that has buffer
- Plan resource allocation by identifying which work has flexibility
Best Practices for Dependency Management
Keep Dependencies Minimal and Intentional
Every dependency is a scheduling constraint. More dependencies means a more rigid and fragile plan. Only add a dependency when there is a genuine work relationship — not just because tasks happen to be related thematically.
Review Dependencies Regularly
Dependencies go stale. A relationship that made sense at planning time might not make sense two months later. Review your dependency chain periodically and remove links that no longer reflect reality.
Use Lag and Lead Times
Sometimes Task B can start before Task A fully finishes — maybe three days before, once the initial output is ready. Lead and lag times on dependencies let you model these nuances without removing the dependency entirely.
Track Dependency Changes
When a dependency is added, removed, or modified, that decision should be traceable. Tools with change history and audit trails make it possible to understand how the plan evolved and why.
Validate Your Dependency Chain
Before committing to a schedule, validate your dependency network. Look for:
- Circular dependencies that create impossible scheduling loops
- Missing dependencies where tasks have implicit but unlinked relationships
- Over-constrained tasks with too many predecessors that create bottlenecks
- Date conflicts where dependency logic contradicts manually set dates
Managing Dependencies with Simple Gantt
Simple Gantt brings full dependency management to Jira Cloud. It supports all four dependency types, visualizes them on the Gantt chart, calculates the critical path, and validates your dependency network with 15+ automated rules.
Because it is built on Atlassian Forge, it reads directly from your Jira issues — no data export, no sync delays. Dependencies you create in Simple Gantt are reflected in real time, and the project health dashboard flags dependency issues before they become schedule problems.
If you are managing a project with real dependencies in Jira, a visual dependency management tool is not a luxury. It is how you keep the schedule honest.
Ready to Try It?
Simple Gantt is a Gantt chart for Jira Cloud. Get started free.
Install from Atlassian Marketplace →