Dependency test for adjacent steps — does step B require…
For each pair of adjacent workflow steps, ask 'Does step B require the completed output of step A?' - if no, the steps can run in parallel; if yes, they must be sequential.
When This Fires
- When reviewing any multi-step workflow for efficiency improvements
- When a workflow takes longer than it should and you suspect unnecessary serialization
- When designing new workflows and deciding which steps must be sequential
- Complements Sequential-by-default is a workflow smell — every numbered… (sequential-by-default as workflow smell) with the specific diagnostic question
Common Failure Mode
Assuming sequence because of presentation order: "Step 1 comes before Step 2, so Step 2 must wait for Step 1." The documentation order is an artifact of writing being linear, not evidence of an actual dependency. Challenge every adjacency.
The Protocol
(1) List all steps in the workflow. (2) For each pair of adjacent steps, ask: "Does step B require the completed output of step A to begin?" (3) If yes → mark as a true dependency (must be sequential). (4) If no → mark as parallelizable. These steps can run simultaneously or in either order. (5) Redraw the workflow as a dependency graph rather than a linear list: parallel steps on the same row, sequential dependencies shown as arrows. The critical path (longest chain of true dependencies) reveals the minimum elapsed time. Everything not on the critical path can run in parallel with it.