Stocks and Flows: Systems Thinking in Software Design
Jun 21 2026Stocks and flows offer a systems-thinking lens for software design: instead of modeling only the visible entities — accounts, balances, queues, inventories, credits — they ask what is accumulating, what is changing it, and what evidence explains the current state. A balance is not just a number; it is the consequence of charges, payments, refunds, delays, corrections, and reconciliation. A queue is not just a list; it is shaped by arrivals, completions, retries, and backpressure. The piece argues that many stateful systems become confusing when they preserve snapshots but lose the movements that produced them, and that better models make those movements explicit enough to reason about correctness, freshness, boundaries, and change over time.