Kanban vs. Scrum: Which One Is the Better Approach to Use in 2018?
Scrum or Kanban? Kanban or Scrum? ...Scrumban? Find out a little more about these methodologies and the difference between them here.
Join the DZone community and get the full member experience.
Join For FreeAccording to PMI, in a recent study, 46% of surveyed organizations use or have used an Agile or hybrid Agile approach over the course of last 12 months. The Agile framework sets itself apart from the traditional methodologies due to its flexible and iterative approach that leads to efficient workflow, timely project completion, with mitigated bottlenecks and roadblocks.
Although Agile comprises a number of approaches, each holding its own importance in different environments, these approaches are often misinterpreted or confused for each other.
In this post, we attempt to clarify common misunderstandings related to Kanban versus Scrum.
Both Scrum and Kanban are Agile approaches designed and developed for streamlining workflow and team collaboration for optimum results. Agile, as opposed to the more conventional Waterfall approach, gives more flexibility and follows a more modular approach, while provisioning for iterations as the project team goes along.
Although both of these approaches have been incorporated in project management and other industries as well, they remain significantly in use by the software industry.
You can gauge the popularity of Agile in the software industry through the findings from a survey by Stack Overflow, which discloses that 85.9% of 101,592 international surveyed software developers use Agile in their work.
Let’s have a deeper look at the different characteristics in Kanban versus Scrum and vice versa.
When to Use Scrum
Scrum has been growing in popularity over the years and has captured the attention of thousands of professionals. According to a survey by Scrum Alliance involving about 5000 people, the overall success rate of projects delivered using Scrum is 62%.
Scrum is an ideal Agile approach for projects that require streamlining from ideation to implementation. You can establish a complete project implementation plan by devising team roles and allotting intervals to be used as milestones. The team stays in sync with the customers and management throughout the development process.
When to Use Kanban?
Kanban, too, has been proven to show incredible improvements in project development cycles. According to a research paper by Peter Middletone and David Joyce, using Kanban in software development has been shown to improve lead-time for software delivery by 37%, resulting in rising consistency of delivery by 47%, and defects reported by customers fell by 24% compared to the previously used Agile method.
Kanban is a more preferred approach in project development cycles that require continuous improvement in gradual increments. Focusing around the Kanban board, this approach helps teams have a visual idea of what is going on in the project and what is next to come.
You can have an entire project plan laid out and apply the Kanban approach to ensure the team is on the same page and that tasks are being completed on time.
Scrum Team Roles and Responsibilities
The Scrum approach revolves around 3 main roles: Product Owner, Scrum Master, and the development team. The Product Owner is responsible for defining and finalizing a list of tasks to be completed in a given time interval (Sprint).
This list of activities is known as the Product Backlog. The Scrum Master facilitates the Scrum team in multiple ways.
The Scrum Master assists the Product Owner and the development team in understanding the requirements for carrying out the Scrum approach. S/he makes sure the team is adhering to the specified rules and policies necessary for project completion and removing any ambiguities between the Product Owner and the development team.
The development team is the set of individuals that work on the specific project. These individuals may include programmers, testers or business analysts.
Team Roles in Kanban
The Kanban method does not specify any team roles. No individual is responsible for any stage of the project development or accountable for the performance of any team.
Instead, the team collectively works towards project completion through completing tasks assigned to different team members. Identifying issues or problems, sharing task status, or changes to be made are displayed by the assigned individuals on the Kanban board.
How Are the Iterations Established?
Scrum Iteration
In Scrum, work is broken down into different sections, each called a User Story. The Product Owner discusses the customer requirements on priority and the milestones to be covered in a certain time. Each User Story is translated into a Product Backlog by the Product Owner.
Each Product Backlog comprises a list of tasks and activities to be completed in a given time interval. This time interval, also known as the Sprint, can be anywhere between seven days to a month or even two months, depending on the requirements of the customer and project work patterns.
While working on the Product Backlog, the team holds a daily, stand-up meeting, known as the Daily Scrum. In the Daily Scrum, the team, Product Owner, and Scrum Master highlight the work under process including the tasks to be completed, the completed tasks and any bottlenecks encountered during the process.
The Daily Scrum helps in keeping the work clear and transparent. It also allows for timely identification of problems incurring so that they can be resolved on time. In certain cases, it is recommended that management and customers be a part of the Daily Scrum so that the project progress stays in sight.
Kanban Iteration
In Kanban, the work is broken down into smaller sections and displayed on a Kanban board. The Kanban board is visible and accessible to the entire team. The Kanban board exhibits each element of the work being done in the form of columns. These columns can depict the stages of the workflow, i.e. Progress, Testing, Ready for Release, and Release, or be defined as To Do, In Progress, In Review, Blocked, and Done. This demonstrates exactly where the project lies in the project development timeline.
Also, to measure task completion cycle, Kanban makes use of Work in Progress (WIP). Through WIP, a limit is predefined pertaining to how many tasks can be listed under that specific status. At any point in time, the number of tasks listed on the Kanban board cannot go beyond the defined limit.
Instead, the tasks listed earlier need to be worked on and completed. This is particularly useful to avoid having too many tasks under a certain status, which may affect the workflow. The team is required to finish the pending items before addressing the new ones.
Learn more about the Agile Iterative Approach here.
Kanban and Scrum Features
When it comes to Scrum versus Kanban, here is a summary of the salient features you can avail:
Description |
Scrum |
Kanban |
Purpose |
Planning to Delivery |
Consistent improvement |
Task Presentations |
User Stories/Product Backlogs |
Columns or Kanban Cards |
Iterations |
Fixed length sprints |
Continuous flow |
Activity completion |
End of Sprint (depending on Product Owner's approval) |
Continuous delivery (depending on the team) |
Team Roles |
Product Owner, Scrum Master, Development Team |
No specified roles |
Metrics |
Velocity is key. Burndown charts depict the work completion status |
Lead time and Cycle time. Use of Cumulative Flow Diagrams (CFD), Cycle time histograms, etc. |
Kanban or Scrum? Which One to Use?
There is no one-size-fits-all approach when it comes to Agile frameworks. It is important to understand the type of organization, the team, and the project category before identifying and adopting a suitable project development approach.
A key difference you can keep in mind while assessing Scrum versus Kanban for your project and team requirements may be if you need a more structured approach and the customer is specific about the requirements from the beginning to end, Scrum seems to be a more likely option.
However, if the pattern is not fixed and the customer is flexible as long as the product is being improved continuously, Kanban may be your thing.
If unsure, you can attempt to understand both approaches and carry out an experiment with small, non-critical projects. This will help you better assess which approach gives you more value and helps you reach your project goals faster and efficiently.
As mentioned above, you can even look into a “Scrumban” approach – which I’ll discuss shortly – that allows you to combine aspects of both these methodologies and you can customize it according to requirements.
Scrum + Kanban = Scrumban?
Despite focusing on different elements in the software development life cycle, Scrum and Kanban share similarities in a few ways. First of all, both Scrum and Kanban help in making work more manageable by breaking it down into smaller sections.
This is especially useful while undertaking complex and large-scale tasks and projects on the enterprise level. Secondly, both these approaches facilitate and optimize team communication and collaboration by keeping work transparent and easily monitored.
Plus, by implementing these approaches, teams can identify issues and risks, continuously work on improvements and accommodate changes without incurring high costs and without jeopardizing the project progress.
In fact, there is an approach termed as Scrumban that combines specific entities in both methodologies for project implementation, problem-solving and improvements. In fact, a study by Scrum Alliance states that 43% of professionals combine Scrum with Kanban.
Which Tools Can I Use?
Scrum:
Some of the project management tools that can help you easily incorporate Scrum into your workflow include nTask, Icescrum, Asana, ScrumDesk, OrnageScrum and more.
Kanban:
You can adopt Kanban into your work pattern with software tools including Kanban Flow, Kanbanize, Leankit, Trello, Zenhub and more.
Scrumban:
If you want to work with a hybrid approach that combines Scrum and Kanban, you can look into tools designed to help you implement Scrumban, such as Yodiz, Kanban Tool, SwiftKanban and more.
Which Agile methodology do you use and recommend for project development cycles when it comes to Scrum versus Kanban? Let us know in the comments below.
If you enjoyed this article and want to learn more about Scrum, check out our compendium of tutorials and articles.
Published at DZone with permission of Fred Wilson, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Trending
-
Clear Details on Java Collection ‘Clear()’ API
-
Testing Applications With JPA Buddy and Testcontainers
-
Top 10 Pillars of Zero Trust Networks
-
Cypress Tutorial: A Comprehensive Guide With Examples and Best Practices
Comments