What is Dependency Management
Projects in all professional services industries often require a cooperation of individuals or services with specialist skills in order to complete the work and deliver it to a client. Dependency management is a technique, a set of actions to perform in order to properly plan, manage and conduct a project between different shared services, or specialists whose availability needs to be ensured for successful completion of the work.
How to manage dependencies in Kanban
Dependency Management studies, described in the latest Kanban Maturity Model book by David Anderson and Teodora Bozheva, explain several ways to manage dependencies with Kanban.
First, many practices within Kanban enable dependency management:
- Checkboxes on Kanban ticket design.
- Decorating tickets to show peer-to-peer dependency.
- Use of Date fields on tickets to show integration dependency dates.
- Capacity allocation for types of work or sources of demand.
- Rows on Kanban board.
- Sequential dependencies shown from left to right in the design of workflow Kanban boards.
- Split-merge board design to show integration dependencies.
- Classes of Dependency Management.
- Classes of service.
- Classes of Booking.
- Dynamic Reservation systems.
- Parent-child dependencies in the design of two-tiered Kanban boards.
- Parking lots used to hold items blocked due to dependent work external to the immediate board.
- Mapping shared services to an existing board using a column with a WIP limit or avatars for individuals.
- Triage Tables (based on the probable cost of delay in starting)
- Marking blocked tickets with different colors to indicate the type of dependency.
- Blocker clustering.
- Risk review.
- Operations review.
- Delivery planning meeting.
To explore more, check the left side of the Dependency Management poster.
Some of these practices are in common usage with Kanban and hence, some core ability to successfully manage dependencies is already built-in to the method. However, some specific practices for dependency management may be needed to avoid delays and deliver within expectations. The key to knowing whether explicit dependency management is needed, requires an understanding of the cost or impact of delay on the requested item – if a poorly managed dependency causes a delay, how badly will this hurt? When the cost of delay is low, it is better to simply let dependencies happen and manage them as they occur. There is no need for additional overhead and bureaucracy.
Use Triage Tables to understand the impact / the cost of delay of the work item. If the required class of service is anything other than Fixed Date, then it is likely that you can leave dependencies alone and let the natural flow of work through your kanban systems take care of it. We need explicit practices for managing dependencies only if an item requires a Fixed Date class of service. The specific additional practice is the use of a dynamic reservation system to book availability and ensure capacity on a shared service when it is needed.