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 dont 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:
- Start With What You Do Now
- Agree to Pursue Incremental, Evolutionary Change
- Respect the Current Process, Roles & Responsibilities
- Encourage Acts of Leadership at All Levels
The 6 Practices of Kanban:
- Visualize the Workflow
- Limit Work in Progress
- Manage Flow
- Make Process Policies Explicit
- Feedback Loops
- Improve Collaboratively