Kanban: Successful Evolutionary Change for Your Technology Business (英語) ペーパーバック – 2010/4/7
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
Kanban is becoming a popular way to visualize and limit work-in-progress in software development and information technology work. Teams around the world are adding kanban around their existing processes to catalyze cultural change and deliver better business agility.This book answers the questions:What is Kanban?Why would I want to use Kanban?How do I go about implementing Kanban?How do I recognize improvement opportunities and what should I do about them?
Anderson starts the book telling his motivations for solving the Agile manager's dilemma: how to scale agility in large organizations and how to achieve a sustainable pace? The author tells his professional history back at Sprint PCS (which became a Motorola-owned company) where he was persuaded to influence other teams without success. His conclusion was that prescriptively enforcing a software development process on a team doesn't work. Every situation is unique (organizations, teams, and projects are different) and this creates resistance to change.
The stories are very interesting as they resonate easily in every software development professional. They are about derailing projects in the hands of teams with low morale. However, the outcomes are even more interesting: the Microsoft case had a 200% productivity boost and 90% lead time reduction. At Corbis (chapter 5), a strong continuous improvement culture emerged (and the documented Kanban Method in the book).
In both cases, a uniquely tailored process was created for each context. This emergent Lean behavior is due to the application of the Core Practices of Kanban: Visualize Workflow, Limit WIP, Measure and Manage Flow, Make Process Policies Explicit and Use Models to Recognize Improvement Changes.
Then the book goes on with a practical explanation on how to adopt Kanban. The chapters 6 (Mapping the Value Stream), 10 (Setting Work-in-Progress Limits), 12 (Metrics and Management Reporting), 16 (Three Types of Improvement Opportunity) and 17 (Bottlenecks and Non-Instant Availability) are enlightening and the author succeeds in adapting all these practices and explaining them in a seemingly logical progression.
If you want to adopt Kanban, this is the book to start. You will understand the motivations that drove the evolution of the method from the pioneer's perspective. Then look for fresher references, since the method evolved since then. The Core Practices (Chapter 3) were refined, the Foundational Principles were introduced and the System Thinking Approach to Introducing Kanban replaced the Recipe for Success (Chapter 3). Kanban from the Inside (the parts I and III) and Real-World Kanban are good follow-up readings.
The drawback on the Kindle edition are the low-resolution pictures of Kanban boards.
One major caveat, do not buy as a Kindle book. It is a terrible transfer, slips from text to text as picture. That means no conforming to display preference and no highlighting. Just buy the paper book.
I was always under the impression that Kanban was just an example of the usage of a team board. This book proved how wrong I was. Kanban is much and much more!
The book is divided into four parts with in total twenty chapters:
▪ Part I: Introduction
▪ Part II: Benefits of Kanban
▪ Part III: Implementing Kanban
▪ Part IV: Making improvements
The first part contains two chapters introducing Kanban. Kan-ban is a Japanese word that literally means “signal card” in English. Kanban is an
evolutionary change method that utilizes a kanban pull system, visualization and other tools to catalyse the introduction of lean ideas into technology development and IT operations.
The book gives the following definition: “A Kanban system is a system were a number of cards equivalent to the agreed capacity of a system are placed in circulation. One card is the equivalent of one piece of work. Each card acts as a signalling mechanism. A new piece of work can be started only when a card is available. This free card is attached to a piece of work and follows it as it flows through the system. When there are no more free cards, no additional work can be started. Any new work must wait in a queue until a card becomes available. When some work is completed, its card is detached and recycled. With a card now free, a new piece of work in the queuing can be started.” This is what you call a pull mechanism.
When there is no explicit limit to the work in progress (WIP, or the maximum number of cards at a specific process step) and there is no mechanism to show that we have to pull new work into the system, it is not a Kanban system.
Key properties of a Kanban system are:
▪ Visualize the workflow (using a kanban board);
▪ Limit work in progress;
▪ Measure and manage flow;
▪ Make progress policies explicit (e.g. the number cards/work units at a certain step);
▪ Use models to recognize improvement opportunities (e.g. ToC, system thinking, …).
The second part explains the benefits of Kanban. In three chapters we get a recipe for success, a real life implementation example at Microsoft and the importance of a continuous improvement culture.
The author describes his six steps in the recipe for success: Focus on quality, reduce work-in-progress, deliver often, balance demand against throughput, prioritize and attack sources of variability to improve predictability. To grow in or build maturity you first have to “learn how to build high-quality code. Then reduce the work-in progress, shorten lead times, and release often. Next, balance demand against throughput, limit work-in-progress, and create slack to free up bandwidth, which will enable improvements. Then, with a smoothly functioning and optimizing software development capability, improve prioritization to optimize value delivery. “
In Kanban it’s important to have explicit policies, designed to manage risk and deliver customer expectations. Work must be tracked transparently and all team members must understand and know how to apply the policies.
The last chapter of this part elaborates on a continuous improvement culture. In Japanese, the word Kaizen literally means “continuous improvement”. “Kanban provides transparency into the work, but also into the process (or workflow). It provides visibility into how the work is passed from one group to another.” “In addition to the visibility into the process flow, work-in-progress limits also force challenging interactions to happen sooner and more often.“
Part III, covering half of the book, is al about the implementation of Kanban. I created an example of a Kanban board and use that example to explain some of the key characteristics of the Kanban system (see: https://hennyportman.wordpress.com/2015/05/25/book-review-kanban-successful-evolutionary-change-for-your-technology-business/). To build your Kanban system you could follow the following high-level steps:
▪ To set up your visual control board you you first have to define a start and end point for control. This results in an outline of the workflow (from left to right) on the card wall.
▪ Next you have to define your work item types. Think about requirement, feature, user story, use case, change request, production defect, maintenance, refactoring, bug, improvement suggestion or blocking issue.
▪ As a following step add buffers and queues to the workflow to manage the bottlenecks.
▪ For each type of work you must make a study of the demand (in the figure the swim lanes for Change Request, Maintenance and Production Defect) and allocate capacity according to the demand. This results in limits for each queue.
▪ On the board we are putting work item cards. Each visual card representing a discrete piece of customer-valued work has several pieces of information on it, e.g. id number, explanation, data accepted, hard-delivery date, et cetera.
▪ Set the input and output boundaries. Upstream and downstream partners want to see their work on your card wall. For you, you first want to provide transparency onto your own work. In the example you find the input queue and release ready columns.
▪ At the top of each column you show the WIP (Work-in-progress). When there are fewer cards in a column than the WIP you have to pull a card from the previous column to keep the flow going. This will help to reduce the lead-time.
▪ Downstream you have to discuss the input queue size. This depends on the prioritization cadence and the throughput of the system. Upstream you have to agree on delivery coordination and method.
▪ Decide on the different classes of service. Each class comes with its own set of policies and target lead-time. Use e.g. for standard class of service the yellow post-it, for fixed delivery date the purple post-it, and for expedite the grey post-it.
▪ For issues (impediments) you could add a red post-it to the existing work item.
▪ As a result establish service level agreements and policies.
In the book these steps (and several more) are explained in much more detail including lots of best practices how to apply them.
The last part is the most difficult part of the book. If you want to make improvements to your Kanban system you have to look for bottlenecks and non-instant availability, waste elimination and reduction of variability. This part ends with issue management and escalation policies.
To get familiar with Kanban this is a good book to read. The book uses good examples and gives you a good insight how Kanban can and must work. It will help you to set up, use and optimize your own kanban system. Like all agile approaches don’t start with everything, begin simple and build upon it based on your own experiences and feedback.