Being Agile – Scrum, Kanban, Scrumban
Today Agile has become the norm for software development companies. And it’s not surprising, as this approach has proved effectiveness in a constantly changing digital world. Thanks to collaborative and efficient nature, agile methodologies (Scrum, Kanban, Scrumban) are popular in many other industries such as financial, insurance, healthcare, etc.
The core principles of Agile are described in The Manifesto for Agile Software Development, which was created almost 20 years ago. In contrast to the cascade approach (Waterfall) – a traditional project management technique dominated before, Agile is not focused on processes, tools, documentation, or following the initial plan. But on interaction and collaboration, working products, and quick response to changes.
Let’s take a look at the top Agile frameworks.
What is Scrum?
Scrum is the most popular working implementation of Agile philosophy.
The typical Scrum team consists of development specialists and two additional members – the Product Owner and the Scrum Master. The optimal number of people recommended by the Scrum Guide is from three to eight (not including Product Owner and Scrum Master). In other words, it should be just the right size to work efficiently.
The goal of the Product Owner is to ensure the development team delivers the most value to the customer. This role involves building and managing product backlog (a list of software functionality requirements)
Scrum Master, in turn, is responsible for following the most suitable Scrum practices by the entire team. Often, in reality, these roles perform certain members of the team, such as Tech Lead or Project Manager.
The strong Scrum development teams are closely-knit, self-organizing, and cross-functional, sharing all the requires experiences with each other to achieve a common goal.
The workflow in Scrum is divided into sprints – the periods of development. When the list of desired features (a.k.a product backlog) is reasy, the team proceeds to the sprint planning. One sprint lasts up to one month, depending on the complexity and ends with the Sprint review. Then the team picks the next items from the backlog and continues to work, following the same pattern.
Since each sprint is well planned, you cannot change the scope of work, until it’s completed.
Therefore, the real advantage of the Scrum is that the team can work autonomously. Since a whole sprint is determined by a specific task which team has to complete with the finished results.
What is Kanban?
Kanban is another popular framework based on Agile and Lean principles. The main focus here is on visualization, so the workflow is also displayed on board.
Unlike Scrum, this approach does not have clearly defined team roles. Although, some Kanban teams do have Product Owners.
Kanban is a continuous process, so there are no sprint limits here. The peculiarity of this framework is that tasks go directly from the product backlog into development. When developers finish something, they just pick the next highest item. While in Scrum there are in-between steps like sprint planning and sprint backlogs.
Kanban is focusing on the work in progress. So as long as the most important items are on the top of the backlog, the rest tasks can be reprioritized without interrupting the development process.
Another core principle of Kanban is imposing WIP (work in progress) limits. For example, the development team (three developers) are allowed to work maximum on two tickets, while the WIP column is limited to 5 items. This encourages developers to solve complex problems together, and signals to start a new task when empty space appears.
Kanban has a shorter workflow cycle, helps to optimize teams’ capacity and deliver better results faster.
What is Scrumban?
The last but not least agile framework worth mentioning here is Scrumban. It is usually characterized not as a hybrid of Scrum and Kanban but as a transition from Scrum to the more evolved method. After Corey Ladas introduced it in 2008, Scrumban has become popular in the software development industry and beyond.
So how Scrum becomes Scrumban?
First of all, Scrumban can have Scrum time-boxed iterations, defined roles and specific ceremonies when needed.
The similarity with Kanban is a mandatory visualization of work (Scrumban board) and practice of limiting work in the process, which actually might be quite acceptable for Scrum too.
However, the thing which really “tears Scrum apart” is the lack of usual planning and estimating.
Instead, Scrumban focuses on prioritizing and so-called Triggers points to signal a planning meeting. When the trigger goes below a certain point in the “To do” column its time for the planning.
To sum up
Scrum, Kanban, and Scrumban are arguably the most popular agile software development methodologies nowadays. Of course, each of these approaches has its pros and cons and can be less or more suitable for particular projects.
That is why, in KeyToTech, we actively practice each of them to deliver high-quality software more efficiently.