Kanban (development)

This article is about the process management and improvement method. For the lean manufacturing process, see Kanban.
Software development process
Core activities
Paradigms and models
Methodologies and frameworks
Supporting disciplines
Tools
Standards and BOKs

Kanban is a method for managing knowledge work which balances the demand for work to be done with the available capacity to start new work. Intangible work items are visualized to present all participants with a view of the progress of individual items, and the process from task definition to customer delivery. Team members "pull" work as they have capacity, rather than work being "pushed" into the process when requested.

Kanban in the context of software development provides a visual process-management system that aids decision-making concerning what to produce, when to produce it, and how much to produce. Although the method originated in software development and IT projects, the method is more general in that it can be applied to any professional service, where the outcome of the work is intangible rather than physical. The method was inspired by the Toyota Production System[1] and by lean manufacturing.[2]

Overview

David Anderson was among the first to formulate the Kanban method, for application to knowledge work. His 2010 book, Kanban,[3] describes the evolution of the method from a 2004 project at Microsoft,[4] defined using a theory of constraints approach but incorporating all the essentials of a kanban pull system, through to a project at Corbis (2006-2007) where the general practices of the Kanban method were identified. Don Reinertsen's work on second generation Lean product development[5] was most influential in the adoption of kanban system principles, and in the use of data collection and an economic model to aid management decision-making. Another early contribution came from Corey Ladas, whose 2009 book Scrumban[6] was the first to suggest that Kanban could be used to improve Scrum for software development. Ladas saw Scrumban as the transition from the starting point of Scrum to the destination of Kanban. Jim Benson and Tonianne DeMaria Barry published Personal Kanban in 2011[7] which applied Kanban to the work of individuals and small teams. Mike Burrows in Kanban from the Inside[8] explained the principles and practices of Kanban together with their underlying values, and related them to many of the earlier theories and models that shaped the method. Kanban Change Leadership, by Klaus Leopold and Siegfried Kaltenecker,[9] explained the Kanban method from the perspective of change management and provided guidance to those undertaking change initiatives. A condensed guide to the method was published in 2016, incorporating improvements and extensions arising from its practical application since the early Kanban projects.[10]

Method and principles

The Kanban method is an approach to evolutionary process change for organizations. It uses visualization via a kanban board of intangible work items—an important aspect of Kanban since it allows a greater understanding of both the work and the workflow. It also advocates limiting work in progress, which as well as reducing waste due to multitasking and context switching, exposes operational problems and stimulates collaboration to continuously improve the system.[11]

The Kanban method is rooted in two sets of foundational principles: the change management principles and the service delivery principles.

Change management principles

1. Start with what you do now:

2. Agree to pursue improvement through evolutionary change.

3. Encourage acts of leadership at every level, from the individual contributor to senior management.

The Kanban method does not prescribe a specific set of roles or process steps, but starts from the existing context while stimulating continuous, incremental and evolutionary changes to the system. The method seeks to drive out fear and resistance to change in order to facilitate beneficial change.

Service delivery principles

1. Understand and focus on your customers’ needs and expectations.

2. Manage the work; let people self-organize around it.

3. Evolve policies to improve customer and business outcomes.

The Kanban method emphasizes a focus on the customer, and the work that services their needs, rather than the activities of individuals.

General practices

In addition to the foundational principles, the Kanban method defines six general practices:

  1. Visualize
  2. Limit work in progress
  3. Manage flow
  4. Make policies explicit
  5. Implement feedback loops
  6. Improve collaboratively, evolve experimentally.

These practices all involve:

Open Kanban

Open Kanban agile and lean heritage is reflected in its core values: respect for people, courage, focus on value, communication-collaboration, and a holistic or systemic approach to change. Those values manifest in four key practices:

1. Visualize the workflow.
You cannot improve what you cannot see. Knowledge work needs a way to show progress. Kanban boards are one of the ways to display progress.
2. Lead using a team approach.
Without a team and leadership, nothing of significant value can be created or improved.
3. Reduce the batch size of your efforts (reduce BASE).
Science and the work from Donald G. Reinertsen[5] has shown that when the batch unit of work is decreased, more can be accomplished. This principle goes beyond simply Limiting Work in Progress.
4. Learn and improve continuously.
This practice implies reflecting so that one can learn from experience, and it aligns with performing retrospectives and embracing Kaizen. In addition Open Kanban itself is open source and it welcomes contributions or extensions to the method.

