If you’re a Scrum Master or anyone using a Scrum methodology, you should be able to easily step into the other Agile worlds, like Kanban or Lean Software Development. While Kanban, Scrum, and other Agile and Lean methodologies share common goals, the executions of these are not exactly equivalent. Meanwhile, Agile project management spans them all. Learn exactly what Scrum and Kanban are, and what they are not.
What’s the difference between Agile and Lean?
Agile and Lean are both collections of values and principles guiding software development (and knowledge work in general). Agile and Lean overlap and have significantly influenced each other.
Lean manufacturing principles came first, spreading from the Toyota Production System to many domains, including the software world – particularly the Agile community – as Lean Software Development. Lean focuses on reducing waste – wasted effort, uneven task flow, and an overloading of workers – which improves the efficiency and sustainability of the Value Stream delivering value to the customer.
Agile’s birth was the Agile Manifesto, but it grew out of the long history of software methodology work on incremental and iterative development processes. Agile focuses on rapidly addressing the project’s unknowns and adapting to its changing environment, via small self-organizing teams learning from frequent incremental releases.
How do Scrum and Kanban relate?
Scrum and Kanban are software development frameworks. What’s the difference? Both frameworks follow Agile and Lean principles. Scrum is a specific implementation of Agile. Kanban is a specific implementation of Lean. They are lightweight frameworks in contrast to heavy-weight systems like CMMI and RUP, they only prescribe a handful of practices (in the case of Kanban), or a double-handful (Scrum). Beyond those required elements, you mix in what works for you. A common option is combining Scrum with Kanban.
How Scrum Works
Scrum may be the most popular Agile framework. If you visit a team following Scrum, you will find one person who is the agreed-upon “voice of the customer,” known as the Product Owner, who maintains and prioritizes the Product Backlog of feature requests for the product. There will be a Scrum Master who facilitates and protects the team and the process, and keeps things going. There will be other team members – developers, testers, writers, etc. – who are working on a Sprint (a short-duration milestone yielding a functioning release of a manageable chunk of the product). Before this Sprint started, a Sprint Goal was defined where User Stories were selected from the Product Backlog, estimated, and placed on the Sprint Backlog.
At brief daily stand-up meetings (Scrums), each team member shares the past day’s accomplishments, the plan for today, and any obstacles encountered. When the Sprint is complete, the release will be demoed to the product owner for feedback in a Review and the team will discuss where the process can be improved in a Retrospective.
How Kanban Works
Meanwhile, if you visit a team following Kanban, you will see a Kanban Board with multiple columns, the first perhaps labeled “Unstarted” and the final column “Done.” There may be one “In Progress” column in the middle, or multiple columns to break the stages of the workflow down. Tasks – for a physical board, these could be sticky notes – will be gradually traveling from the first column to the last as team members work on them. All but the last column will have a number attached: the Work in Progress Limit, the maximum number of tasks allowed in that column. When a column hits its limit, a task must leave it before a new one can enter from the preceding column. Team members will swarm those stalled tasks to address the backlog and will analyze what issue is slowing down that stage of the workflow. The team will also know the average time it is currently taking a task that has left “Unstarted” to arrive in “Done” – the Lead Time.
Similarities and Differences
Both Scrum and Kanban break work into pieces and promote early and frequent releases, and both limit work in progress in some fashion. Both track tasks via a scheduling system, often using a visual display for transparency. In Scrum, the default metric for process improvement is velocity (the slope of the Burn Down Chart). In Kanban, it is cycle time (Lead Time).
Kanban is more minimal than Scrum. It can be a lightweight alternative for simple projects or used as an add-in to enhance a different Agile framework. Scrum has more practices so it provides more guidance and thus requires more things – specific roles, cross-functional teams, estimation, timeboxed iterations, sizing of tasks to fit an iteration, etc.
Agile Project Management
Agile project management spans the various Agile and Lean frameworks. There are many commonalities – for instance, most planning is done in small chunks. But the particular framework (or frameworks) prescribe a set of roles and practices that shape the project. Scrum’s practices are a concrete example. Consistent with the Agile goal of adaptive, self-organizing teams, Scrum distributes the traditional duties of a project manager among the three roles – Product Owner, Scrum Master, and team members.
Agile and Lean software development share common goals, but roles and practices differ between frameworks. All address how a team can create something new despite incomplete knowledge, significant unpredictability, a frequently changing environment, and limited resources. Knowing the options, picking the right development framework, and enhancing it for your specific situation will promote success.
If you’re just starting with Agile methodologies, Scrum Master and CBT Nuggets trainer Simona Millham recently completed her Scrum Essentials course, which prepares you to pursue Scrum certifications.