This document discusses predictability in software development and how it relates to managing work queues and flow. It provides several key points:
1. Predictability is driven by the range of outcomes, with smaller ranges meaning more predictability. Queue size and utilization also impact predictability.
2. Common practices aimed at improving reliability can actually decrease predictability by increasing variation in work and queues.
3. Queueing theory can help quantify relationships between queue size, utilization, and cycle times. Managing queues and smoothing flow is important for predictability.
4. Choices around work assignment, processing order, batching, and dependencies all impact variation in queues and predictability. Monitoring work-in-process, queued work