Imagine that your are in your car, on a highway; you are in a mad rush hour, bumper-to-bumper, in a big city… you are going to work.
What do you see?
Do you see, in your mind, large trucks? Really large trucks? Cars of different sizes? Also, imagine having motorcycles zipping in and out as well. You are all on the same highway trying to get from point a to point b with valuable cargo (you, in your case).
The highway is over 100% utilized at that point in time — the rush hour. The flow of traffic is very slow.
I was driving one time in California and I was in such rush hour scenario. What I have noticed was that there were a lot of motorcycle riders who were just zipping in and out…traveling faster than the cars… definitely faster than the large trucks… definitely much faster than the really large trucks! The smallest vehicle (in this case, those motorcycles) went faster from point a to point b. The smaller the vehicle is, the faster its rate of flow from point a to point b compared to the comparatively larger vehicle… again, this observation is during the rush hour! The throughput (the number (count) of vehicles going from point a to point b within a given time period (say 1 hour) is largest in the smallest vehicle category (in this case, motorcycles); least throughput is the very large trucks category… large trucks and really large trucks crawl on rush hour! With this rush hour madness, people will be late to work, trucks will miss their delivery times; predictability is thrown out the window.
Imagine that you are now driving on the same highway, but this time, driving back home at 3 o’clock in the morning… the highway is 50% utilized… you see fewer number of vehicles… of all sizes. The throughput is faster relative to the rush hour throughput. You get home faster than when you went to work during rush hour.
Even faster (on either scenarios — rush hour and non-rush hour) if trucks and very large trucks were prohibited driving on that highway at any given time!
The same is true with team’s capacity utilization per sprint (iteration) and the sizes of the team’s work.
When a team is 100% over utilized (the rush hour analogy; highway over 100% utilization), too many work of all sizes in process (too many cars and trucks of all sizes on the highway analogy), the throughput (number of stories being completed in a sprint) is fewer compared to a, say, 80% or less team capacity utilization (the 3am 50% highway utilization analogy).
Even faster throughput if large work items are banned and only small work items are allowed… large work must be broken down into smaller or, better still, smallest of work! This is the the large and very large trucks not allowed on the highway analogy!
Small work across the board increases throughput and predictability.
Small work means decreased complexity.
A small work is simpleton… doing just one thing. Keep work small or smallest. Easier and faster to complete; estimate is certain. Once it becomes large, complexity of the work and uncertainty in the estimate increases exponentially… not in a linear fashion. Hence the modified Fibonacci sequence is a great way to estimate work: the effort estimate grows nonlinearly (1, 2, 3, 5, 8, 13, 20, 40, 100, ?) with increasing work size, indicating increasing uncertainty in the estimate.
So…do these across the board:
1) keep work do just one thing; keep work small and simple; then make that work smaller than what it is.
2) limit the work in process
3) don’t over utilize your Agile team. 80% or less is best in terms of utilization.