https://www.techtarget.com/searchsoftwarequality/tip/Applying-Kanban-principles-to-software-development
Though it was conceptualized outside of software development, Kanban has become the methodology of choice for many development teams today.
Kanban originated in the manufacturing world to streamline processes by focusing on just-in-time concepts. Small amounts of product were manufactured in a continuous flow. This reduced the costs associated with maintaining large inventories, reduced waste and improved quality.
These same concepts form the basis of Agile software development.
When the Agile Manifesto and its 12 principles were published in 2001, organizations used it to move away from inflexible, time-consuming methodologies, such as the Waterfall model, and toward Agile's iterative development methodologies, such as Scrum and Lean software development. These methodologies use small increments of development to enable the flexibility needed to incorporate changing priorities.
Scrum methodology uses a series of ceremonies, including backlog refinement, sprint planning, daily standup, and sprint review and retrospective. Work is pushed through the process. While this approach improves collaboration and velocity, it is difficult to make changes to the sprint commitment. Flexibility is limited.
Lean software development has a more direct connection to Kanban in the manufacturing space. Tom and Mary Poppendieck, in their 2003 book Lean Software Development: An Agile Toolkit, applied concepts such as mapping value streams, focusing on eliminating waste and implementing a pull approach to deliver as fast as possible. While Lean offers advantages, the decision-making process in Lean can be difficult.
Kanban as a software development methodology takes influence from the principles of Scrum and Lean and addresses some of the disadvantages of both.
Kanban, Scrum and Lean are not competing approaches -- they can be used alongside one another. Kanban improves Scrum and Lean approaches by visualizing the flow of work throughout the process on a Kanban board. This increases flexibility and eliminates the difficulties associated with the sprint commitment in Scrum. On a Kanban board, so-called swimlanes are added to help manage work in progress (WIP) more effectively. The lanes can be organized by team, client, tasks and so on. With a pull approach, or managing work based on client needs, work is streamlined, and waste is reduced.
Microsoft was one of the first organizations to incorporate elements of both Scrum and Kanban by successfully implementing Scrumban in 2004. Apple uses the pull approach successfully by introducing a new product and then basing manufacturing on customer demand.
Kanban is a pull system of organizing and managing work. It is built on four principles and six core practices. When Kanban is implemented with the core principles and practices in mind, it can be an effective, flexible and efficient software development methodology.
The four principles of Kanban are as follows:
The six core practices establish the pull process. In the pull process, work is not done unless there is a need for it. This requires a thorough understanding of the customers' needs.
The six core practices are as follows:
Gerie Owen is lead quality engineer at ZS. She is a conference presenter and author on technology and testing topics, as well as a certified Scrum master.
14 Mar 2024