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.
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
Objective
Key Result
Driver
Manage Dependencies
Improve Mobile App user happiness score
Loading time reduced from 25sec to less than 10sec
Manage dependencies
Account signup completion rate improved by 5%
Manage dependencies
Dependencies
3
Ask
Partnering Team
KR
Details
Accept
Reject
Discuss
Ask
Partnering Team
KR
Details
Accept
Reject
Discuss
1
Full funnel analysis for the signup flow on iOS and Android
Data Engineering
Account signup completion rate improved by 5%
2
Cache most frequent docs
System Infrastructure
Loading time reduced from 25sec to less than 10sec
3
Log NPS scores
Data Engineering
Loading time reduced from 25sec to less than 10sec
4
Build one-tap sign on
System Infrastructure
Account signup completion rate improved by 5%
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
3
Ask
Partnering Team
KR
Details
Accept
Reject
Discuss
Ask
Partnering Team
KR
Details
Accept
Reject
Discuss
1
Full funnel analysis for the signup flow on iOS and Android
Data Engineering
Account signup completion rate improved by 5%
2
Log NPS scores
Data Engineering
Loading time reduced from 25sec to less than 10sec
No results from filter
System Infrastructure Team
3
Ask
Partnering Team
KR
Details
Accept
Reject
Discuss
Ask
Partnering Team
KR
Details
Accept
Reject
Discuss
1
Cache most frequent docs
System Infrastructure
Loading time reduced from 25sec to less than 10sec
2
Build one-tap sign on
System Infrastructure
Account signup completion rate improved by 5%
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
3
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.
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
Done
Created on
Attendees Needed
Attendees Optional
Search
Done
Topic
Length
i
Attendees Needed
Attendees Optional
Slot
Schedule
Breakout Room
Notes
Done
Topic
Length
i
Attendees Needed
Attendees Optional
Slot
Schedule
Breakout Room
Notes
1
What impact do social media platforms have on mental health?
12:00 PM
Scheduled
1
Open
2
What do you think is the most important issue facing our society today?
12:15 PM
Scheduled
2
Open
3
"Exploring alternative work schedules and their impact on productivity and employee satisfaction.”
12:15 PM
Scheduled
3
Open
4
"Exploring the benefits and drawbacks of remote work for both employers and employees”
12:45 PM
Scheduled
4
Open
5
How can we improve communication and collaboration within our team?
1:15 PM
Scheduled
5
Open
6
"Exploring the benefits and drawbacks of remote work for companies and employees”
12:30 PM
Scheduled
6
Open
There are no rows in this table
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 (