How to Visualize and Analyze Dependencies in Kanban
If you’ve ever found yourself struggling to manage dependencies, you’re in the right place my friend. We all know how they can impact timelines and costs! But, stick with me here because today, we’ll explore a simple yet powerful solution that will enable you to easily visualize and analyze dependencies in Kanban.
Here’s the root cause of the problem:
We treat all dependencies equally, without considering their urgency and importance.
We need to recognize these two aspects and adjust our approach accordingly. Only then can we allocate resources more effectively, prioritize tasks, and mitigate risks. This approach enables us to focus on critical dependencies, reducing the risk of delays and ensuring timely completion of the most important tasks.
So, how can we get there?
Introducing Dependency Management Classes
To tackle this challenge effectively, the Kanban Maturity Model introduces six dependency management classes based on cost of delay. Let’s take a closer look at each class and how they can help you optimize your workflows.
#1 Don’t Care
There are sometimes dependencies on minor updates that don’t have an immediate impact on your timeline. By allowing these dependencies to be discovered and addressed as they arise, your team can stay focused on delivering high-priority tasks without upfront investment. In other words, for non-urgent tasks with low cost of delay, just let dynamic discovery happen.
#2 Trusted Availability
When certain customer requests require a level of availability within a service level agreement, the Trusted Availability class comes into play. Here, customer expectations play a crucial role in meeting specific delivery performance criteria.
Having dependencies such as integrating an external analytics service for data insights, require reliable availability from the third party to ensure your product functions properly. By prioritizing these dependencies and meeting the SLA for availability, you can provide a seamless user experience and valuable analytics data to your customers.
#3 Tail-Risk Mitigation
In complex product environments with tight deadlines, the Tail-Risk Mitigation class ensures meticulous dependency management. The goal is to mitigate the risk of unexpected delays from dependencies and deliver within reasonable expectations.
When multiple teams are involved, dependencies can arise between different modules or components. To mitigate risks of delay, it’s important to proactively manage these dependencies. Regular communication, sync-ups, and monitoring of progress can help identify and address potential bottlenecks.
#4 Fixed Date
When a request has a fixed date class of service, upfront discovery, planning, and advanced management practices are necessary.
Fixed date dependencies occur when there are specific deadlines for product releases or milestones. To meet these deadlines, it’s crucial to identify and manage dependencies that could affect the release. By planning in advance, allocating resources, and addressing these dependencies early on, you can ensure on-time delivery of high-quality results.
#5 Guaranteed On-Time
Similar to the Fixed Date class, Guaranteed On-Time focuses on specific impact functions on a given day. This class is crucial for items with significant consequences, such as regulatory compliance deadlines.
Imagine, your team is working on developing a mobile application for a client. The client has a crucial upcoming industry conference where they plan to launch the application and showcase its features to potential customers. The conference has a fixed date that cannot be changed.
In this situation, the dependency on completing the mobile application before the conference becomes a Guaranteed On-Time dependency. Meeting the conference deadline is critical for the client’s marketing and business objectives.
The Expedite class represents dependencies that require immediate attention and prioritization. These dependencies take precedence over other work items and need to be managed accordingly for swift resolution.
There are situations where urgent bug fixes or critical updates need immediate attention to maintain product functionality. These dependencies require expedited action. By dedicating resources, adjusting priorities, and fast-tracking the resolution process, you can minimize user impact and deliver a seamless product experience.
Why is That Important
Remember, not all dependencies are equal, so don’t treat them equally. Let your teams tailor their approach based on the nature of the dependency.
By utilizing classes of service based on the cost of delay, your teams can prioritize dependencies in the most effective manner. This approach ensures that dependencies with a higher impact on your product’s economic aspects receive appropriate attention, while lower-priority dependencies can be managed dynamically without significant upfront investment.
For example, high-priority dependencies with a known and specific impact on a given day (Class Guaranteed On-Time) may require more focused attention and coordination to meet regulatory or compliance requirements. On the other hand, dependencies in the Don’t Care class may be managed dynamically without significant upfront planning, enabling teams to focus on more critical tasks.
How to Implement Dependency Management Classes
The most common approach to visualizing classes of dependency management is through custom fields and color-coding. This approach allows teams to easily identify and differentiate the different classes of dependencies directly on their Kanban board.
By creating a custom field specifically for capturing the class of dependency management, team members can select the appropriate class for each issue. The custom field can have predefined options representing the different classes, such as “Don’t Care,” “Trusted Availability,” “Tail-Risk Mitigation,” “Fixed Date,” “Guaranteed On-Time,” and “Expedite.”
To visually represent the classes of dependency management, teams can apply color-coding to the cards on the board. Each class can be associated with a distinct color, making it easy to identify and differentiate dependencies at a glance. This color-coding can be applied to the entire card or through specific indicators, such as labels or colored borders.
Now, let’s wrap up with an action plan to put this knowledge into practice. Remember, the real learning happens when you take action, so let’s dive in:
Once the cards are assigned with a class of dependency management, your teams can take action and make informed decisions based on the assigned classes. Here are some typical steps they can follow:
Prioritization: Evaluate the assigned classes of dependency management alongside other factors like business value, urgency, and effort. This helps in determining the order in which the dependent tasks should be addressed within the overall work queue.
Resource Allocation: Consider the classes of dependency management when allocating resources to different user stories. Your teams should prioritize resources for higher-class dependencies that have a significant impact on timelines, customer expectations, or compliance requirements.
Planning and Scheduling: Incorporate the classes of dependency management when planning and scheduling work. Prioritize and schedule tasks with fixed dates or guarantee on-time requirements to ensure timely delivery. Consider the classes of dependencies when estimating and forecasting timelines to account for potential delays or risks associated with specific classes.
Reporting and Monitoring: Track and monitor the progress of dependent tasks based on their assigned classes of dependency management. Use Nave’s analytics suite to provide insights into the distribution and status of different dependency classes. This helps in identifying trends, analyzing dependencies’ impact, and making data-driven decisions for ongoing work management and future planning.
And that’s all there is to it, my friend. I can’t wait to see you next Thursday, same time and place for more managerial goodness! Bye for now.
Meet the Author
Sonya Siderova is a passionate product manager and a driving force behind Nave, a Kanban analytics suite that helps teams improve their delivery speed through data-driven decision making. When she's not catering to her two little ones, you might find Sonya absorbed in a good heavyweight boxing match or behind a screen crafting a new blog post.