You can think of a team as a queueing system. Tasks arrive in your queue at random intervals, and they take unpredictable amounts of time to complete. Each member of the team is a processor, and when everybody’s working as hard as they can, the system is at 100% capacity.
Don't teams often have shared queues though (tickets, etc.)? Rather than queued work being pre-assigned to each person?
Depends on level of specialisation, but yes. The problem is the same, though: the only way to guarantee 100 % utilisation is to have a long queue of things waiting to be done so nobody runs out of work. But a long queue also means high latency.
In order to reduce latency, you have to have a short queue, which means people will run out of work sometimes and be idle.
Comments
Don't teams often have shared queues though (tickets, etc.)? Rather than queued work being pre-assigned to each person?
Depends on level of specialisation, but yes. The problem is the same, though: the only way to guarantee 100 % utilisation is to have a long queue of things waiting to be done so nobody runs out of work. But a long queue also means high latency.
In order to reduce latency, you have to have a short queue, which means people will run out of work sometimes and be idle.