Scrumban
Software development process |
---|
Core activities |
Paradigms and models |
Methodologies and frameworks |
Supporting disciplines |
Tools |
Standards and BOKs |
Scrumban is an Agile management methodology describing hybrids of Scrum and Kanban and was originally designed as a way to transition from Scrum to Kanban. Today, Scrumban is a management framework that emerges when teams employ Scrum as their chosen way of working and use the Kanban Method as a lens through which to view, understand and continuously improve how they work.[1] [2]
History
As the Kanban method was becoming more popular, Scrumban was created as an attempt to make it easier for existing Scrum teams to begin exploring Lean and Kanban concepts.
The first article on Scrumban, which uses the spelling "Scrum-ban", describes several levels to transition from Scrum to Kanban.[3]
Fundamentally, Scrumban is a management framework that emerges when teams employ Scrum as their chosen way of working and use the Kanban Method as a lens through which to view, understand and continuously improve how they work.
Scrumban is distinct from Scrum in the way it emphasizes certain principles and practices that are substantially different from Scrum's traditional foundation. Among these are:
- recognizing the important role of organizational management (self-organization remains an objective, but within the context of specific boundaries)
- allowing for specialized teams and functions
- applying explicit policies around ways of working
- applying the laws of flow and queuing theory
- deliberate economic prioritization [4]
Scrumban is distinct from the Kanban Method in that it:
- prescribes an underlying software development process framework (Scrum) as its core
- is organized around teams
- recognizes the value of time-boxed iterations when appropriate
- formalizes continuous improvement techniques within specific ceremonies [5]
Perhaps most importantly, the principles and practices embedded within Scrumban are not unique to the software development process. They can be easily applied in many different contexts, providing a common language and shared experience across interrelated business functions. This, in turn, enhances the kind of organizational alignment that is an essential characteristic of success.
A Framework for [R]Evolution
When Corey Ladas introduced the world to Scrumban in his seminal book, Scrumban: Essays on Kanban Systems for Lean Software Development (Modus Cooperandi Press, 2009), he boldly defined it as a transition method for moving software development teams from Scrum to a “more evolved” software development framework. In actual practice, however, Scrumban has itself evolved to become a family of principles and practices that create complementary capabilities unique from both Scrum and the Kanban Method. These capabilities have led to three distinct manifestations:
- As a framework that helps teams and organizations effectively adopt Scrum as a development methodology.
- As a framework that helps teams and organizations overcome a variety of common challenges scaling Scrum across the Enterprise.
- As a framework that helps teams and organizations develop their own set of Scrum-based processes and practices that work best for them—not to accommodate inadequacies and dysfunctions Scrum exposed, but to resolve them in a manner that was most effective for their unique environment.
The methodology
In Scrumban, the teamwork is organized in small iterations and monitored with the help of a visual board, similar to Scrum and kanban boards. To illustrate each stage of work, teams working in the same space often use post-it notes or a large whiteboard. In the case of decentralized teams, visual management software such as Assembla, Targetprocess, Eylean Board, JIRA or Agilo for Trac are often used. Planning meetings are held to determine what user stories to complete in the next iteration. The user stories are then added to the board and the team completes them, the team working on as few user stories at a time as practical (the work-in-progress, or WIP, limit). To keep iterations short, WIP limits are thus used, and a planning trigger is set in place for the team to know when to plan next - when WIP falls below a predetermined level. There are no predefined roles in Scrumban; the team keeps the roles they already have.[7]
Iterations
Work iterations in Scrumban are kept short. This ensures that a team can easily adapt and change their course of action to a quickly changing environment. The length of the iteration is measured by the number of user stories in that iteration and team velocity (the number of story points the team can complete in an iteration). The ideal length of an iteration depends on the work process of each team, and it is recommended not to have iterations exceeding two weeks.[8]
On-demand planning
The planning in Scrumban is based on demand and occurs only when the planning trigger goes off. The planning trigger is associated with the number of tasks left in the 'To Do' section of the board - when it goes down to a certain number, the planning event is held. The number of tasks that should trigger a planning event is not predefined. It depends on team velocity (how quickly they can finish the remaining tasks) and on the time required to plan the next iteration. The tasks planned for the next iteration are added to the 'To Do' section of the board.
Prioritization
It is recommended to prioritize tasks during the planning event. This means the tasks are added to the board with marked priorities. It helps the team members to know which tasks should be completed first and which can be completed later. The prioritization can be done by adding numbers to the tasks or by adding an additional priority column, where the most important tasks are put at the top and the less important tasks below.
Bucket size planning
Bucket size planning brings the possibility of a long-term planning to Scrumban. It is based on the system of three buckets that the work items need to go through before making it on the Scrumban board. The three buckets represent three different stages of the plan and are usually called 1-year, 6-month and 3-month buckets. The 1-year bucket is dedicated for long-term goals that the company has, like penetrating a new market, releasing new product, etc. When the company decides to move forward with a plan, it is moved to the 6-month bucket, where the main requirements of this plan are crystallized. When a company is ready to start implementing the plan, the requirements are moved into the 3-month bucket and divided into clear tasks to be completed by the project team. It is from this bucket that the team draws tasks during their on demand planning meeting and starts working on the tasks.[9]
The board
The basic Scrumban board is composed out of three columns: To Do, Doing and Done. After the planning meeting the tasks are added to the To Do column, when a team member is ready to work on a task, he/she moves it to the Doing column and when he/she completes it, he/she moves it to the Done column. The Scrumban board visually represents the progress of the team. The task board columns are adapted and expanded based on the team's work progress. The most common add-ons include priority columns in the To Do section and columns like Design, Manufacturing, Testing in the Doing section.[10]
WIP limits To ensure that the team is working effectively, Scrumban methodology states that a team member should be working on no more than one task at a time. To make sure this rule is followed Scrumban uses WIP (work in progress) limit. This limit is visualized on top of the Doing section of the board (also could be on each column of that section) and means that only that number of tasks can be in the corresponding column at one time. WIP limit is usually equal to the number of people in the team, but could be expanded based on the team work specifics.
To Do limits In order to have more productive planning meetings the number of tasks in the To Do section can be limited as well. The same as with WIP limits, it is written at the top of the To Do section or on top of the corresponding columns and limits the number of tasks in the To Do section or specific columns.
The team
Scrumban does not require any specific number of team members or team roles. The roles a team has prior to adopting Scrumban are kept when implementing Scrumban. They are reinforced by team members having to choose the tasks to complete themselves. The team roles in Scrumban are more specialized and less cross-functional than what is expected in scrum teams .
Pull principle
In Scrumban tasks are not assigned to the team members by the team leader or project manager. Each team member chooses which task from the To Do section they are going to complete next. This guarantees a smooth process flow, where all the team members are equally busy at all times.
Feature freeze
Feature freeze is used in Scrumban when the project deadline is approaching. It means that only the features that the team already has for development can still be worked on and no additional features can be added.[11]
Triage
Triage usually happens right after feature freeze. With an approaching project deadline, the project manager decides which of the in-development features will be completed and which will stay unfinished. This guarantees that the team can focus on finishing important features before the project deadline and forget the less important ones.[12]
Terminology
- Bucket size planning long-term planning approach in Scrumban, which is based on moving the plans through a few steps.
- Lead and cycle time the time that is taken from task creation or beginning work on a task to its completion.
- On demand planning planning technique that is executed only when there is need for new tasks on the board.
Tooling
Like other methodologies, Scrumban can be implemented with a help of various tools. The most basic Scrumban implementation is a physical whiteboard with sticky notes. Electronic solutions, similar to scrum and kanban electronic boards are available as well. They offer a full automation of the board, where it only has to be updated by the team members. Electronic boards often also provide automatic reports, possibility of attachments and discussions on tasks, time tracking, as well as integrations with other commonly used project management software.[13]
See also
References
- ↑ Ladas, Corey. "Scrum-ban". Lean Software Engineering.
- ↑ Reddy, Ajay. "Scrumban [R]Evolution- Get the most out of Agile, Scrum and Lean Kanban". Pearson.
- ↑ Ladas, Corey. "Scrum-ban". Lean Software Engineering.
- ↑ Reddy, Ajay. "Scrumban [R]Evolution- Get the most out of Agile, Scrum and Lean Kanban". Pearson.
- ↑ Reddy, Ajay. "Scrumban [R]Evolution- Get the most out of Agile, Scrum and Lean Kanban". Pearson.
- ↑ Reddy, Ajay. "Scrumban [R]Evolution- Get the most out of Agile, Scrum and Lean Kanban". Pearson.
- ↑ Vasiliauskas, Vidas. "Scrumban - mixing agile and lean". Retrieved 22 December 2014.
- ↑ Don, Wells. "Iterative Planning". Agile Process. Retrieved 14 January 2015.
- ↑ Miseviciute, D. "Scrumban: on demand vs. long-term planning". Eylean Blog.
- ↑ "Getting Started With Scrumban". About Scrumban. Retrieved 22 December 2014.
- ↑ "Feature Freeze". OpenStack. OpenStack. Retrieved 14 January 2015.
- ↑ "Software Triage". Sticky Minds. Retrieved 14 January 2015.
- ↑ "Scrumban". Eylean Board. Retrieved 22 December 2014.