Answering the question: How do you manage dependencies?
Every large-scale delivery conversation eventually drifts into the same dead-end: “How do you manage dependencies?” The assumption is baked in, that dependencies are inevitable, so the best you can do is build a Gantt chart, track them, and hope for the best.
That assumption is wrong. Dependencies are not a law of nature. They are, as a rule, a symptom of poor system design. The ethos you should adopt is simple: don’t manage dependencies, remove them. Dependencies are systemic problems, not individual failings. Blaming teams or people misses the point; the system itself is what generates dependency waste.
When you manage dependencies, you’re committing to ongoing overhead: coordination meetings, dependency boards, artificial milestones, and cross-team politics. When you remove them, you restore autonomy, accelerate flow, and reduce risk. The cost of managing dependencies grows exponentially with every new team and integration point. The benefit of removing these compounds.
This post reframes the question. Instead of asking how to manage dependencies, let’s explore how to design systems of work that eliminate them.
Step 1: Align Work, Teams, and Architecture
Dependencies don’t just appear by accident; they are often created when work, team structures, and architecture are misaligned. Without clear alignment, every piece of work risks bouncing between silos, waiting on specialists, and suffering from endless handoffs. That is the problem: dependencies are the tax you pay for poor organisational design. Getting alignment between the work coming in, the teams who own it, and the architecture they work within is the single most effective lever to reduce this tax. Start by examining the flow of work into the system and then design accordingly. Misalignment creates dependencies, which in turn generate delay and rework. Alignment is not optional; it is the prerequisite for autonomy and predictable flow. Leadership must own this alignment, teams cannot fix systemic misalignment by themselves.
What you’d observe:
- Teams blocked waiting for another group to deliver a component.
- Integration schedules instead of continuous delivery.
- Architects handing down plans disconnected from the team topology.
Impact:
- Delays compound as work zig-zags across silos.
- Teams cannot deliver end-to-end value.
Design your organisation so that work, teams, and architecture line up
When teams can deliver value without waiting for others, most “dependencies” vanish. Dependencies are often just silos masquerading as inevitabilities.
- Structure teams to own a vertical slice of customer value, not a horizontal layer of technology.
- Use Conway’s Law as guidance: your architecture will mirror your communication structure. Intentionally shape both.
- Collapse handoffs. Give each team persistent ownership of the product or service they deliver.
Step 2: Make Contracts Explicit
Many teams have other teams that depend on them, yet the terms of those dependencies are often left implicit. Each capability should provide a clear published contract that others can rely on. When changes are required, subscribers must be engaged to avoid breakage. In practice, this can mean maintaining multiple versions of contracts or APIs so that legacy consumers continue to work.
What you’d observe:
- Teams are guessing at how another service behaves.
- Breaking changes are introduced without warning.
- Communication channels are full of “who owns this API?” questions.
Impact:
- Surprise defects at integration time.
- Long cycles of rework.
Document contracts between capabilities
Explicit contracts turn invisible risks into manageable, testable agreements. Teams understand who relies on them and what will break if they make changes. This makes coordination predictable and largely automated.
How:
- Define service contracts for every API, integration, or shared capability.
- Use patterns like consumer-driven contracts and the tolerant reader to protect against breakage.
- Maintain a catalogue of who depends on what, visible and owned.
Step 3: Clarify Ownership
It should be clear which team owns each feature, component, or integration point, and exactly how to reach them. Ownership is more than a name on a slide; it means team-level accountability for decision‑making, maintenance, and evolution. Teams across the organisation should know which team to approach for changes, who approves modifications, and how issues will be triaged. Without this clarity, features drift, defects bounce between groups, and hidden dependencies multiply. Stable ownership over time is crucial; frequent changes in ownership create systemic churn.
What you’d observe:
- Multiple teams touching the same codebase.
- Bugs bouncing between groups.
- Nobody is sure who can approve a change.
Impact:
- Confusion, delay, and political friction.
- Hidden dependencies on individuals or “shadow owners.”
Resolve by establishing clear ownership lines
Ambiguity is the breeding ground for dependencies. Clarity lets others adapt or negotiate when overlap is unavoidable.
How:
- Map every application, service, and integration to a single accountable team.
- Make ownership visible in tooling (Wiki, Whiteboard, Azure DevOps, GitHub, etc.).
- Establish communication paths to clarify who to engage with when non-contract dependencies arise.
Step 4: Actively Manage the Rare Remainders
After all of that, there are still going to be some dependencies that are inescapable. These need to be actively managed by the feature team that is the subscriber and raised to leadership as signals of systemic weakness that require intervention and redesign.
What you’d observe:
- A handful of dependencies remain despite alignment, contracts, and ownership.
- Work items in one team are directly blocked by delivery from another.
Impact:
- Delivery risk where elimination wasn’t possible.
- Leadership attention consumed by coordination rather than improvement.
Manage only these
Dependencies you can’t remove should be visible, owned, and tracked. But the point is to treat them as defects in your organisational design, not facts of life. They are alarms that something still needs to change. They represent system design debt, not normal work.
How:
- Track explicit dependencies between backlog items.
- Use shared reviews or joint planning where strictly necessary.
- Escalate them so leadership sees them as design flaws to resolve, not work items to shuffle.
- Treat them as exceptions to be removed long-term, not normal operating procedure.
Systemic View
Dependencies exist because of how you design systems of work. A flawed system will always overpower the best intentions of the people inside it. The behaviours you see are simply the consequences of the structures you created.
- Siloed teams generate handoffs and queues that slow everything down.
- Ambiguous ownership breeds uncertainty and political friction.
- Implicit contracts guarantee surprises and rework.
These are not accidents; they are deliberate design choices, even if unacknowledged. Left unchecked, they act as amplifiers of waste, magnifying delay, variability, and risk across the organisation. Dependencies are one of the clearest forms of systemic waste and delay, and every appearance of them is a call to redesign.
The answer is not to manage harder but to redesign. You remove the cause rather than chase the symptom. That is the work of stewardship: shaping structures, policies, and boundaries so that flow becomes natural and dependencies are engineered out of existence.
Organisations that aggressively eliminate dependencies consistently show:
- Faster cycle times.
- Fewer integration defects.
- Higher team morale due to autonomy.
Frameworks like Nexus put dependency management front and centre, but the real lesson is that dependencies are signals of poor alignment. The Kanban Guide emphasises WIP limits and flow efficiency; dependencies are often the hidden WIP that destroys predictability. Evidence-Based Management encourages us to inspect value delivery capability; dependencies are one of the clearest capability killers.
Closing the Loop
When someone asks, “How do you manage dependencies?”, the radical answer is: you don’t. You redesign your teams, architecture, and workflow to eliminate dependencies from the outset. You only manage what’s left when all else fails, and you treat every remaining dependency as a design flaw to be removed. That’s how you maximise autonomy, accelerate flow, and reduce risk.
Stop normalising dependency management as a project management activity. Managing dependencies is treating the symptom. Leadership must instead redesign the system to eliminate the cause. Every dependency you remove is a gift to your teams and your customers. So next time someone asks you how you manage dependencies, give them the only honest answer: we don’t; we remove them.
Smart Classifications
Each classification [Concepts, Categories, & Tags] was assigned using AI-powered semantic analysis and scored across relevance, depth, and alignment. Final decisions? Still human. Always traceable. Hover to see how it applies.
What to read next
Telling People What to Do Is Not Leadership. It’s a Failure of System Design
Explores why real leadership means designing systems that enable team autonomy, flow, and accountability, rather than relying on …
Why Handoffs Are Killing Your Agility
Excessive handoffs in software development create delays, reduce quality, and harm team morale. Learn how eliminating handoffs boosts …
Stop Hiding Behind Complexity and Start Delivering Continuously
Continuous delivery is achievable for any software, regardless of complexity. Success depends on investment in automation, quality, and …
Rethinking Capacity Planning
Explores how effective capacity planning shifts focus from individual hours to system-level flow, using Lean and Agile principles to improve …
Estimating Better in an Overloaded System Is a Poor Man’s Strategy
High work in progress (WIP) causes delays and unpredictability; improving estimates won’t help. Limiting WIP and focusing on flow is key to …
Empowering Teams to Tailor Their Processes: A Path to True Agility
Explains why empowering teams to adapt their processes boosts agility, reduces waste, and fosters innovation, using real-world examples and …
Detecting agile theatre with real delivery signals
Why Most Companies Operating Models Fail in Dynamic Markets
A concise comparison of Predictive and Adaptive Operating Models, explaining why traditional structures fail in dynamic markets and how …
The Estimation Trap: How Tracking Accuracy Undermines Trust, Flow, and Value in Software Delivery
Tracking estimation accuracy in software delivery leads to mistrust, fear, and distorted behaviours. Focus on customer value, flow, and …
Flow of Value vs Flow of Work – Misnomer or Useful Shorthand?
Compares “flow of value” and “flow of work” in Kanban, explaining why only validated outcomes count as value and stressing the need for …
Why Outsourcing DevOps Fails, and How Real Engineering Excellence Starts With Your Team
Avoid DevOps vendor lock-in, discover how true engineering excellence starts with partnership, not outsourcing. Ready to transform your …
Estimating Better in an Overloaded System Is a Poor Man’s Strategy
High work in progress (WIP) causes delays and unpredictability; improving estimates won’t help. Limiting WIP and focusing on flow is key to …
Why Most Companies Operating Models Fail in Dynamic Markets
A concise comparison of Predictive and Adaptive Operating Models, explaining why traditional structures fail in dynamic markets and how …
The Estimation Trap: How Tracking Accuracy Undermines Trust, Flow, and Value in Software Delivery
Tracking estimation accuracy in software delivery leads to mistrust, fear, and distorted behaviours. Focus on customer value, flow, and …
Kendall Guide - A System of Work for AI Adoption
Flow of Value vs Flow of Work – Misnomer or Useful Shorthand?
Compares “flow of value” and “flow of work” in Kanban, explaining why only validated outcomes count as value and stressing the need for …
Estimating Better in an Overloaded System Is a Poor Man’s Strategy
High work in progress (WIP) causes delays and unpredictability; improving estimates won’t help. Limiting WIP and focusing on flow is key to …
Are We Still Pretending Coding Was the Bottleneck?
AI exposes that coding was never the main bottleneck in software delivery; real constraints are in system flow, team practices, and …
Why Outsourcing DevOps Fails, and How Real Engineering Excellence Starts With Your Team
Avoid DevOps vendor lock-in, discover how true engineering excellence starts with partnership, not outsourcing. Ready to transform your …
Why Big Bang Rewrites Fail: How Sustainable Change and Engineering Excellence Transform Legacy Systems
Ditch the Big Bang rewrite. Discover why sustainable, in-place change drives true engineering excellence and lasting transformation in your …
Is Agile Really Just a Mindset?
Explores Agile as a disciplined system of delivery, emphasizing engineering excellence, CI/CD, observability, and system design over mindset …
Telling People What to Do Is Not Leadership. It’s a Failure of System Design
Explores why real leadership means designing systems that enable team autonomy, flow, and accountability, rather than relying on …
From Legacy Pain to Modern DevOps: My Proven Roadmap for Real Engineering Transformation
Transform legacy engineering with a proven, step-by-step approach, learn how to automate, adapt, and build a resilient, modern DevOps …
Futureproof Leadership: How CTOs Can Cut Through the Noise and Lead with Clarity, Confidence, and Culture
Struggling with tech change? Discover how clarity, evidence, and culture can futureproof your team, no chasing trends, just smart …
Detecting agile theatre with real delivery signals
The Estimation Trap: How Tracking Accuracy Undermines Trust, Flow, and Value in Software Delivery
Tracking estimation accuracy in software delivery leads to mistrust, fear, and distorted behaviours. Focus on customer value, flow, and …
Flow of Value vs Flow of Work – Misnomer or Useful Shorthand?
Compares “flow of value” and “flow of work” in Kanban, explaining why only validated outcomes count as value and stressing the need for …
Why Outsourcing DevOps Fails, and How Real Engineering Excellence Starts With Your Team
Avoid DevOps vendor lock-in, discover how true engineering excellence starts with partnership, not outsourcing. Ready to transform your …
Estimating Better in an Overloaded System Is a Poor Man’s Strategy
High work in progress (WIP) causes delays and unpredictability; improving estimates won’t help. Limiting WIP and focusing on flow is key to …
Why Big Bang Rewrites Fail: How Sustainable Change and Engineering Excellence Transform Legacy Systems
Ditch the Big Bang rewrite. Discover why sustainable, in-place change drives true engineering excellence and lasting transformation in your …