Dependencies indicate the relationship of one task to another in a logical sequence. They help to visualize the order in which you need to proceed with the issues and estimate the timeframe for them. Identifying and estimating dependencies can be challenging but so can be finding the tool that will help you scale your project with complex dependencies.
In this post, you will learn about Jira Links and how you can use them to create different relationships between issues in your project. We will then move on to discussing two powerful Jira extensions: BigGantt and BigPicture. We will show you how you can leverage them to easily build and track task dependencies—no matter the size of your project.
Today, you will learn about:
So first, let’s cover the main types of relationships you can come across when associating two issues (or tasks).
By linking two issues together you can indicate how one task relates to another, and thus—create the order of their execution. But that order can vary depending on the sheer relation between tasks. In general, there are four logical ways to link issues/tasks together to indicate the order and build a schedule. These are:
First of all, what are Jira Issue Links? Well, a link in Jira is simply just a link. It shows a relationship between two elements but nothing more. You can use Jira Issue Links to create an association between either two issues; between an issue and a Confluence page; or between an issue and another webpage (URL). One of the issue-to-issue associations could be showing dependencies between different issues.
In essence, setting a Jira Issue Link is like saying: “Hey, pay attention! This issue relates to another in a certain way.” Therefore, you would use an Issue Link of your choice to describe a given relationship. And to do that, you can pick from four default Issue Link types (available in Jira’s latest installations).
A few words of explanation:
Does Outward or Inward Description do anything in particular? Not really. They serve no function aside from informing the human user about the meaning of a given link. Think of it as a way of making a note on an issue explaining why it was linked to another issue and what is the logical connection between them. These four link types come by default but you can add other custom links if you wish (more on this later).
So by now, we know that Jira Issue Links are for associating two tasks (or other elements) together. But can you use them to create dependencies between them? Yes, in a way you can.
As you might have noticed, we have bolded two top Jira Issue Link types. The reason is that each of those four links, albeit created the same way, serves a different purpose. The two top ones (Blocked and Relates) are the links that you could use for creating relationships that in business would mean dependencies. Whereas the two bottom ones (Duplicate and Cloners) are more useful for technical associations.
“Blocked” and “Relates” Jira Issue Links
Let’s say you have two issues that belong to the same project: Issue A and Issue B. You want to link them to mark that Issue X should not start before Issue Y. In such a scenario, you would go for the “Blocked” Issue Link.
So in a business sense, it is a dependency. Precisely, it is the Finish-to-Start (FS) dependency. It could also work the other way round; you could link A to B to have the Start-to-Finish, Start-to-Start, or Finish-to-Finish task relationship. It all boils down to identifying which issue blocks which.
What about the “Relates” Issue Link?
Again, it is some sort of dependency and this link does not specify the precise relationship between the two tasks either. You could provide more details in both tasks to explain which one should start/finish first to let the other transition. This way, you could create different types of task dependencies (SS, FF, FS, SF).
But neither the “Blocked” nor “Relates” link says anything about the exact connection between those two issues. They only specify what blocks or relates to what—but not how.
Moreover, please keep in mind that Jira Issue Links have no functionality to restrict user actions based on them. For example, you could create a “Finish to Start” link type with the “Blocked” link but JIRA will not prevent one issue from starting until the other issue has finished.
So the bottom line is that you can link tasks in Jira to describe a specific order you want them to move on. But no matter which Issue Link you pick, for Jira it will make no difference and your choice will not affect your project schedule in any way.
You can consider both “technical” links.
Simply put, they indicate that a given issue is a duplicate or a clone of another. It is unlikely you will find them useful in creating dependencies. But they still might come in handy when you want to follow up on the same or similar issues within your or another project.
Before you start linking your dependencies in your Jira project, make sure you have the “Linked any issues” permission to do so.
Add a comment to describe the reason for linking and select Link.
You can search for the issues you want to link by its full issue key (e.g., FHC-4), or using a basic text search or advanced text search. You will need JQL (Jira Query Language) for the latter one.
Your Jira administrator can activate more link types, depending on the individual needs of your project.
4. Click the Add button.
You will see the Issue Linking page featuring the default and your new link types.
In the screenshot above, you can see the four default Jira issue link types along with a few custom ones.
Can Jira show Issue Links that indicate dependencies? Yes, but it does not visualize them so you will have to search for them manually—again, using JQL.
To get the list of issues linked to a specific issue, use the built-in JQL function linkedIssues(issueKey).
To get the list of issues linked to a specific issue with a specific link type, use the built-in JQL function linkedIssues(issueKey, linkType).
Remember the link types? Yes, the four default ones (Blocked, Duplicate, Cloners, Relates), as well as any other custom ones you might have added. To list all issues that have linked issues with a specific link type, use the hasLinkType(linkType) function. For example, “hasLinkType(Cloners).”
Please note that this is not an exhaustive list of all the possible functions you can use to perform search queries on Jira linked issues. Please refer to Jira’s JQL documentation and guides to learn more.
By now, you have probably realized that Jira is not the most optimal tool for dependencies management. Setting up Issue Links is a manual process and you cannot take full advantage of the logic types of task dependencies. You have no way of visualizing or conveniently tracking them either.
But what is great about Jira is that you can choose from a variety of extensions to supplement its functionalities. Jira add-ons allow you to retain all your project details and settings without the need for switching to a completely new environment and starting from scratch.
So if we are talking about creating full-fledged Jira dependencies, one of the best options you can get is BigPicture and BigGantt. Both tools allow you to visualize, track, and create dependencies in your project, whether you run a classic, agile, or hybrid project. They will also enable you to manage all your initiatives on the project, program, and portfolio levels.
Check the BigPicture video tutorial "How to use links".
When it comes to BigPicture, you can visualize dependencies on two modules: the Board module (Scrum and Kanban boards for agile projects) and the Gantt module (Gantt chart for classic projects). Whereas in BigGantt you can create dependencies on a Gantt chart.
Here’s a brief overview of what you can do with dependencies in BigPicture and BigGantt.
In BigPicture and BigGantt, there are five types of dependencies: the first four types of dependency links are Strong links, and the fifth one is Soft link.
A Strong link between two tasks means that a period change in one task will have a scheduling impact on another. A strong dependency is displayed as a solid arrow in BigGantt, and as a dotted arrow on the BigPicture’s Board module. When you make any changes to the schedule of one task, the app will automatically re-schedule the other one.
A Strong dependency on a BigPicture Board module.Strong links comprise all the four logic types, namely Finish to Start, Finish to Finish, Start to Finish, and Start to Start. Every task on the timeline has two significant sides – the left and the right. These sides signify the Start and End Dates and will determine whether a dependency will be Start to Finish, Finish to Finish, and so on.
Moreover, you will be able to add lead or lag time to your tasks and enable ASAP mode if needed.
Setting Lag Time and ASAP mode.
A Soft link is an arrow that connects two tasks whose purpose is to attract attention to certain relationships. A soft link is visualized by a dotted arrow in BigGantt and as a solid arrow on a Board module. Soft dependencies do not reschedule anything, but they are great for monitoring selected relationships in your project. While it permits cases like “constructing roof before walls,” it will visually alert you (turning from green to orange to red) that a given schedule is impossible to execute.
A Soft dependency on a BigPicture Board module. Do you practice the Scaled Agile Framework? If so, please note how the BigPicture Board’s dependencies correspond to SAFe’s Red Strings.
When you install BigPicture or BigGantt, the app will automatically add Strong dependency link names to your Issue Links list in Jira. It also works the other way round: whenever you create a new Issue Link in Jira, you will see it in BigPicture/BigGantt, too.
So what is left to do is to tell the app which Issue Link means which dependency.
By default, when you install BigPicture (or BigGantt), you will see in the App Configuration panel that the “Blocks” Jira Issue Link is mapped to the Soft link in the app. The Strong links, however (e.g., “End to start link”) are not specified. It means, that the app does not know which Issue Links from your Jira project should consider as Strong (i.e., which of your Jira links should impact your project schedule).
The App Configuration panel shows default Issue Links mapping in BigPicture (and BigGantt). Here, you customize how you want to map your Jira Issue Links to Soft and Strong dependencies.
Therefore, you will need to either:
NB: Please note that you can assign only one type of an Issue Link to one type of dependency. For example, all “Blocked” Jira links will become “End to Start” dependencies, therefore, no other Jira Issue link can be the “End to Start” Strong link.
You can create a dependency link in two ways.
The first method is a simple drag and drop. When you hover over the issue card, a grey dot will appear on the right side. Drag and then drop it on the task you want to link. Keep in mind the direction of the tip of an arrow, i.e., whether it goes from task A to B, or from task B to A.
The BigPicture Board module. A blue line is dragged from task QA-51 to QA-50. When you drop it, it will turn grey. To delete it or edit dependency details (type, lag, ASAP mode), click on it to prompt the edit window.
With the second method, you click on the grey dot to prompt the “Create dependency” window. Enter your details and click the “Save” button. This method is much more convenient when working with numerous cards, but you need to know the Issue Key of the task you want to link.
Here, you connect two tasks by specifying the target task to the one you have selected (you can use a drop-down menu to look for the target task or enter a full issue key).
Visualizing dependencies on Agile boards (Scrum board, Kanban Board) or Gantt charts help managers predict conflicting schedules, estimate times, and make apt adjustments. But if there are dozens or hundreds of interdependent tasks, then you need to have a way of tracking them.
In BigPicture and BigGantt you can look up your project dependencies on the Infobar, which you will find on the right hand-site. You can conveniently expand (open) and collapse it (hide) whenever you need it.
This view comes from the BigGantt app. The Infobar (on the right) will list all the dependencies present in your project which you can filter based on the type, related task, source, or whether it has Lag or ASAP attributes.
If you need a more comprehensive and high-level overview, then you will find what you need in the BigPicture Reports module. You can generate two reports with this module: the Dependencies report and the Cross-Team Dependencies report.
Both reports consist of matrices that show the names of projects or iterations that have at least one dependency. The matrix shows the number of dependencies between projects and their iterations from lower levels (PI Iterations, Sprints, etc.). Depending on the number of dependencies, the color will change from green through yellow to red. If there are no dependencies between projects or iterations, the report will mark it as “No data.”
The difference between these two reports is that the Dependency report does not include parent-child dependencies. The Cross-Team report, on the other hand, shows parent-child dependencies but does not present dependencies between tasks of the same team (you will find it in the Dependencies report).
If you are familiar with Jira’s Query Language, then you can use BigPicture’s enhanced JQL to look for specific dependency links in your project.
Anna-BigPicture
Project Manager
Appfire
Poland
104 accepted answers
0 comments