Software development is a complex affair. Dependencies between teams, roles and external vendors represent a potent risk of delay in delivering value. Despite our best efforts to crush them there will still be dependencies in the organization that need to be visible and managed in order to achieve enterprise agility.
Ask yourself: Are you crawling, walking or running in your dependency management today?
Don’t know what that means? We’ll explain it in this blog as well as dive deeper into the subject of dependency management, defining some of the strategies to overcome them as well as guiding you through how to use Jira Align in which we find purpose built features for this.
Needs around Dependency Management
First, let’s look at the different needs you might have when managing dependencies.
In our assignments we meet companies regularly that struggle with getting in control of both their internal and external dependencies. The most typical needs are that:
- You want to identify where dependencies appear in our organization so you can work on decreasing them.
- You want to know what is stopping your feature from being delivered.
- You want to take dependencies into account when planning, to ensure that the plan is feasible.
- You need to ask Team A to have deliverable X ready by a specific date.
- You need to keep on top of your deliverables that other teams are waiting for.
Dependency Management strategies:
crawling, walking or running
Crushing dependencies aims to give the team the capability to, as independently as possible, deliver value faster. There are numerous strategies to minimize the amount of dependencies in an organization; establish truly cross functional teams, introduce CI/CD practices, automating what can be automated, and improving the architectural runway are a few examples. However some dependencies cannot be removed and we have to accept them and manage them instead.
We’ve seen a few different ways to manage dependencies with tooling and can categorize them by maturity. The crawling way of managing dependencies relies heavily on the individuals to find and form routines and use tooling that is available to them but not necessarily to others. The walking method is where we start to find a unified way of working in a shared tool, whilst when running we use tooling that is tailor made for this particular process to fulfill the needs of different stakeholders involved.
Crawling: Dependency Management
Typically we see that users grab the tooling close at hand to try to get control of and organise the dependencies. Examples are:
- Sending emails reminding people that they have some things to do
- Establish a calendar with deadlines in it
- Storing lists of dependencies in any office file or Confluence page.
- Inviting stakeholders to weekly, monthly meetups to make agreements and follow up outcomes.
Basically we are relying on people nagging other people to get things done. The louder you scream the more attention you get. It may seem we’re on top of things but we spend way too much time to get there. The routines lack clarity and the lists may not be a shared asset in the company. We risk losing track of some dependencies, and also we cement a dreadful culture of checking up on each other.
Walking: Dependency Management with Jira
When walking we have understood that we need a common routine, close to the teams and the dependency lists need to be shared and available for all stakeholders.
One way of using tooling whilst walking is to use the issue linking capabilities in Jira to log a dependency between two issues in Jira. This is extremely flexible as any type of issue in Jira can be linked to any other issue in the whole instance. This means that a large initiative can be linked to a small subtask. Links work reciprocally as one linking action gets visualized on both issues. Jira is shipped with a standard set of link types like “blocks/are blocked by”, “duplicate/are duplicated by”, “parent/child of” etc but we can easily configure our own link types.
Having established links like that we can use this information to aggregate intel and visualize the number of dependencies, who is dependent on whom e t c through building up dashboards, filters which users can subscribe to (if email notifications are important at all?). A tip here is to use the advanced searching functions delivered by the Scriptrunner addon to get “linked issues of” searching capabilities.
Using Atlassian's Advanced roadmaps these links also can be visualized in a plan.
In addition to the above there are also no less than 68 addons on the Atlassian Marketplace that mention dependencies and strive to corner this particular visualisation use case.
Running: Next generation Dependency Management with Jira Align
When running our dependency management we have understood that adding metadata to a dependency is key for us to effectively handle them.
What exactly is needed by team A, when do we ask it to be completed and what does it affect if it isn’t?
In Jira Align we manage dependencies as work items. One team will send a dependency to another team inclusive of ask date (date, sprint or PI), description and other metadata. This work item can then be owned and accepted, suggestions of new due dates can be made, links to feature, capability or epic,, commented on etc.
Jira Align collate and visualize the dependency information in different ways:
- The dependency list - the to-do list for teams and leaders to ensure that we monitor the dependency requests we have sent and we have received.
- The Program Board visualizes dependencies together with features & objectives. Colour coded planning issues quickly identify what needs attention.
- The Team Room & The Program Room - view dependency status together with all the other key indicators.
- 5 additional Dependency views: Grid/Matrix view, Wheel Map, Analytics Map, Team, Program Status or Increment status - to analyze dependencies to manage and continuously improve.
Are you ready to start running?
You can move straight from crawling to running when it comes to Dependency Management and we are happy to support you along the way. Your next steps might be:
- Check out our webinar on where we demo Dependency Management capabilities in Jira Align.
- Contact us for a chat to get going with planning the next steps.
Jira Align is an enterprise agile planning tool placed as the leader of Gartners magic quadrant. It is packed with capabilities that enable you to decompose and connect your company vision to all the tasks in the organization that deliver value to your customers. Purpose built dependency management capability is just a part of a much larger set of features.
Published: Feb 7, 2022
Updated: Jun 1, 2022