
Agile and Scrum have come a long way towards improving time-to-market but is it possible that we can make our typical agile techniques even more lean?
There is a common training game in the agile community called the “penny game”. In the penny game, you have 4 players lined up and their jobs are to flip pennies and hand them off to the next person in line. In the first round, the first player must flip 20 pennies all to heads before passing the entire batch to the next player who then flips them all to tails and so on. You can measure how long it takes to deliver the first penny and last penny all the way to the end of the line.

If you have ever played the penny game, you have seen how it takes much less time to deliver the pennies to market, as transfer batch size decreases. In other words, working in batches of 20 pennies will be significantly slower than working in batches of 10 pennies, which in turn is slower than flipping in batches of 5, and so on. As we move closer and closer to continuous flow, we get faster and faster in our delivery.
In the software development world, we have traditionally been operating in large transfer batch sizes where we analyze all of the requirements for an entire system before handing the entire batch over to development where we then write all of the code and then hand that huge batch of code over to testing, etc. As the penny game teaches us, this is the slowest method of delivery.
In the agile community, we focus on decreasing that batch size down to just a few weeks worth of work at a time and by reducing the batch size, we greatly improve time to market. It is common in Scrum to focus on batch sizes of 2 – 4 weeks worth of work that is organized into time-boxed iterations. At the end of each iteration we stop the line and re-plan for the next batch delivery. For many organizations, this results in huge improvements in time-to-market. But what next? Once teams have reached the benefits of scrum, where do they go next?
In Scrum, Batch Sizes Can Be Further Reduced for Faster Delivery
Organizations that have successfully used short iterations may be ready to take the next step. As we move closer to a batch size of 1 and closer to a state of continuous flow, our time-to-market will improve yet again. This is where “scrum-ban” comes in. The word scrum-ban comes from the Japanese word “kanban” combined with Scrum. In Scrum-ban, we move even closer to the ideal:
- We do not need to stop the production line every 2-4 weeks for rigorous re-planning of the upcoming iteration. As work requests come in, we prioritize them, give them very rough estimates in real-time, and then put them into the queue at their appropriate point in the backlog. When the team finishes a piece of work, they pull the next highest priority item from the backlog and focus on delivering it.
- There is no need for iterations with batch sizes of 2-4 weeks worth of work. In scrum-ban, we aim towards continuous flow and continuous delivery.
- In Scrum, we put significant emphasis on estimation because we need to commit to a batch of work that will fit into the 2-4 week iteration boundary. In scrum-ban, we have no such artificial boundaries so we can reduce the effort required to create estimates even further.
This article just touches on the ScrumBan concept, and putting the concept to work is non-trivial, but even with this short introduction I think that you can see that we can make another leap in productivity and speed to market by moving towards even smaller batch sizes, reducing the need for time spent on estimation, and eliminating the need to stop the production line for iteration planning.

Subscribe to the RSS feed
3 comments:
Hi Roland,
I can see your point in regards to ScrumBan however I do question the removal of iteration planning.
As many traditionalist project managers already see Agile methodologies as 'cowboy' style approaches, removing another step of planning may further the agile divide.
Regards,
David
http://www.jacksguides.com
Hi David,
Thanks for writing. I totally understand the concern as do many Agile PMs. In this Scrumban model, there is more of a what I will call "continuous planning" going on vs no planning. We don't really have iterations in the usual sense in Scrumban so we do not necessarily need iteration planning in the usual sense. What teams will do is estimate and prioritize work requests as they arrive in a continuous fashion creating a continuous rolling-wave planning system. By looking at team velocity and the position of work requests in the backlogs, we can predict fairly accurately when pieces of work will be delivered. I hope this helps. There is quite a bit more on this subject to discuss.
Roland
Where's the evidence? I read the articles by David Anderson and Corey Ladas, and there seems to be one case study, and that was for work that was for a customer-support function that was already in fairly small batches, with very limited prioritization other than FIFO with the occasional queue-jumping "silver bullet." Who's using this approach for other types of development?
It seems to me that before we proclaim Kanban the Next Great Thing, we might like to see a few more case studies. Particularly when I'm seeing that we should be not only interationless but perhaps even estimationless.
Oh, I get it: we aren't really estimationless, we break big requests into "chunks" that are nearly the same size - so we count the chunks and estimate that way. But if we're interested in delivered customer value, finished chunks are just inventory (Lean: waste) until they're ALL delivered; exactly what has altered from doing task identification at the beginning of a sprint, and finishing all the tasks before calling the story "done"?
We might actually be going backwards: a business request is always going to require an estimate as part of a timely response to the request; nobody wants to write you a blank check or get a vague "we'll work on it until it's done." So if you're going to skip estimation and go right to equal-sized chunks, it sounds just like the old Work Breakdown Structure - more Lean inventory/waste - that we got rid of with Planning Poker and just-in-time requirements resolution and tasking.
And I think we need to ask what the value of the iteration is to the rest of the organization. Delivering every two weeks provides a heartbeat and a sense of urgency to the team; it also provides a regular reminder to the rest of the organization that we're making progress, a chance to put that fortnightly Demo and planning meeting on the calendar. Finally, there's real value to the team and to the rest of the organization to coming to closure on a regular basis; you start every sprint with a clean slate. The only closure from finishing a chunk among many chunks is the chance to get another chunk to work on. Meh.
Don't hear me wrong: I'm willing to be convinced, I'm even willing to be a guinea pig. I'm just not ready to take holy orders yet.
All that said: I see value in limiting WIP as David Anderson did, where he used Kanban to allocate effort between new development and what we used to call current engineering; keeping that balanced by limiting WIP for different categories strikes me as a very elegant solution that provides full visibility to all and makes the workload manageable.
So I'll try it. But the jury is out for now.
Post a Comment