When I last posted on this blog, I was about to depart for the House of Mouse. Yep, DisneyWorld. The Magic Kingdom, to be precise. You might wonder why i’m blathering on about my vacation in my Kanban blog. However, an amusement park is the perfect place to find Kanban happening out in the wild. Talk about your EverydayKanban! For our case study, let’s look at roller coaster ride. But, first, a key to get our parallels drawn…
Case study key
- People == Task/User Story/Issue
- Queue == Backlog (usually with estimated wait times listed)
- FastPass == Expedite or Fixed Date type of task/user story/issue
- “Next up” lines == To Do buffer (WIP limit applied)
- Roller coaster car == In Progress (WIP limit applied)
- Exit == Deployment
At the Magic Kingdom, the queue of people is managed in a specific way: first come, first served. They could choose to prioritize on other attributes of the person, but they don’t. I guess that would be a little illegal in this case study 🙂 The point is, you have a method to manage or organize your backlog of issues. Now, sometimes you have a condition in which the normal class of service isn’t sufficient. If an extremely urgent issue comes in, you may not want to put it at the back of your 80 issue backlog. So, you create a special class of service for that scenario and you create a contract for that service. At Disney, this is called the Fast Pass. You must take special actions to get a FastPass and to enter the queue. When allowed to enter the queue, those holding a fast pass can head to the front of the line, bypassing all others in the standard class of service. In a development environment, you may create conditions that a task/issue would have to meet in order to be classified as an expedite or fixed date issue.
Notice that no one is doing any management of the backlog as a whole. No one is going around paying any special attention to the middle of the queue. Employees are managing the entrance to the queue and then managing who leaves the queue to go to the buffer. Occasionally there will be some scared soul who will find a side exit. I call those cancelled tickets 🙂
Once a person has reached the top of the queue, either from the standard or expedited class of service, the next step is to move into the “Next Up” area (buffer). This is the area in which the ride pulls in the next person from. Both the buffer and the car have capacity limits applied. When filling the buffer, they first allow all FastPass holders through and then fill remaining spots in the buffers with those in the regular queue. For consistent and easy flow, you are continually filling the buffer and the car as they empty out. As cars return, people exit and the cars fill up again. This is synonymous to a developer pulling from a “To Do” buffer, releasing work and going back to the buffer to pull more work.
At Disney, the point is to implement a system in which people flow through the system efficiently so they can let as many people enjoy the ride as possible within a set period of time. This is the same goal that programming groups have. We want to get our system as efficient as possible so that we can enjoy the rewards of achieving more.
One last thing. How do they get those estimated wait times? Well, they give some random rider a plastic card to carry with them to the front of the line. It is somehow (and i’m not certain how) marked with a timestamp. When the person reaches the top of the queue, they hand it to the employee at that end. This gives the employee their wait time and they can post that for other visitors to know approximately how long they’ll have to wait before they can get onto the ride. This is measured at intervals for reassessment. This is a parallel to how one might measure lead time in a Kanban system. You frequently look at how long it takes you to get an item from backlog entry to deployment. You take that measure over and over again at certain intervals, average it and come up with reasonable estimates for lead time in general, along with an idea of how much variance you have. This can be presented to a customer with some degree of variance to get an idea of when their request might emerge from the exit.
See, sometimes vacations can be work-related. Now, where’s my expense report? 😉