Shopping in our local Grocery Store (Farm Boy) on a recent Saturday made me realize what a good job they do Limiting Work in Progress (WIP) and Self Organizing. Driving into the parking lot with my 4yr old, I was dreading the busyness of the store. When I got in, the place was packed, and trying to manoeuvre even a small cart with a 4yr old driving was quite the experience. I had expected the checkout experience to be easily 10 minutes long, an eternity even with the best behaved child.
When I entered the store there were only a few people on cash and the lines seemed to be building. By the time we were ready to checkout half an hour later, all 9 cashes were open and we waited less than two minutes.
What happened? A couple of conversations with cashiers have helped me piece together the key points:
- They all recognize that Farm Boy doesn’t make money until you’ve paid – a Customer with unpaid groceries is Work In Progress. After all if you only have a few items and see a 10 minute line up you might just leave. Especially if the 1-8 items queue is also deep.
- If there is a line up, cashiers just start opening lanes until the bottle neck is cleared
- Many of the staff can work the cash, so you’re rarely stuck waiting for another cashier
- Staff don’t wait to be told to open cashes they just do it
- When demand ebbs, the cashiers start to close and return to other work
So effectively they’ve seemed to discovered the Theory of Constraints (TOC) and they Self-Organize to eliminate the bottleneck. Their system is informal, but even without sophisticated measurements you can still observe and eliminate bottlenecks. Compare this to another large Canadian grocery chain where I often line up for 10+ minutes, just waiting to get to the front of the line. Guess which store gets more of my business?
In the software world, QA, especially when all the tests are run manually, is often the constraint we find. So we need to take steps to eliminate the bottleneck:
- Automate your Regression Tests, so that you have a minimal (if any) manual regression work to do
- Train everyone on the team in the basic of QA
- When work builds up in QA, cease writing new code until the existing code has been tested and the tests automated
- Start write your application using Acceptance Test Driven Development
Eventually QA stops being the bottleneck, at which point we re-examine the system to see if the bottleneck has moved again. When that happens, take similar steps all over again to eliminate the next bottleneck.
What bottlenecks have you observed in your grocery store? Your development process?
Mark Levison has been helping Scrum teams and organizations with Agile, Scrum and Kanban style approaches since 2001. From certified scrum master training to custom Agile courses, he has helped well over 8,000 individuals, earning him respect and top rated reviews as one of the pioneers within the industry, as well as a raft of certifications from the ScrumAlliance. Mark has been a speaker at various Agile Conferences for more than 20 years, and is a published Scrum author with eBooks as well as articles on InfoQ.com, ScrumAlliance.org an AgileAlliance.org.