Ryan Singer

October 29, 2021

18. Dependencies vs. unknowns when sequencing

A good question came up from a long-time Shape Up adopter:

 I’ve noticed you mention two slightly different methods for sequencing:

  • The interrelationships diagram
  • Getting to the most unknowns first 

Have you landed on a preference yet? Are there circumstances where one is better than the other?

To answer, here's an example from a project I'm working on now.

I have six scopes left. This project is very time sensitive, and I'm afraid that if I hit a problem too late or in the wrong order I'll regret it. So first I did interrelationship:

image-6.png

Then I mechanically translated it to a causal diagram, by starting with the the things that have no outputs and working upwards from them:

image-7.png


This showed me what had to be done first in terms of dependencies.

But notice how `Pitch display` `Clean up` and `Step robustness` were all possible starting points. Which one should I work on first to allow the most time to solve it?

At this point I switched gears and asked about unknowns.

image-8.png


It turned out that the `Pitch display` path was well understood but `Step robustness` had a big unknown. If I didn't solve `Step robustness`, the whole project wouldn't work!

So I flagged that as unknown and moved it up in the sequence:

image-9.png


I hope this clarifies how dependencies and unknowns both play into sequencing. They're like two different dimensions that affect the decision.

Sometimes I only emphasize asking about unknowns because I assume programmers already think about dependencies. In cases where the dependencies aren't obvious, I reach for the interrelationship tool to spell them out.

(The translation from interrelationship to causal diagram is something new I'm experimenting with. For more on the interrelationship tool see Newsletter #14 and this LinkedIn post by Chris Spiek.)