Kanban

Kanban is a Japanese word. It means signboard or billboard. This concept is developed at Toyota to improve manufacturing efficiency.

Now, let's look into Kanban as methodology for software development:

Kanban is a method for managing the creation of products with an emphasis on continual delivery while not overburdening the development team. Like Scrum, Kanban is a process designed to help teams work together more effectively.

KANBAN

SCRUM

  • No prescribed roles
  • Continuous Delivery
  • Work is Pulled through the system
  • Changes can be made at any time
  • Cycle time
  • More appropriate in operational environments with a high degree of variability in priority
  • Pre-defined roles of Scrum master, Product owner and team member
  • Timeboxed sprints
  • Work is pulled through the system in batches (the sprint backlog)
  • No changes allowed mid-sprint
  • Velocity
  • More appropriate in situations where work can be prioritized in batches that can be left alone

Benefits of Kanban:

  • Shorter cycle times can deliver features faster.
  • Responsiveness to Change:
  • When priorities change very frequently, Kanban is ideal.
  • Balancing demand against throughput guarantees that most the customer-centric features are always being worked.
  • Requires fewer organization / room set-up changes to get started
  • Reducing waste and removing activities that don€™t add value to the team/department/organization
  • Rapid feedback loops improve the chances of more motivated, empowered and higher-performing team members

The 4 Core Principles of Kanban:

  1. Start With What You Do Now
  2. Agree to Pursue Incremental, Evolutionary Change
  3. Respect the Current Process, Roles & Responsibilities
  4. Encourage Acts of Leadership at All Levels

The 6 Practices of Kanban:

  1. Visualize the Workflow
  2. Limit Work in Progress
  3. Manage Flow
  4. Make Process Policies Explicit
  5. Feedback Loops
  6. Improve Collaboratively