Project management world, especially software project management world is abuzz nowadays with two approaches – Scrum & Kanban. Scrum and Kanban are both highly sought after Agile methodologies that have helped organisations streamline their projects and complete them with increased efficiency. There are various similarities as well as differences between them, yet both have proven to give results whenever adopted. To understand the differences, it is essential we first understand what are Scrum and Kanban concepts?
Scrum follows Agile methodology to carry out complex projects. It focuses on team collaboration and creation of a framework such that the team is completely committed to create innovative solutions for all challenges. There are small set of rules which need to be followed to the letter.
Kanban is another similar yet slightly different framework that is used to implement Agile methodology. Kanban breaks down tasks into manageable chunks and uses a Kanban Board to visualize those tasks as they progress through the workflow.
Both Scrum and Kanban strive to increase quality along with productivity and bring efficiency in the organisation. However there are a few key differences between them.
Roles and responsibilities:
In Scrum, every individual has a set role and responsibilities. They are assigned the roles of Scrum Master, Product Owner, Team members or Stakeholders where every role has its fixed responsibilities and no one ideally should play more than one role at a time.
Kanban does not have set roles and it provides complete flexibility in terms of individual responsibilities. In the absence of roles, individuals are assigned work according to their specialisation or preference.
Commitment
Scrum Teams are required to commit to specific amount of work. It is important to identify all the tasks, prioritise them and estimate the number of hours each task will take or number of story points that are assigned to it. A commitment should then be provided based on this estimate.
Commitment is optional for teams following Kanban. Thus, teams work at their natural speed. Sometimes they may deliver more while other times they may deliver less in the same time duration.
Addressing Obstacles
Since Scrum demands commitment, any obstacles that arise need to be immediately dealt with. The earlier it is done, the better they can retain their momentum and deliver accordingly.
The work and progress in Kanban is completely transparent and so the teams can spot obstacles and bottlenecks easily. They are thus able to avoid such obstacles and ensure smooth flow of work.
Types of teams
In Scrum, cross functional teams are necessary as they are better able to deal with any disruption that may cause a bottleneck in the process. However cross functional team doesn’t mean that everyone is equipped to perform every task. It means that certain members of different teams should be equipped with various other important skills, and utilise them as and when required.
Instead of cross functional teams, Kanban encourages specialised teams as the workflow is intended to be used by any and all teams involved in the project.
Focus of team
In Scrum, all the teams focus to collaborate and complete the tasks to produce something greater. Scrum encourages conducting daily ‘standup meetings’ to educate every member of other’s responsibilities. They work together and help each other to achieve their team goals.
In Kanban, teams strive to achieve goals and reduce the amount of time to complete the entire process. A reduction in the average time cycle is one of the indicators of success here.
Iterations
Since Scrum places heavy emphasis on its schedules, new items cannot be added to ongoing iterations. Only when the current sprint is completed can they take on another sprint. Gradually teams get adept at estimating and scheduling sprints accordingly.
Kanban is more iterative in nature due to lack of timeframes. And so new items can be continually added whenever additional capacity is available. When any tasks moves from ‘in-progress’ stage to ‘completed’ stage, a new task can take its place immediately.
Ownership
A sprint backlog is owned by only one team at a time as Scrum encourages cross functional teams. Each team has all the necessary skills to successfully complete all the tasks during the sprint.
Kanban boards have no ownership. They can be shared by multiple teams as everyone is dedicated to their own relevant tasks.
Many large companies have adopted either Scrum or Kanban for project management. Teams in companies like Apple, Valve, Google, Amazon are using Scrum whereas some like HP, Pixar, Zara, Spotify have gone for Kanban.
It is clear that both Scrum and Kanban have their merits and demerits. It should be noted that Kanban usually works well with smaller projects whereas Scrum is much more beneficial for large projects. It depends on the team which framework it believes will be best suited for achieving the end goal. .
Do you know of any other key differences between Scrum & Kanban? Let us know in the comments.
Good one – but I feel the crucial difference is not highlighted enough – scrum works best for time-boxed events, and kanban supports a constant flow of tasks. It’s the main thing any newcomer needs to learn before teams get tangled up in a process that they preferred for wrong reasons 😉 Do see more of what I mean here: https://kanbantool.com/blog/kanban-or-scrum-which-for-whom-and-why Cheers!
Kanban comes from the production line (particularly car manufacturing plants). It works there because you are looking to deliver a comparatively stable process – and it encourages ownership of the process and continuous improvement. Part of the success of Kanban is tied to spotting variability and bringing it under control; much of which is achieved by giving the team autonomy to do this. In the software world, Kanban works best for either simple or routine processes (e.g. support, recurring processes, maintaining infrastructure, routine development, etc). It can also work well for delivering well defined projects.
Scrum is intended to work where the solution isn’t known at the start of the process. It includes the ability to define the outcomes, along with designing the solution. This is more typical of software development, particularly in more modern environments where requirements are constantly moving. Scrum is a planning model, where the work that will be done in each sprint is planned and can be measured. As such it is better equipped to complete work where estimation is required.
Both approaches are based on the core agile principles and much of the value of agile rests in these principles, rather than the specific practices (so encouraging communication and collaboration is critical; the means by which you do this can vary from situation to situation). That means it’s not black and white: teams can very successfully deliver big, complex software development projects using Kanban or use Scrum to support on-going activities – if they get the core principles right.
Pingback: Importance of Release Notes - Amoeboids