Definition Kanban is a method for managing knowledge work with an emphasis on just-in-time delivery while not overloading the team members Kanban is an approach to incremental, evolutionary process and systems change for organizations. It uses a work-in-progress limited pull system as the core mechanism to expose system operation (or process) problems and stimulate collaboration to continuously improve the system.
Four Principles Start with what you do now Agree to pursue incremental, evolutionary change Respect the current process, roles, responsibilities and titles Leadership at all levels
Kanban Method's core practices 1. Visualize : Visualizing workflows supports proper understanding of changes planned and helps to implement them according to this plan. A common way to visualize the workflow is to use a card wall with cards and columns. The columns on the card wall represent different states or steps in the workflow.
The Story Card What should be on the story card?
Kanban Pull System Kanban is considered a pull system. In a pull system, work items are pulled into the queue by the people doing the work as they complete tasks in order of priority. Kanban enables the delivery of work as it becomes available and as part of a Minimum Viable Product (MVP) that is sometimes defined in the business requirements. Another term for Minimum Viable Product (MVP) is Minimum Marketable Features (MMF), a term used to describe the work that can be delivered which meets the business requirements without exceeding them. This way, the amount of wasted work is minimized while delivering the product as specified in the customer’s business requirements.
Simulation Time Make teams of 1 PO, 1 Analyst, 2 Dev and 2 QA team members. The teams can select a new product or existing software maintenance to work on. Each team should create a visual board, they can use the previous slide as example. Learnings: Discuss the learnings of the team. What benefit did the team see in creating Visual board?
KanbanMethod's core practices 2. Limit WIP Limiting work-in-process implies that a pull system is implemented on parts or all of the workflow. The pull system acts as one of the main stimuli for continuous, incremental and evolutionary changes to the system. The pull system can be implemented as a kanbansystem. The critical elements are that work-in-process at each state in the workflow is limited and that new work is “pulled” into the new information discovery activity when there is available capacity within the local WIP limit.
Five Focusing Steps The Five Focusing Steps is a simple formula for a process of ongoing improvement. It states: Identify the constraint Decide how to exploit the constraint Subordinate everything else in the system to the decision made in 2 Elevate the constraint Avoid inertia, identify the next constraint and return to step 2
Simulation Time Ask the team members to limit WIP at each column of the visual board. Learnings: Discuss what did the team learn by adding WIP What was importance of WIP and what difference did it make? Did they find bottlenecks and what were those?
Kanban Method's core practices 3. Manage flow Each transition between states in the workflow is monitored, measured and reported. By actively managing the flow the continuous, incremental and evolutionary changes to the system can be evaluated to have positive or negative effects on the system.
Simulation Time Ask the team to find solutions to the bottlenecks they had identified and implement them. Learnings: How did the teams remove bottlenecks? Did getting rid of bottlenecks improve the process?
Kanban Method's core practices 4. Make Policies Explicit Until the mechanism of a process is made explicit, it is often hard or impossible to hold a discussion about improving it. Without an explicit understanding of how things work and how work is actually done, any discussion of problems tends to be emotional, anecdotal and subjective. With an explicit understanding it is possible to move to a more rational, empirical, objective discussion of issues.
Simulation Time Ask the team members to make explicit policies and agree to follow them. Learnings : What were the explicit policies made? Did explicit policy help them in the work?
Kanban Method's core practices 5. Continuous Improvement (Kaizen) The Kanban method encourages small continuous, incremental and evolutionary changes that stick. When teams have a shared understanding of theories about work, workflow, process and risk, they are more likely to be able to build a shared comprehension of a problem and suggest improvements which can be agreed to by consensus. Teams measure their effectiveness by tracking flow, quality, throughput, lead times and more. Experiments and analysis can change the system to improve the team’s effectiveness.
Simulation Time Ask the team members to discuss the process they have been following and come up with improvements which they think is needed for the process. Learnings: Discuss the improvements each team came up with
Eliminating Waste Everything not adding value to the customer is considered to be waste (Muda). Examples: Unnecessary code and functionality Delay in software development process Unclear requirements Bureaucracy Slow internal communication
Scrum Kanban • User Stories • Acceptance Tests • Iterative Development • Burn Down Charts • Story Boards • Daily Stand-ups • TDD/Unit Tests • Continuous Integration • User Stories • Acceptance Tests • Iterative Development • Burn Down Charts • Kanban Boards • Daily Stand-ups • TDD/Unit tests • Continuous Integration Scrum Vs. Kanban