Examples of use

Software development

The table below shows an example kanban board for a software development workflow.[12] Boards in Kanban are designed for the context in which they are used and so vary considerably. They may show work items of different types (here "features" and "user stories") and both columns (vertical divisions delineating activities in the workflow) and swimlanes (horizontal divisions, in this example used for grouping user stories by feature). The aim is to make both the general workflow and the progress of individual items clear to participants and stakeholders.

Pool of Ideas Feature Preparation Feature Selected User Story Selected Specification Selected for Development Development
(e.g. using Scrum and XP)
Code Review Test on Local System Test on Pre-Production System Preparing for Deployment Deployed
WIP Limit ⇒ 4 5 5 2 2 3 2 2 2
In progress Ready Feature In progress Ready Planned In Progress Ready In progress Ready In progress Ready In progress Ready
Login
User Story 567
User Story 214
User Story 857
User Story 654
User Story 75
User Story 754
Register
User Story 244
User Story 751
Password Recovery
User Story 624
User Story 245
User Story 782
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
Billing
User Story 657
User Story 38
User Story 858
Policies ⇒ Write acceptance criteria Plan developer pairing Note cycle start time TDD and Refactoring Note cycle end time Check Policies Tester and Product Owner needed Check only code functionality
  • Remove Ticket
  • Note lead end date
  • Review deployment
  • Update statistics
  • Reprioritize user stories based on new estimates

Other uses

While developed for software development and software teams, the Kanban method (as distinct from kanban in lean manufacturing) has been applied in many other areas of knowledge work.[13] As a visualization and control mechanism, any repeatable and consistent workflow can be tracked, regardless of complexity or subject area. Business functions that have applied Kanban include:

See also

General articles:

Kanban Software Tools:

References

  1. Taiichi Ohno (1988). Toyota Production System: Beyond Large-Scale Production. ISBN 978-0915299140.
  2. James P. Womack (2007). The Machine That Changed the World. ISBN 978-1847370556.
  3. Anderson, David J. (April 2010). Kanban: Successful Evolutionary Change for Your Technology Business. Blue Hole Press. ISBN 0-9845214-0-2.
  4. Anderson, David J. and Dragos Dumitriu. “From Worst to Best in 9 Months: Implementing a Drum-Buffer-Rope Solution at Microsoft’s IT Department.” TOC ICO World Conference November 2005. USA: Microsoft Corporation, 2005.
  5. 1 2 Reinertsen, Donald (May 2009). The Principles of Product Development Flow: Second Generation Lean Product Development. Celeritas Publishing. ISBN 978-1935401001.
  6. Ladas, Corey (January 2009). Scrumban: Essays on Kanban Systems for Lean Software Development. Modus Cooperandi Press. ISBN 978-0578002149.
  7. Benson, Jim; DeMaria Barry, Tonianne (January 2011). Personal Kanban: Mapping Work, Navigating Life. Modus Cooperandi Press. ISBN 978-1453802267.
  8. Burrows, Mike (2014). Kanban From The Inside. Seattle, WA: Blue Hole Press. ISBN 978-0-9853051-9-2.
  9. Leopold, Klaus; Siegfried, Kaltenecker (2015). Kanban Change Leadership. Hoboken, NJ: John Wiley & Sons. ISBN 978-1-119-01970-1.
  10. Anderson, David J.; Carmichael, Andy (2016). Essential Kanban Condensed. Seattle, WA: Lean Kanban University Press. ISBN 978-0-9845214-2-5.
  11. Scotland, Karl. "Aspects of Kanban". Retrieved 13 November 2014.
  12. Jasper Boeg (February 2012). "Priming Kanban". InfoQ. Retrieved 2014-02-17.
  13. Leybourn, E. (2013). Directing the Agile Organisation: A Lean Approach to Business Management. London: IT Governance Publishing: 160–66.
  14. "Kanban for Short Intense Projects: How We Used Kanban to Visualize Our Hiring Process Workflow and Make Our Lives Easier". Personal Kanban. 2011-01-19. Retrieved 2012-08-17.
  15. "Kanban and Recruitment". The Social Tester. 2014-08-06. Retrieved 2015-06-08.
  16. "New Zealand Post Group - An Agile Executive!". Agile Business Management Consortium. 2013-12-02. Retrieved 2015-06-08.

Further reading

This article is issued from Wikipedia - version of the 11/29/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.