Topological sorting for the win.
I like this. Using something like Jira it’s far too easy to end up in a situation where the top of the “ready” column/backlog is blocked by stuff that are still in progress.
I’ve always found it weird that Jira has “blocked by” as a built-in concept but then doesn’t make much use of it. Mostly the only way to see if a ticket blocks or is blocked is to go into the full ticket view. The compact views (the ones you usually use in planning mode) don’t provide any indication. It especially stands out to me because the core of Jira is a user-definable state machine, and “blocked” should be fully-integrated into that, but it’s not. And I don’t think there’s any option to make it more visible.
We even had to use the Automation features to email people when a blocking issue was resolved. This is definitely a place where Jira’s infinitely flexible workflow system is not as good as something that would be a bit more opinionated.
I have used a similar approach before and it works great every time. Draw the dependency tree in OmniGraffle, color the blocked nodes red, completed nodes green, and available nodes yellow, then work the yellow tasks in order of descending uncertainty. It gives such a good holistic picture of the project and makes it really easy to sync up with others.
I just haven’t found a collaborative tool, that would make it easy for my whole team to collaborate on the dependency graph.
Have you tried Figma?