Guide · Project planning

Start-to-start, finish-to-finish and lag for Jira dependencies

In Jira, a dependency is an issue link such as “blocks”. It says that one issue waits for another, but not how: whether it can start at the same time, or needs a few days in between.

The four dependency types

TypeRuleExample
Finish → StartB starts after A finishesTesting after the build. The most common one, and what “blocks” usually means.
Start → StartB starts when A starts, or laterWriting the help pages while the feature is built.
Finish → FinishB finishes when A finishes, or laterCode review ends with the coding.
Start → FinishB finishes when A starts, or laterThe old system runs until the new one starts.

Lag adds working days to the rule: finish-to-start +2 leaves two days between the issues (for a review or a delivery), −1 lets the second start a day before the first ends.

  • A link has a type name and two directions (“blocks” / “is blocked by”), nothing more: no start-to-start, no lag.
  • Jira's Timeline treats links as finish-to-start and warns when dates break them; it does not move issues for you.
  • Admins can create extra link types (for example “starts with”), but Jira gives them no scheduling meaning: they are labels.

The usual workarounds are a comment such as “starts 2 days after SHOP-12”, an extra waiting task in between, or keeping the real plan in a spreadsheet. All three drift out of date as soon as a date changes.

Planning with types and lag in Jira

YTI Gantt for Jira (made by us, YTI Digital) keeps your Jira links as they are and stores the type and lag next to each one. Click an arrow on the chart to choose finish-to-start, start-to-start, finish-to-finish or start-to-finish and the lag in working days. When an issue moves, the issues that depend on it are pushed to respect those rules, the critical path follows them, and Plan health lists every dependency the dates break, with a button to fix it.

  • The Jira link stays a normal link, visible in the issue and in every other tool.
  • Lag counts working days of your calendar, so weekends and holidays are skipped.
  • A dependency on an epic applies to every issue under it.

Read more in Dependencies and auto-scheduling, or see how to find the critical path in Jira.