Scrum is Lean
Wednesday, December 21, 2011 at 5:57AM
Some people want to matrix their people into multiple projects, or having the same team do multiple projects simultaneously. Although Scrum doesn’t explicitly say that these are “bad ideas”, they are. They involve something that in Lean Development is called “task switching”, and it is part of a bigger Lean Principle called “Eliminate Waste”. Although, there is not a formal historical connection from Scrum to Lean, we have to remember that many of the companies that were doing product development analyzed by Nonaka and Takeuchi in their seminal paper “The NEW new product development game” (if you don’t have a copy of the paper get it here: http://www.enterprisescrum.com/publications/), like Honda, Canon, Fujitsu/Xerox, Panasonic had employed by the late 1970s and early 1980s, many consultants from Toyota that brought the Lean ideas to with them and apply them, not only to Production systems (as in Toyota Production Systems), but to Development. In fact, that difference about what Production and Development, is what determines the scope of applicability for Scrum: Scrum is a portable empirical process execution framework. (More of this stuff at http://www.enterprisescrum.com/enterprise-scrum ). But this is a fact: you can reverse Scrum and see many Lean Principles at work. For this reason, I say that Scrum is Lean (in the American Value and Effectiveness way). Of course, Scrum is really Agile, as are other Agile methods, because it not only cares about Delivering Value (through efficiency and avoiding waste), but by Doing the Right Thing first (prioritizing the Product Backlog), but in addition it also has Customer Focus, Embracing Change, and Focus on Individuals and Interactions.
If you do Scrum you must read the paper above “The NEW new product development game” by Nonaka and Takeuchi, HBR, 1996. I have read it no less than 10 times, and continue to search for inspiration on it. It is required reading for everyone doing Scrum. Find it here: http://www.enterprisescrum.com/publications/
We avoid waste in Scrum because we want to maximize the efficiency ratio of our Scrum implementation. We define the efficiency ratio as:
Er = Sum of all Value Adding tasks/Sum of ALL tasks
When there is little waste is closer to 1. When there is a lot of waste (like in a typical CMM implementation), it is closer to zero. Keep this mind when tweaking Scrum (or anything else really).
Having said that, there are a lot of other ways to avoid waste in Scrum:
- • Partially Done Work – we try to move from Sprint to Sprint without it!
- • Extra Processes – we avoid thick useless documents, bureaucracy and approvals for “talking to the right people”, for example
- •
- • Task Switching – we avoid working on “too many things” during a Sprint – 1) multiple-project by the same team, 2) individuals matrixed in multiple projects, 3) very many tasks by an individual within a project
Note to the managers in this list: Matrix the least amount of people – matrix destroys efficiency because it involves “task switching”
- • Waiting – we avoid waiting -- that’s why in Scrum we get feedback daily and have a ScrumMaster that resolves issues to minimize waiting time through the Daily Scrums
- • Motion – we avoid “hand-offs”, phases and assembly lines – instead we socialize knowledge to avoid moving things from one specialist to another one whenever we can
- • Defects – we avoid defects – defects ruin our we test^4, unit, regression, system, acceptance to avoid defects
Defects are specially important because they control what we call the Correction Demand ratio, defined as:
Cd = Correction Demand (tasks or stories related to correction) /All of the Demand (Value and Correction)
When this ratio is large, it can ruin your Sprint productivity by using too many cycles making corrections for previous Sprints. That is why in Scrum we need to integrate and test everyday and we prefer continuous integration and layered automated testing. A good measure, a fitness test of your software if you will, but certainly not the only “goodness measure”, is the percentage of completed acceptance tests for all PBIs and User Stories defined as:
% completed acceptance = Sum of all acceptance tests that passed / Sum of all acceptance tests
But beyond waste, there are other Lean Principles, first documented in software by Mary and Tom Poppendieck, and these are some examples of how Scrum uses them:
- • Eliminate waste - many examples in Scrum (as stated above)
- • Amplify Learning – User Story Workshop, Planning Poker, Buy the Future, Release Planning, Sprint Planning, Sprint Review, Daily Scrums, Retrospective, Scrum Board, Burndown
- • Decide as late as possible – Prioritizing the Backlog, Architectural scan, normal Agile development
- • Deliver as fast as possible – this is JIT (just-in-time) for software or other process requiring empirical management, Sprints, Releases
- • Empower the team – Scrum teams are always self-organized whenever possible
- • Built integrity in – organizing User Stories in epics and themes, using architectural and design patterns
- • See the whole – User Story Workshop, Planning Poker, Buy the Future, Release Planning, Sprint Planning, Sprint Review, Daily Scrums, Retrospective, Scrum Board, Burndown
I hope this helps you see not only “waste” but to apply other Lean Principles to your Enterprise Scrum implementation,
Mike Beedle
Enterprise Scrum
http://www.enterprisescrum.com
Mike Beedle |
1 Comment |