I like to look at projects as if they are puzzles. All the pieces are established, but as a project manager, you must figure out the most appropriate and logical sequence to complete the bigger picture. An Iteration Plan is a helpful tool that can help to organize and visualize the sequence of work. In this blog post, I want to focus on the pieces that may not be in your control and how to manage these cases – Dependencies.
What is a Dependency
Dependencies can take shape as either internal or external factors. I consider external dependencies to be anything that can prevent another item from making progress but is outside of your control.
External dependency examples:
- Designs or content to be provided by a client or third-party agency.
- API connection details from a third-party service.
- Access to an environment by the customer.
Internal dependency examples:
- Sequence of development user stories – some features first require previous configurations to be made.
- Sequence of functional activities – QA testing and Content assembly of a feature cannot happen before that feature is developed.
Why External Dependency Management is Important
If no expectations are set for a dependency, the dependency can cause an impact to the larger project. I recommend making sure the following are clearly defined when deeming something to be a external dependency:
- Due date
- Owner of delivering that dependency
- Detailed description of what is expected to be provided
- What is blocked by the dependency
Choosing a Global Software Development Partner to Accelerate Your Digital Strategy
To be successful and outpace the competition, you need a software development partner that excels in exactly the type of digital projects you are now faced with accelerating, and in the most cost effective and optimized way possible.
It is important to communicate the impacts if a dependency is not resolved on time. If something is not provided on schedule, it could be considered a blocker and the management team will need to have a plan for how to mitigate – potentially additional time, resources, budget, or scope changes.
Tactical way to track your External Dependencies
Once I have communicated that something is an external dependency, I make sure to capture these details in a location where the assignee can reference it for visibility and follow-ups.
There are several ways in which a dependency can be tracked, depending on the size or duration of your project.
For smaller projects, an Excel sheet or Status Report could be appropriate options for tracking and keeping dependencies visible.
For larger and long-term projects, a backlog management tool could be considered for dependency management. Below are some strategies to consider using JIRA or Azure DevOps.
External Dependencies in JIRA
- JIRA provides the ability to create unique issue types and fields to associate with your project.
- JIRA Administrators are able to configure a new Issue Type, Fields, and Workflow for that type. The main custom field that may need to be introduced is a field for setting a “Due Date”.
- Once the new issue type is enabled for your project, this will allow you to add the Dependencies directly into your project backlog.
- JIRA Dashboards can be leveraged to better help visualize the Dependencies for reporting and stakeholder purposes.
External Dependencies in Azure DevOps
- Azure DevOps also provides the ability to create unique ticket types, however, most projects may already come with an “Issue” ticket type.
- Issue ticket types will come with the “Due Date” field enabled by default.
- Azure DevOps administrators may need to adjust settings in order to allow for Issue tickets to be managed from the backlog view.
- Like JIRA Dashboards, Azure DevOps Dashboards can be leveraged to visualize the Dependencies for ease of tracking and oversight. Consider enabling the Due Date field to be displayed from the dashboard for ease of viewing items in chronological order.
If you use a system such as JIRA or Azure DevOps, make sure the dependency assignees understand the process or workflow to follow, such as reassigning or tagging the ticket to the appropriate recipient upon dependency delivery.
By managing your dependencies in parallel with other project work, you will be able to maintain link references between the Dependencies and the tickets which may be blocked. This will enable the team to understand what dependencies exist and more easily see when a dependency has been delivered.
Without a reliable and visible way to manage dependencies, these items could cause severe impacts to a project.
You cannot always control or predict external dependencies, but by having a process to handle and track these cases, you can set proper expectations as to its impact, due date to resolve, and what should be provided to keep your Iteration Plan on schedule.