Kanban (development)

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

Kanban is a method for managing knowledge work with an emphasis on just-in-time delivery while not overloading the team members. In this approach, the process, from definition of a task to its delivery to the customer, is displayed for participants to see. Team members pull work from a queue.

Kanban in the context of software development can mean a visual process-management system that tells what to produce, when to produce it, and how much to produce - inspired by the Toyota Production System[1] and by Lean manufacturing.[2]

The Kanban method or LKU Kanban

The name 'Kanban' originates from Japanese[看板], and translates roughly as "signboard" or "billboard". It was formulated by David J. Anderson[3][4] as 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. Visualisation is an important aspect of Kanban as it allows to understand the work and the workflow.[5] Kanban is rooted in four basic principles:

Start with existing process
The Kanban method does not prescribe a specific set of roles or process steps. The Kanban method starts with existing roles and processes and stimulates continuous, incremental and evolutionary changes to the system. The Kanban method is a change management method.
Agree to pursue incremental, evolutionary change
The organization (or team) must agree that continuous, incremental and evolutionary change is the way to make system improvements and make them stick. Sweeping changes may seem more effective but have a higher failure rate due to resistance and fear in the organization. The Kanban method encourages continuous small incremental and evolutionary changes to your current system.
Respect the current process, roles, responsibilities and titles
It is likely that the organization currently has some elements that work acceptably and are worth preserving. The Kanban method seeks to drive out fear in order to facilitate future change. It attempts to eliminate initial fears by agreeing to respect current roles, responsibilities and job titles with the goal of gaining broader support.
Leadership at all levels
Acts of leadership at all levels in the organization, from individual contributors to senior management, are encouraged.

Open Kanban

Open Kanban is an open source, Agile and Lean based method to deliver value for knowledge work like information technology, software development, business, product development or personal organization. On the Lean side it is inspired on the work of Taiichi Ohno (Toyota Production System), Eliyahu Goldratt (Theory of Constraints) and Edward Deming. On the Agile side it takes inspiration from the Agile manifesto signers, and in addition contributions from Alan Shalloway’s Kanban for Teams, Corey Ladas Scrumban and David Anderson's early Kanban work.

It innovates by making the whole method fully open source and free to improve or modify, under the CC BY license. Open Kanban was written by Joseph Hurtado, and it has been translated by members of the community to French, Italian, Portuguese, Spanish, Russian and Ukrainian.

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 4 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 or Reduce BASE.
Science and the work from Donald G. Reinertsen 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.

Kanban board example

Kanban Software Development Workflow[6] complements the Scrum, XP and Waterfall models.

Workflow ⇒ Inbox Specification Ready for Development Development
(e.g. using Scrum and XP)
Code Review Test on Local System Test on Pre-Production System Ready for Deployment Deployed
WIP Limit ⇒ 5 2 2 3 2 2 2
Feature In progress Done Planned In Progress Done In progress Done In progress Done In progress Done
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
  • Antipatterns
  • Unit tests
  • Integration tests
  • Code coverage
  • Deployment issues
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

See also

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 (September 2003). Agile Management for Software Engineering: Applying the Theory of Constraints for Business Results. Prentice Hall. ISBN 0-13-142460-2.
  4. Anderson, David (April 2010). Kanban - Successful Evolutionary Change for your Technology Business. Blue Hole Press. ISBN 0-9845214-0-2.
  5. Scotland, Karl. "Aspects of Kanban". Retrieved 13 November 2014.
  6. Jasper Boeg (February 2012). "Priming Kanban". InfoQ. Retrieved 2014-02-17.

External links

Look up kanban (development) in Wiktionary, the free dictionary.