Don’t Manage Dependencies – Eliminate Them!


The Agile Compass

Matthias Orgler

Don’t Manage Dependencies – Eliminate Them!

When it comes to dependencies, most teams and managers immediately ask, “How do we manage these dependencies?” But are we asking the right question?


Hello Reader,

last week was about the Wright brothers and how aiming impossibly high can actually be a great leadership technique. Today I want to talk about a topic most of us are faced with daily: Dependencies.

Thank you for reading the free edition of The Agile Compass! Ever thought to upgrade? Premium subscribers improve their knowledge and skills faster by getting direct answers from me in our Discord community, connecting with fellow agile minds, and getting access to the full archive of articles.


Don’t Manage Dependencies – Eliminate Them!

When it comes to dependencies, most teams and managers immediately ask, “How do we manage these dependencies?” But are we asking the right question?

What’s a Dependency?

A dependency occurs when one person or team relies on another part of the company to complete their work. This could mean waiting for a component from another team, needing support, or relying on another’s expertise.

Dependencies aren’t inherently good or bad. Relying on others can be positive! It’s about teamwork. But when dependencies pile up, they can slow us down and complicate things. So, we need to handle them efficiently.

Types of Dependencies

We can distinguish between two kinds:

  • Structural dependencies
  • Instances of dependencies

A structural dependency, for example, might be a frontend team relying on a backend team. An instance of this could be the frontend waiting for an API endpoint from the backend for a specific feature like a shopping cart.

Each structural dependency has countless instances, which we often see in our daily work. The structural dependencies are the root cause of these instances.

Now, let’s tackle how to handle these dependencies!

Eliminate, Don’t Manage

Many clients ask, “How can we manage our dependencies?” But that’s the wrong question!

Managing should be the last resort. First, we must eliminate dependencies whenever possible.

As a coach, scrum master, or leader, observe how your organization tackles dependencies. Often, I see dependency boards popping up (like in SAFe PI Planning). Visualizing dependencies is great, but we can’t stop there.

Just because we’ve listed a dependency doesn’t mean we’re done. The first question should be: “How can we eliminate these dependencies?”

How to Handle Dependencies

Let’s find a better approach.

Most dependencies I encounter are homemade. The organization created these structural dependencies, and thus, the organization can remove them!

Some dependencies might be necessary, and removing one may create another. In such cases, it’s crucial to choose the right ones to maintain the best balance.

Of course, some dependencies are inherent to the domain due to complexity. These cannot be eliminated.

While all dependencies manifest in specific tasks, let’s focus on structural ones.

The Dependency Algorithm

Here’s a general algorithm to handle structural dependencies:

  1. Eliminate: Try hard to eliminate the dependency.
  2. Mitigate: Consider the impact of dependency A vs. B. Sometimes removing A may create B, but it might be worth it if B has less negative impact.
  3. Manage: What remains must be managed.

1. Eliminate

Organizations often create dependencies through their structure and processes. For instance, having separate development and test teams creates a structural dependency. Since value flows through both teams, they must rely on each other.

Many dependencies can be eliminated by reorganizing around value streams!

For example, forming a cross-functional team with developers and testers allows for direct collaboration. They attend the same Sprint planning, communicate daily, and work on features together.

Reorganization isn’t always straightforward, but don’t give up! You don’t always have to change the org chart. People can work across boundaries if encouraged and allowed.

In my experience, at least half of structural dependencies can be eliminated! Just don’t skip this crucial step.

2. Mitigate

If eliminating isn’t possible, mitigate the impact.

A T-shaped skill set can help. When team members extend beyond one area of expertise, they can prevent dependencies from becoming blockers.

For instance, if a team developing a new song UI in a music app needs to integrate with the search functionality but the search team is busy, a developer might handle basic integration themselves. This avoids being blocked and allows the search team to help later.

Also, consider communication patterns. If teams are organized around specific features (like “song UI” and “search”), you might not eliminate all dependencies, but you reduce them. Instead of daily discussions between frontend and backend, it might be occasional among backend developers in a community of practice.

In short:

  • Daily communication? Keep them in the same team.
  • Weekly communication? Use a larger construct like a CoP.
  • Occasional communication? Keep them further apart.

Organize around value streams to eliminate or mitigate dependencies.

3. Manage

By now, we should have tackled most dependencies. Now, it’s time to manage the remaining ones.

Here’s a crucial tip: don’t appoint a dependency manager. Instead, make it easy for teams to manage dependencies peer-to-peer. This agile approach has proven effective over the years.

Encourage teams to talk directly whenever they depend on each other. Don’t let them just report dependencies and wait.

Improve transparency. The more your team knows about others’ work, the easier it is to spot dependencies and address them. Understanding other teams’ goals helps align with the overall objective.

There are many agile techniques for this, but that’s for another article.

Conclusion

Before you jump into managing dependencies, try hard to eliminate them! Organize around value streams and communication patterns, cultivate T-shaped skill sets, and encourage direct collaboration.

There’s so much more to discuss about decoupling and eliminating dependencies. If you’re interested, check out my ACE program. And if you’re not quite ready for that, I’m developing a course specifically on handling dependencies in agile contexts. Interested? Reply or drop a comment, and I’ll keep you updated!

Thank you for reading The Agile Compass. I'm Matthias, here to help you help those around you become agile.


To learn and grow even faster, upgrade to a paid subscription. You’ll join our premium Discord community and get access to all past articles.

The Agile Compass is a newsletter for agile practitioners. You're receiving this email, because you subscribed on matthiasorgler.com. To unsubscribe or change your preferences, use the links below or just write me by replying to this email.

Kohlbrandstr. 20, Frankfurt, He 60385
Unsubscribe · Preferences

The Agile Compass

How to create high-performing teams, innovative products and lead thriving businesses? The Agile Compass shares hands-on knowledge from 20+ years of experience in industries worldwide. Matthias is a Silicon Valley veteran and has been awarded the Agile Thought Leader award in 2022. His unique approach focuses on the human side of creating thriving organizations.

Read more from The Agile Compass

The Agile Compass Matthias Orgler Hello Reader, Why do games in coaching work so well? I‘ve seen huge impact and gotten amazing feedback when using more games in my trainings, workshops and coaching sessions. So do many of my alumni and colleagues. Do you already make use of games? Let‘s look at what makes games (aka simulations aka exercises) so effective. Thanks for supporting my work by being a paying subscriber of The Agile Compass! 🙏 One Game. One Lesson. A Lifetime of Impact. Why Games...

The Agile Compass Matthias Orgler Hello Reader, most of us have heard this: "Our work doesn't fit a fixed sprint!". Scrum Masters and Agile Coaches get this objection regularly from engineering teams. This week's article is about how to reply. And if you want to learn how to slice requirements so they fit any sprint length, check out my new workshop: $99.00 How to Slice Requirements for Agile Teams After this workshop you can: Make any requirement fit even a 1 week sprint Apply 10 splitting...

The Agile Compass Matthias Orgler Hello Reader, this is a premium article only for paying subscribers. It goes into depth on the topic of intrinsic motivation: what it is, why it's important, and how to achieve it. Enjoy! Thanks for supporting my work by being a paying subscriber of The Agile Compass! 🙏 Fostering Intrinsic Motivation in Agile Teams: A Path to Authentic Engagement and Success In our agile profession, where adaptability and speed are often hailed as the keystones of success,...