How to Track Dependencies in Jira: A Complete Guide

· Simple Gantt Team

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.”

  1. Open a Jira issue
  2. Click Link in the issue actions
  3. Select the link type (e.g., “is blocked by”)
  4. Search for and select the related issue
  5. 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.

  • 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 →