Kanban. The Method to Ensure Steady Workflow.
What is kanban in software development? How is a kanban board implemented? How does it measure production?
Customers and service agree that a work unit is to be executed and delivered. A ticket enters the production process. This transition is designated as commitment
Team members independently retrieve scheduled tasks as ticket for processing according to the pull principle. The number of tickets for the respective processing steps is limited by a WIP (Work-in-Progress) limit.
Tickets that haven't yet been processed can't be taken up by the next department. This creates a bottleneck.
Handing over a complete work unit is designated as delivery. What delivery means must be clearly defined.
What Does “Kanban” Mean?
The Japanese word “kanban” is a composite of “kan” which means signal and “ban” which means card. As a technique, kanban was first described in 1978 by Toyota Production Manager Taiichi Ohno in a book about the Toyota Production System (TPS). Kanban is an element of just-in-time manufacturing, which means only what is needed to fulfill customer orders is produced. Information about what is to be produced in which quantities is passed from downstream to upstream by means of a kanban card. This creates a consistent and sequential production flow to reduce inventories. The goal is continuous improvement of process (kaizen) and the avoidance of waste (muza). A study carried out between 1985 and 1991 by the International Motor Vehicle Program led to this way of organizing production becoming known as Lean Production.
David J. Anderson:
People ask me, “What’s the difference between Lean and Kanban?” My answer: “Lean is a goal; Kanban is a way to get there.”
Kanban in Software Development
David J. Anderson is credited with founding kanban within IT. In 2007 he published the book Kanban: Successful Evolutionary Change for Your Technology Business. In 2011 he started the Lean Kanban University (LKU), which established quality standards for the way Kanban is taught and practiced. According to Anderson, Kanban is not a software development process, but a method for managing, designing and improving flow systems for knowledge work. These are systems in which indeterminable work units move through different phases and finally create value for customers. A kanban system should limit the amount of work in progress (WIP) by using visual signals. Work is pulled into the system as soon as other work is completed instead of new work being pushed into the system as it is created.
Basic Values in Kanban
These values are an expression of willingness to improve services using the method. Kanban cannot be applied faithfully without adopting these values.
- Transpareny
- Balance
- Collaboration
- Customer Focus
- Flow
- Leadership
- Understanding
- Agreement
- Respect
The Three Kanban Agendas
There are three calls for action corresponding to organizational needs:
- Sustainability focuses on the inner workings of the organization. Demand ist to be balanced with productive capacity, leading to a positive influence on employee motivation.
- Service-orientation focuses on customers with the goal of the organization in mind. This is the key to success.
- Survivability looks to the future and ensures that the organization can survive change and disruption.
The Principles of Kanban
Change Management Principles
Together these aim for evolutionary improvement at all levels of the organization.
- Start with what you do now (respect the current process, roles and responsibilities)
- Agree to pursue incremental, evolutionary change
- Encourage acts of leadership at all levels
Service Delivery Principles
These focus on the user of a service and the value created for the user.
- Focus on the needs and expectations of the customers
- Manage the work; let people self-organize around it
- Evolve policies to improve customer and business outcomes
Kanban Practices
These should be undertaken by anyone managing a kanban system:
- visualizing
- limiting work in progress (WIP)
- managing flow
- making process policies explicit
- implementing feedback loops
- improving collaboratively, evolving experimentally
These practices involve clarifying rules and workflows and improving processes evolutionarily.
Arne Roock (Lean Kanban University):
Stop starting, start finishing.
The Kanban Board
A kanban board serves to visualize a workflow system. Units of work move from left to right through various phases of a process. Visual signals limit the amount of work in progress (WIP). Kanban systems also indicate criteria for commiting to and delivering work. Commitment takes place when customers and service agree on requirements or ideas for the system. Delivery takes place when work units are considered completed. The time it takes for a work unit to move from commitment to delivery is called the (system) lead time. When other aspects of the system besides this window of time are being examined, it’s called time in progress or TIP. The rate of delivery is determined according to delivered elements per time unit. If the end of a time period doesn’t result in delivery, the rate is called throughput.
Get to know the Kanban Board for all Application Possibilities
Test objectiF RPM with kanban boards free of charge for 30 days »
John D.C. Little’s law applied to the workflow in a kanban system:
Throughput = Work in Progress / Time in Process
The Cumulative Flow Diagram
While in the Kanban method described above the total approximate average work in progress (WIP) is put into relation with the approximate average lead time, the Cumulative Flow Diagram on the right shows in addition the requirements before commitment (in yellow) and what is still being tested during development (in blue). In the best case, the lines do not overlap but flow uphill in parallel.
Roles in Kanban
Kanban itself originally didn’t call for any new positions, responsibilities or job descriptions. In practice, however, two positions developed that are now defined in the method. These roles are not job titles, but rather descriptions of the purpose of the position:
The Service Request Manager is responsible for understanding and analyzing stakeholder goals and needs. She selects the work units in the Replenishment Meeting. This meeting decides which input will fill the queue for a service.
The Service Delivery Manager is responsible for providing selected elements for the customer. She is also responsible for the daily kanban meetings and the delivery planning meetings and is sometimes called Flow Manager or Flow Master.
Introducing Kanban in Organizations
STATIK (Systems Thinking Approach to Introducing Kanban) was created for this purpose. Instead of looking at system components in isolation, you need to learn to understand how a system works holistically. The goals is to improve value creation for the customer. There are eight steps which aren’t necessarily to be followed in order. Rather, an iterative approach is to be taken where each step informs and influences the others.
Step 0: Identify services
Step 1: Understand what makes the service fit for purpose for the customer
Step 2: Understand sources of dissatisfaction with the current system
Step 3: Analyze demand
Step 4: Analyze capability
Step 5: Model workflow
Step 6: Discover classes of service
Step 7: Socialize the design and negotiate implementation
Step 0: Identify Services
Step 1: Understand what makes the service fit for purpose for the customer
Step 2: Understand sources of dissatisfaction with the current system
Step 3: Analyze demand
Step 4: Analyze capability
Step 5: Model workflow
Step 6: Discover classes of service
Step 7: Socialize the design and negotiate implementation
If organizations want to assess their progress with kanban, they can do a litmus test. It consists of four central questions:
1.
Has management behavior changed to enable Kanban?
2.
Has the customer interface changed, in line with Kanban?
3.
Has the customer contract changed, informed by Kanban?
4.
Has your service delivery business model changed to exploit Kanban?