Is Kanban an Agile methodology?

I'm hearing a lot of people talking about Kanban. Is that an Agile methodology?

    Requires Free Membership to View

    When you register, you'll receive targeted emails designed to keep you informed of the most relevant information on Agile development, application security, testing & QA, software requirements, and more.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchSoftwareQuality.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchSoftwareQuality.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

As Agile has been more widely adopted, a lot of competing labels and brands are emerging. The terminology can get confusing.

The best definition of Agile that I’ve heard comes from Elisabeth Hendrickson. Agile development means that we deliver value to the business frequently (at least once per quarter), and at a sustainable pace (e.g., 40-hour weeks). Each development team needs to experiment to find the processes and practices that help us produce the right features while keeping technical debt to a manageable level.

Kanban isn’t a methodology; it’s one tool a team might choose to manage its workload, limit work in process (WIP), and make its progress visible. It was adapted from a Lean manufacturing process designed to keep just enough inventory available to maintain productivity and reduce waste. The word “kanban” means “signboard” in Japanese. In kanban, cards are used to signal the need to “pull” more inventory for some part of the manufacturing process. For example, a kanban card is inserted near or at the bottom of a bin of inventory components at a workstation. When the worker gets down to the card, they use it to order more inventory just in time to keep from running out.

In software development, a Kanban board is a good way to track work in progress and make impediments obvious. So is a Scrum story or task board. They are all big visible charts that help enforce the principles that a team must be allowed to manage its own workload, and that taking on too many user stories or tasks at one time is counter-productive. It’s worth experimenting with different types of planning and tracking mechanisms to find what works best for your team.

More important than tools such as Kanban are core Agile principles. Lean manufacturing, and thus Lean software development, is based on respect for people and creating knowledge. When all team members have time and resources to continually learn and improve, the team will keep finding ways to work better and increase quality. Use Lean values and the principles behind the Agile Manifesto to guide your team’s selection of methodologies and tools.

As Olaf Lewitz points out, some teams fall into the trap of using a Kanban board, setting comfortable WIP limits, and then not continuing to improve. Don’t stop with the introduction of a new process or tool. 
 

This was first published in October 2011