Share
Explore

icon picker
Managing Dependencies

ok

Feel free to play with the doc

What are planning dependencies?

In practice, most teams depend on at least one other team to complete their work. This is a dependency.
For example, an engineering team might have a dependency on the data team to expose a specific metric from the data warehouse to make an informed decision. In particular, data teams, marketing teams, and infrastructure teams are relied on.

Why are dependencies a big time sink?

Most companies don’t track dependencies when they plan. Instead, they rely on team leads communicating with each other. This is typically done with Slack DM’s that say things like “Hey, can your team add X to your list — we’ll need it to complete Y”.
What a terrible system! For three reasons:
It’s invisible. Slack DM’s are invisible to everyone else.
It’s inefficient. These 1:1 dependency conversations are often the most time consuming aspect of planning, requiring meeting after meeting. Yet, most companies don’t build it into their process. This is why planning often feels like a slog.
It’s error prone. If you don’t write them down, most teams don’t recognize dependencies between teams. Then, during the presentation of the final plan, both teams have an “oh sh*t” moment. They realize that a dependency does exist. But at that point, the chances of the dependent work happening is close to 0%.

What can I do about it?

Using the right tool for planning dependencies makes a huge difference. It can save a lot of time and reduce errors and surprises. The easiest way to track dependencies is to list them right next to the OKRs they belong to. That way, teams list dependencies in the same moment they write OKRs.
But...this is surprisingly hard to do in a spreadsheet. You end up with ugly bulleted lists of dependencies packed inside a single cell. It’s impossible to build a process around that. How is the dependent team going to accept/reject bullet point #2 in cell E3? Yuck.
Screenshot 2024-02-26 at 3.51.25 PM.png
There’s a much easier way: track your OKRs and dependencies in Coda. You just need two connected tables: one for OKRs, and a second for dependencies. Here is how this would look:
OKRs
Objective
Key Result
Driver
Manage Dependencies
Loading time reduced from 25sec to less than 10sec
Manage dependencies
Account signup completion rate improved by 5%
Manage dependencies
Dependencies
Ask
Partnering Team
KR
Details
Accept
Reject
Discuss
Full funnel analysis for the signup flow on iOS and Android
Cache most frequent docs
Log NPS scores
Build one-tap sign on
There are no rows in this table
Try clicking one of the blue Manage dependencies buttons above. This opens the key result, where you can easily list dependencies. The best part? Each team will see all the dependencies other teams have on them in real-time and can set aside time for them.
The Data Engineering and System Infrastructure teams can then accept, reject, or discuss the incoming dependencies from other teams:
Asks for Data Engineering Team
Ask
Partnering Team
KR
Details
Accept
Reject
Discuss
Full funnel analysis for the signup flow on iOS and Android
Log NPS scores
No results from filter

System Infrastructure Team
Ask
Partnering Team
KR
Details
Accept
Reject
Discuss
Cache most frequent docs
Build one-tap sign on
No results from filter
This also makes it easy to pull stats on all the dependencies centrally, e.g. to analyze which team collaborate the closest or are overloaded, etc
Dependencies by Team

When we rolled this out at Coda ourselves, it drastically cut down on the meetings needed between the teams during planning.

What if we are not using OKRs for planning

Coda is flexible and supports all forms of planning, from Sprint planning, through OKRs, to V2MOM and NCT. For all of them, you can easily add dependency tracking.

How to efficiently resolve dependencies (Bullpen)

Coda can also help manage the conversations that need to happen to resolve planning dependencies between teams as well as all other decisions that need to be made towards the end of a planning cycle. My favorite ritual for that is what we call a company bullpen.
A bullpen is a designed to cultivate a similar dynamic in a hybrid work / distributed work setting — it is very efficient to get a lot of small and medium sized decisions with varying stakeholders done in a short time set aside for it. Learn more about it
. We run a 90min company bullpen meeting during the 2nd half of our planning period to resolve all outstanding issues. The doc is optimizing breakout rooms and when which topic should be discussed, to ensure the right set of people are available.
When tracking dependencies, it is easy to add all unresolved dependencies or all flagged for discussion automatically added to bullpen, as shown below.

Current Bullpen Schedule

Bullpen runs from
12:00 PM
to
2:00 PM
Add unresolved dependencies
Planning Bullpen Topics
Search
Done
Topic
Length
i
Attendees Needed
Attendees Optional
Slot
Schedule
Breakout Room
Notes
What impact do social media platforms have on mental health?
Scheduled
1
Open
What do you think is the most important issue facing our society today?
Scheduled
2
Open
"Exploring alternative work schedules and their impact on productivity and employee satisfaction.”
Scheduled
3
Open
"Exploring the benefits and drawbacks of remote work for both employers and employees”
Scheduled
4
Open
How can we improve communication and collaboration within our team?
Scheduled
5
Open
"Exploring the benefits and drawbacks of remote work for companies and employees”
Scheduled
6
Open
There are no rows in this table
gears

Optimize Schedule

This button reschedules all meetings, aiming to ensure all participants are available. If that's not possible, it will prioritize the availability of the 'Must-Have' participants.' This button is also useful if a lot of topics have changed the duration needed. If there are conflicts, it prioritizes older topics over newer topics.
Optimize Schedule


Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.