In recent times, there has been a movement in the IT industry emphasizing the need for effective delivery while meeting customer needs through organized planning and concentrated focus. Such a movement has resulted in bringing about innovations in the methodologies we use to deliver end product to our clients. The two resultant practices of this movement are Agile (Scrum, XP) and Lean software development (Kanban).
A lot is already known about the Scrum Principle, the three empirical principles of visibility, inspection and adaptability, and the ‘Sprint Planning, Daily Scrum, Sprint Review and Retrospective’ bit. The volume of knowledge available is primarily because of these principles having been applied and working software tested which is delivered at the end of each sprint.
So what is Kanban?
Kanban is essentially a method for managing product / application creation with an emphasis on continual delivery, while not overburdening the development team in terms of just-in-time (JIT) production. Like Scrum, Kanban is a process designed to help teams work together more effectively, and is based on the following three basic principles:
Visualize what the team does today (workflow):
1. Seeing all the items with regard to each other can be very informative
2. Split the work into parts, write each item on a card and put it on the wall. Call it the Task board
3. Use named columns to illustrate where each item is in the workflow
Limit WIP (Work In Progress): Assign definite limits on how many items may be in progress at each stage in the workflow
Enhance flow: When something gets completed, the next highest priority item from the backlog is pulled into play
Scrumban – Applying core principles of Kanban to Scrum
When Scrum team meetings are happening regularly and everything is working smoothly, there is no point of concern. However, if that is not the case, Scrum team should be concerned about the stories leak out, calculating right velocity, and estimation inaccuracies. Then, an improvement can be brought in by applying the Kanban lean principles to Scrum.
Visualize – Making the invisible work and its workflow visible
Scrum teams visualize work in various ways, one among them being the Burndown Charts. Another effective way is utilizing the Task board. This is just not used to visualize the sprint backlog items (tasks), but also to take a count of the product backlog items (user stories), i.e. making the flow of work into and out of the sprints visible, since many teams have difficulties with this aspect.
Limit WIP – Adopting the crown jewel of Kanban
Sprint Backlog in itself is a WIP limit. Scrum teams in sprint planning meetings commit to the product backlog items and these would never be changed during the sprint. But in Scrumban, with no specific time commitment, teams must limit themselves through the use of Work in Progress limits on columns within their task boards. The goal is always to move product backlog items in a flow from left to right on the board. If too many user stories are in progress, teams are at risk of not finishing anything to standards. Instead, there should be a maximum number of user stories allowed per column. If the number of tickets in that column ever exceeds the maximum, the entire team should jump onto that column and help move user stories on.
Enhance flow – Using Kanban Metrics
Scrum uses velocity, the amount of story points delivered by a team by the end of the sprint. Velocity has been misused for a long time now. The teams’ performance and productivity are usually gauged by velocity, and this might result in teams just concentrating on achieving the established velocity resulting in deliverables of less quality.
Instead of velocity, Scrum teams can start using cycle time, which is defined as the time taken to complete a user story from the day the work was initiated. Over time, a statistical analysis of all user stories in the project can yield a mean cycle time and standard deviation. This can be a useful planning tool at a macro level, as it is trivial to add up the number of stories and multiply by the mean cycle time.
Scrumban adds value to teams effectively utilizing the visibility inspection and adaption for their success by concentrating on what stakeholders need without overburdening themselves. Most importantly, it can limit teams’ work in progress.