Agile methods have been developed to respond to changes in business over the past decades. They introduce a more structured and effective way to manage complex projects or product development. There are many choices of framework to implement Agile methods – Scrum and Kanban are two of the most popular.
The Scrum Framework
Scrum is the most popular and flexible framework for implementing agile methods and has been used for over 25 years. It introduces an iterative approach to project management, with a series of development cycles known as Sprints. Each Sprint should produce a usable product or result. Review and re-planning is then carried out be the team before beginning the next iteration.
The framework promotes good team communication and fast resolution of problems. It also acknowledges the fact that requirements can change after the project commences. There are daily meetings, or Scrums, between team members. Each Sprint is preceded by a sprint planning message.
Kanban is a more simple framework that takes a highly visual approach. The name ‘Kanban’ comes from the Japanese word for signboard. Kanban has its origins in manufacturing processes but has been adopted in software development and elsewhere since.
Projects are broken down into different increments, and a board and cards are used to track work performed in each area. This focuses on principles of delivery rather than prescribing a fixed approach.
Visualizing work should help teams focus on key tasks and clearly see the status of each piece of work. Criteria can be set for work to move between different stages.
Differences between the frameworks
Scrum and Kanban are very different approaches. Some of the principal differences to be aware of include:
- Kanban focuses on principles for project delivery rather than set rules or methods. Scrum, on the other hand, introduces a fixed methodology to follow.
- Scrum prescribes regular meetings, reviews, and communications. Kanban does not. This makes it extremely flexible, but care and experience are needed to make it work well.
- Scrum defines key roles as part of the team (including the Scrum Master and Product Owner). Kanban does not have defined roles.
- Both methods are iterative in nature. Scrum places a strong emphasis on fixed iterations with defined timescales. Kanban has no fixed times or iterations, with continuous improvement expected as work is completed.
When to use Scrum or Kanban
Both frameworks have strengths in project management and delivery. Both are used extensively in software development and many other types of projects. Often, the choice of which to use comes down to team experience or preference. Having the team committed and following the same approach is vital.
In general, though, Kanban has advantages when more flexibility is required. It imposes no restrictions on timing or when requirements can be changed. This works well for emerging or rapidly changing situations, such as sales and marketing projects.
Scrum commits teams to repeated, iterative development. This will suit some projects better. Scrum also offers a formalized adaption to handle larger, multiple team projects.
Both frameworks require training and experience. Scrum is perhaps easier for less experienced agile teams to work with, however, as it provides more project structure.