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 many cases is a matter of personal preference. Neutral relations are not supported in Targetprocess.
Advanced Filters, Visual Encoding rules, custom calculation formulas and API expressions work with the data model directly. In the model, Inbound relations of an entity are indicated as MasterRelations, and Outbound relations of an entity are named as SlaveRelations. A Relation object indicates an entity on the outbound side (where the relation begins) as Master and a one on the inbound side (where the relation ends) as Slave.
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.
The feature replaces deprecated extension (mashup) named Custom Unit Show Relations. The feature is available in Targetprocess v3.12.5++. Administrators of On-Site Targetprocess installations need to perform update tasks manually to get the feature activated properly.
Relations between items in any state (open, in progress, closed) are displayed. If a card has an arrow pointing away from it, it's an outbound relation. If a card is being pointed at, it has an inbound relation to the other card.
To make Relations visible, press Actions > Relations > Show button:
When Relations are visible, you can select with checkboxes types of Relations you'd like to see. Or, Hide all the Relations completely.
The Relations Network Diagram report is one more way to visualize relations between items.
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 Relations tab in detailed popup view. An alternative option is to use drag-n-drop action to re-distribute cards across lanes or to use 'Add relation...' action from context menu.
More information: Manage Relations as Cards and Lanes on Views
Relations Network Diagram
The Relations Network Diagram helps to visualize the existing connections.
To access this chart, please navigate main (top) menu -> Reports -> Relations Network.
More information: Relations Network Diagram
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 ‘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 Board and List views for relations management. More information: Manage Relations as Cards and Lanes on Views
Since Targetprocess v3.13.8+ it's possible to create a relation between two entities directly in a Board view where these entities are selected as cards. Simply right-click on the needed card, choose "Add relation..", specify what card should the first one be related to and what type of relation is between them.
Afterward, this relation can be also edited/removed directly from the mentioned Board view. Right-click on a shown relation and decide whether you want to change its direction or delete it from the system.
You can set a relation between any entities in Targetprocess, no matter which 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 projects.