Managing dependencies
Strategic alignment and tactical solutions for organizational success
TL;DR (AI-powered): To manage dependencies effectively, align teams strategically, foster service-oriented practices with SLAs/SLEs, reserve capacity for dependencies, and articulate urgency to prioritize action. These tactics, when combined, reduce friction and improve delivery.
Let me start by stating first what is, in my perspective, the right attitude towards dependencies in general (which I wrote in a previous article):
We should avoid dependencies which can be avoided (e.g., with better architecture, with adjusting organizational structure to better align with strategy when possible).
We should work relentlessly to evolve with new insights, going back to 1.
We should grow the service-orientation of the organization so that all the remaining dependencies can be dealt with organically for the most part (think of service-levels, reliability in delivery patterns of cycle / lead time).
Actively manage dependencies when truly needed (when all the previous steps won’t do the trick).
I wanted to ground ourselves on that also to acknowledge that a lot of the problems organizations have with dependencies often come from not wanting to tackle those hard problems which are alluded to by the 4 steps above, especially 1 to 3.
Be that as it may, it is also rather unlikely that there would be such a thing as not having any dependency to deal with. And more so: having depedencies can be a signal of attempting to do the right thing, of focusing on high-leverage initiatives and goals, and thus forcing the synchronization of some pieces of work.
By the way, that’s already a way, coming more from the strategic level, of attempting to smooth things out when it comes to dealing with dependencies:
Are we all rowing towards the same direction and common goals, and with that some of the challenges of having to deal with dependencies will tend to organically be dealt with, or at least have an easy reflection mechanism to help teams make better choices.
But my personal experience is that even that strategic lens doesn’t quite fully cut it. That’s because even though at the highest level there might look like we are aligned, and we are focusing on the overarching same initiatives and goals, in the trenches it might still too often feel like an uphill battle.
In other words, even though strategically we might not have so much of a conflict of priorities, at a more tactical and execution levels, there will be an element of conflicting priorities getting in the way – typically more a question of synchronization (“will you be ready when I need it and not when you can?” kind of thing) than anything else.
So what are the additional things, coming more from a tactical level, therefore, we could put in place to help further deal with those dependencies challenges? Here’s my perspective.
Grow the service-orientation with SLAs (or at least SLEs)
The very first effective tactical option we have, which requires a level of maturity, so it will often look as an aspirational direction to many organizations at best, is to harden the service-orientation with clear Service Level Agreements (SLAs) or at least Expectations (SLEs). That is to say to acknowledge that once any dependency has been accepted (as aligned in terms of goals and strategic priorities as a pre-requisite), it’s possible to have a clear expectation of when it will be delivered (e.g., 90% of the time in 15 days, almost guaranteed within the month).
In other words, dealing with dependencies become rather natural, organic, and embedded to the system of delivery of the organization. As teams become aware they always have a twofold purpose: serve others for aligned bigger goals, and drive their own objectives (and the order matters).
Obviously no easy thing to accomplish, but probably an ideal worth pursuing on the long run.
Capacity reservation
If in your context, SLAs or SLEs might sound too of a far off from reality, it’s no reason for despair. We still got a couple of cards under our sleeves, so to speak. And the next worth pursuing is to simply work with the idea of capacity reservation. That’s when different teams can come to some kind of agreement to deal rather elegantly with dependencies by just acknowledging and reserving part of their committed capacity explicitly to deal with them.
Once that is put in place, the conversation can immediately pivot towards having a clear stack-ranked list of things that would work as the queue against which the reserved capacity can diligently do their work.
In other words, by creating a dedicated queue and workstream, not only you make dependencies more explicitly visible and acted against, but you also shift the conversation around to “prioritize to execute”, as opposed to what too often looks more like “prioritize to see if it fits”.
Raise the sense of urgency
If the two options above still sounded rather off and strange to your context, there’s still a last play we can try. That is to make sure we can clearly articulate what’s the impact (for the good and for the bad) if certain dependency is not dealt with in time (or shortly enough).
Then, it might actually even stand a chance even to be executed although fundamentally the modus operandi might still look more like “prioritize to see if fits”.
That’s to say, since it (hopefully) became so painfully clear why we should not miss the opportunity to act upon the given dependency, then there’s no real escaping from it. It’s a priority that needs dealing with, and now (or shortly).
The slightly better news is that those tactical options are not really mutually exclusive. In fact, they can reinforce each other quite easily:
By making sure to articulate the impact and thus raise the sense of urgency, you also have an effective way to go about eventually stack-ranking what to be put on the queue for the reserved capacity.
By having a clear queue and dedicated workstream with capacity against to deal with dependencies, it will tend to play in your favor so that over time you can start articulating SLEs and eventually SLAs.
This is essentially to say that we can do better than leave teams to fight over dependencies in a rather ad-hoc way (which seems too often be what practically end up happening).
By Rodrigo Sperb, feel free to connect, I'm happy to engage and interact. I’m passionate about leading to achieve better outcomes with better ways of working. How can I help you?

