There are no formal dependencies in agile software development. However, in practice pieces of work are often tied to one another. In Targetprocess you can track such dependencies via Relations.
For example, if the core team is building an API, some or all of the other teams' work may be dependent on the core team's progress. Or, if the infrastructure team is performing technical maintenance, the production team's work is on hold until the maintenance is done. Or, if you have customers who reported a defect and are awaiting a notification that the fix is released. Keeping track of these informal dependencies in your head can be tiresome. Here is when relations are extremely useful.
Entities in Targetprocess can be related to each other within predefined data model links and via Relations. Principles of how these two types of dependencies work are different.
Directions of Relations
Relations have directions. For a work item they can be Inbound or Outbound.
Relations always appear in the Relations tab for both of the related entities, either as Inbound or Outbound. When there is a relation from a Request to a User Story then:
- The User Story with the relation to it is displayed as an Outbound item for the Request;
- The Request with the relation to it is displayed as an Inbound item for the User Story.
Sometimes Relations do not have an obvious inbound/outbound direction, which you choose in many cases is a matter of personal preference. Neutral relations are not supported in Targetprocess.
Types of Relations
The relations can be identified as Dependency, Relation, Link, Duplicate, or Blocker at your discretion.
Find more details in the dedicated article: Types of Relations
How to View Relations
Relations in Detailed Views
You can see existing relations for any entity (user story, bug, feature, task, etc.) via the Relations tab in its detailed view:
Relations on Views
Relations between entities can be displayed as arrows on Board, Roadmap, List views.
To make Relations visible or hidden, press Actions > Relations > Show/Hide button:
More info: Show and manage Relations as arrows on views.
Relations Count on Cards
Customize Cards to add counters of Open Relations to cards on your views.
More on this feature: Relations on cards
Manage Relations as Cards and Lanes on Views
To view and manage Relations of multiple items on the same screen it is possible to create and customize dedicated Board and List views.
New relations can be easily added right from the view via Quick Add buttons. To manage existing relations double-click on a card and navigate to the Relations tab in a detailed popup view. An alternative option is to use drag-n-drop action to re-distribute cards across lanes or to use the 'Add relation...' action from the context menu.
More information: Manage Relations as Cards and Lanes on Views
Add, Edit, Delete Relations
To manage the relations of an entity, open its detailed view and switch to the Relations tab.
You can create a relation for any entity (user story, bug, feature, task, etc.) there.
To create a Relation with an existing entity or multiple entities please click on the ‘magnifying glass’ (search) button.
To add a new entity and create a relation with it in one step, you can use the ‘quick add’ button.
You can easily remove a relation if created by mistake. A click on the Unlink button breaks any relation between entities.
Also, the type of relation can be easily changed.
It is also possible to create dedicated views for relations management. More information:
You can set a relation between any entities in Targetprocess, no matter which Portfolio (Project) or Team they are assigned to.
To add a new relation or change/remove one, a user must be able to modify both related entities. More on this requirement: Permissions for Access to Work Items.
When you have top-level managers who should have permission to create relations between any work items in your system consider providing them with Contributor access instead of including them to members lists of all the portfolios (projects).
Usage in data model
Advanced Filters, Visual Encoding rules, custom calculation formulas in Metrics and Reports, and API expressions work with the data model directly. Starting from Targetprocess v2103, Inbound and Outbound relations of an entity are indicated as
OutboundRelations properties in the data model.
SlaveRelations properties are deprecated from data model meta.
In Service Desk portal, it is possible to see a list of work items attached to public Requests within outbound Relations.
Metrics: Calculate Effort via Relations
When special Metrics for Effort calculation are configured and activated, relations may affect the Effort calculations.