What is Scrumban?
Scrumban is a hybrid agile development framework which combines scrum and kanban. It combines important features of both these methods and is now an agile framework on its own. The structures and routines of scrum are clubbed with the flexibility of Kanban. Thus, it is a very versatile approach to development. This aims to make teams more efficient and productive.
Also, for teams moving from scrum to Kanban, Scrumban can act as an intermediary. A direct transition from one to the other could be hard on teams. Hence, adopting this intermediary makes the transition easier. In fact, this transition was the original purpose of Scrumban. But, this new method isn't as popular as the other two methods which most agile practitioners know of.
So, now that we know what Scrumban basically is, let's understand more about it. We will see how it came about and how it combines the principles of scrum and Kanban.
Scrumban = Scrum + Kanban
To get to how Scrumban combines scrum and Kanban, we need to first see the basics of how each of these works. Then, let's understand how the nuances of either framework are combined together,
As we know, scrum is a method of agile software development. The scrum framework aims to maximise the speed of delivery and make it easy for the team to adapt to change. Making use of scrum, teams are divided into very specific roles. These roles include scrum master, product owner and the team at large.
When working on a project, the team divides the work among themselves. They stipulate a timeframe for completion, called a sprint. These sprints range from a week to a month on most projects. The team decides what tasks each developer will do during a sprint meeting and the dev then works on just these.
Before every sprint, the team holds a sprint meeting to decide what tasks to take up next and how to divide the work. Also, before each day's work starts, the team meets for a small standup to discuss the tasks.
Kanban is a visual approach to workload management. The team makes use of a Kanban board and cards to show the status of the project. The tasks are grouped based on the stage they are at in the process. These stages could be named 'To start', 'Work in progress', 'Completed', etc. based on the team and the project.
The team moves the cards containing brief info about the particular task in these stages. Cards move forward or backwards depending on the status of the task. For example, a task could be undergoing review and then move back to 'Work in progress' if changes are needed. This visual representation of tasks makes it easy for the team to understand the project. It also provides flexibility in the process and isn't a rigid structure. Usually, there's a limit on the number of things that can be in progress and this reduces chaos.
Teams that make use of Kanban focus on lead time and aim to minimize this lead time and maximise efficiency.
How does Scrumban work?
Here, let's understand the steps through which Scrumban combines scrum and Kanban. This method applies the flexibility and visualization of Kanban to scrum. It also eradicates the rigidity of scrum and allows room for customization in teams.
These are some of the main aspects in Scrumban:
1. Iterations in Scrumban
Like sprints in a scrum, the Scrumban method focuses on completing the work in iterations. These span over two weeks or so each. But, there are some differences compared to the regular scrum approach.
Unlike scrum, these iterations are shorter and usually don't take over a couple of weeks. Also, instead of assigning tasks, team members are allowed to choose their own tasks.
2. On-demand planning
Kanban functions using need-based planning. This is also emulated in Scrumban. Only when the number of tasks in the 'WIP' column fall, then the planning sessions are held.
There is no set number of tasks that is uniform across teams to mark this threshold. Instead, how many tasks should be there depends on the complexity of the project and the needs of the team.
3. Bucket size planning
To make it to the Scrumban board, the tasks need to go through three different buckets. This putting into buckets of tasks allows the team to plan for the long term. The three buckets are as follows:
1. One year bucket:
The long term goals of the company are included here. These are usually vague ideas on stuff like targeting a new market or releasing a new product.
2. Six month bucket:
Broad ideas in the one year bucket are now turned to approved plans and moved to the six-month bucket. The main requirements of the plan are now finalized.
3. Three month bucket:
When the team is ready to start working on the plans, these are turned into achievable tasks and placed in the 3-month bucket. During the on-demand planning meetings above, the team takes tasks from this bucket.
4. Prioritization of tasks
During planning, the team prioritizes tasks that they can pick from in the order of need. Either numbers are added to mark this or the tasks are placed in columns which show the order.
5. No set roles in Scrumban
In scrum, there are specific roles for team members. In Kanban, the team consists of project management specialists and generalists. Scrumban, on the other hand, gives equal priority to all members. They can choose the tasks they want to work on.
6. Scrumban board
Somewhat like Kanban, the Scrumban board places tasks in 'To Do', 'Doing' and 'Done'. These are then expanded to fit the needs. For example, in the middle section you'd also find Design, Manufacturing and Testing.
7. Scrumban has limits on WIP and To-Do items
As mentioned earlier, a 'WIP (work in process) limit' is also set so that teams do not overburden themselves. A team member works on no more than one item at a time to maximise productivity. Similarly, the number of tasks in the To-do section are also limited.
8. Feature freeze
When the deadline is approaching, a feature freeze is applied. In this, the team doesn't take on any new features and only works on completing the existing ones.
Right after feature freeze, the PM decides which features to actually complete. Only these are then worked on before the deadline and the others are ignored in this iteration.
History of Scrumban
We've earlier established that Scrumban is a way to transition from scrum to Kanban. Corey Ladas, a Lean-Kanban practitioner developed it for this very purpose. He wished to move from scrum to a more evolved framework. Corey is the author of 'Scrumban - Essays on Kanban Systems for Lean Software Development'.