How Flow Works • James Lewis • GOTO 2024

Learn how to optimize software delivery flow through queuing theory, self-service platforms, batch size reduction & preventing congestion collapse in complex systems.

Key takeaways
  • Flow is controlled through occupancy and work process limits - reducing batch sizes and limiting work in progress improves throughput

  • Queuing theory explains three main types of wait times that impact flow:

    • Coordination (waiting on other teams)
    • Scheduling/cadence (regular meetings)
    • Queues (work waiting to be processed)
  • Self-service platforms and infrastructure-as-a-service improve flow by removing human bottlenecks and scaling beyond manual processes

  • Change request boards and approval processes predict low performance according to research - they block work flow for extended periods

  • Reducing batch sizes can improve throughput by an order of magnitude without adding capacity or utilization, simply by deploying more frequently

  • Congestion collapse occurs when there is too much work in progress - controlling occupancy through WIP limits helps prevent this

  • Value stream mapping helps visualize work flow and identify bottlenecks in the system that slow delivery

  • Team topologies and Conway’s Law influence how work flows through an organization’s structure

  • Platform engineering teams need product management to avoid becoming bottlenecks themselves

  • Agent-based modeling and simulation can help predict and improve flow patterns in software delivery