Dependencies can be created between two features, a feature and a subfeature, or two subfeatures.
Identifying dependencies early helps you identify the true cost of building a feature, which may include laying the groundwork in addition to developing the feature itself. They also help avoid costly delays due to one product team blocking another’s progress.
We recommend surfacing potential cross-team dependencies early, during routine roadmap review and planning sessions spanning all product teams.
In this article:
- Creating dependencies
- Filtering for dependencies
- Visualizing dependencies on Legacy boards
- Visualizing dependencies on New boards
- Resolving dependency conflicts
- Current limitations
- See also
Creating dependencies
On Legacy boards
To create dependencies on features boards and Legacy roadmaps:
- Select a feature or subfeature to open its detail sidebar.
- Under Dependencies, select Add new [+].
- Specify the dependency relationship (Is blocking or Is blocked by) and select the relevant feature or subfeature.
On New boards
To create dependencies on grids, timelines, and columns boards:
- Select a feature or subfeature to open its detail sidebar.
- Under Dependencies, click + Add dependency.
- Choose an item type (initiative, feature, or subfeature).
- In the entity tree that appears, browse or search for the item you want, then select it.
- (Optional) Adjust the dependency relationship with the dropdown beside your newly-added item.
Filtering for dependencies
Dependencies are valid on most filters. You can filter for:
- Entities which are blocking other entities
- Entities which are blocked by other entities
- Entities with dependencies
- Entities without dependencies
Visualizing dependencies on Legacy boards
On a features board
- Click the
Add columns button.
- Select Default fields.
- Toggle on Dependencies.
You will now see a new column showing the total number of dependencies for each feature or subfeature, split between entities it is blocking and entities it is blocked by.
On a Legacy roadmap
Click the Configure menu in the top right corner of a roadmap. Under Dependencies visualization you'll find two options.
Enable dependencies adds a chainlink icon to any features with dependencies. Click this icon to reveal which features or subfeatures are blocking or blocked.
Display lines links features together visually so you can follow dependency threads. Arrows always point toward the feature being blocked, and they come in three colors:
- Grey lines are regular dependencies.
- Blue lines appear when you hover over features with dependencies to help you track their paths.
- Red lines indicate a dependency conflict.
Visualizing dependencies on New boards
On a grid
Here's how you can add dependencies as data columns on a grid:
- Click + Add columns.
- Click Dependencies.
- Click the Is blocking and/or Is blocked by toggles.
On a timeline or columns board
You can visualize dependencies on timelines and columns board like so:
- Click Configure in the top right corner.
- Under Card Attributes, select which item types you want to show dependencies on.
- Click on Dependencies.
- Click the Is blocking and/or Is blocked by toggles.
Resolving dependency conflicts
In Productboard, dependency conflicts are based on the timeframes of two dependent features.
For example, if feature A is blocking feature B, and the feature timeframe of feature B occurs before or simultaneously with feature A, there is a dependency conflict.
Dependency conflicts are always shown in red, whether it's the line on a Legacy roadmap, the text in a sidebar, or the chainlink icon in a column or feature card.
To resolve the dependency conflict, you'll need to adjust the timeframe of either feature until they are no longer overlapping or occurring in the wrong order. There are a couple ways to adjust a timeframe:
- On a timeline, click and drag in the middle of a feature to shift its timeframe, or on the edge to change its duration.
- On a column or detail sidebar, click the timeframe field and input new data to override the existing timeframe.
Current limitations
- It is not possible to push dependencies into Jira.
- Subfeatures cannot be dependent on their parent feature.