Skip to content
How to ThinkIn the Age of AI

Map actual information flow to distinguish artificial…

Distinguish artificial serialization (treating independent tasks as dependent) from premature parallelization (launching tasks before their dependencies resolve) by mapping actual information flow rather than assumed ordering.

When This Fires

  • When optimizing workflow execution order
  • When a workflow feels slow despite having "enough time" — artificial serialization may be hiding parallelizable steps
  • When parallelized work keeps requiring rework — premature parallelization may be launching steps too early
  • Complements Parallelize independent agents, serialize only true… (parallelize independent agents) with the diagnostic for distinguishing real from artificial dependencies

Common Failure Mode

Using habitual order as evidence of dependency: "We always do research before writing, so writing depends on research." Does writing consume the research output? If you're writing an introduction that doesn't reference the research findings, the intro writing doesn't depend on research — it's artificially serialized. The findings-integration section does depend on research — that dependency is real. Mapping actual information flow reveals that "research before writing" is partially artificial serialization.

The Protocol

(1) List all tasks in the workflow. (2) For each pair where A currently precedes B, ask: "Does B consume specific output from A? What exactly does B need from A?" (3) If B consumes A's output → real dependency. Serialize. (4) If B doesn't consume A's output → artificial serialization. These tasks can run in parallel. (5) For tasks you want to parallelize, verify: is A's output genuinely unnecessary for B, or is it needed at some sub-step? If only a sub-step of B needs A's output → partial parallelization: start B, run in parallel until the dependent sub-step, then synchronize. (6) After remapping, verify: are any parallelized tasks now failing because they actually did need upstream output? If yes → you've identified a premature parallelization. Re-serialize that specific pair.