This is a guest post by Nishi Grover Garg.
Agile is a big umbrella that covers a number of different approaches, and there is always scope for more. There are so many flavors because agile is a mindset that allows flexibility in its processes. Two of the more popular approaches are Scrum and Kanban.
Scrum and Kanban apply agile principles in their own way to empower effective delivery cycles. “Scrumban” is a term coined for a hybrid approach making use of both Scrum and Kanban principles.
Let’s explore the differences among the three methodologies and see which may be right for you.
Scrum is the most popular agile framework. It is iterative and incremental in nature and focuses on tight delivery timelines. The release time frame is split into small iterations called sprints. Work items are planned for each sprint in the form of user stories and tasks, which are prioritized based on value. Teams are small, cross-functional and self-organizing, with a product owner, a ScrumMaster and the development team.
Scrum provides channels for communication through ceremonies such as the sprint planning meeting, the daily standup meeting, the sprint demo, and the sprint retrospective, all of which contribute to the overall pace and a flexible approach to software development.
Scrum uses task boards to track the flow of work and act as the focal point of the daily standup meeting and discussions.
Sprint burndown and release burnup charts are used to monitor the progress of work.
Scrum seems to work best with new product development projects and when the team is focusing on a single project at a time.
Kanban is focused on continuous delivery based on lean principles. It’s based on the flow of work and just-in-time delivery and promotes process improvement. Kanban aims to eliminate waste, increase productivity and efficiency, and have flexibility in production. The main goals are to limit work in progress (WIP), avoid multitasking and recognize bottlenecks.
The Kanban board essentially consists of three phases: Input, Work in Progress and Output. Columns under each designation can be used to signify more important tasks and priorities. The tasks in backlog are added to the board with small descriptions and are assigned to team members using the “pull” principle, based on priorities.
The numbers on top of each column in the Kanban board represent the maximum number of items permitted to be in that stage at any point in time. Tasks must continuously move ahead, and only then can new tasks be started.
Performance is measured by lead time (the amount of time taken to complete one task) and cycle time (the amount of time a task spent in WIP or in production except the queue). Kanban does not have predefined iterations, but teams may use short time scales, like weekly goals, or longer plans, like quarterly goals, while still working in a continuous fashion.
Kanban is best used for production support or for projects where teams have a continuous influx of work, production issues, or unplanned requests or tasks.
First introduced a decade ago by Corey Ladas, Scrumban was intended as a transitional state for Scrum teams moving to Kanban but later emerged as a framework of its own. It now leverages elements of Scrum and Kanban and focuses on continuous work with short cycles for planning.
Fundamentally, Scrumban is a management framework that emerges when teams employ Scrum as their chosen way of working but use Kanban as a way to view and understand work and continuously improve their processes.
Tasks are taken up using the “pull” principle from the backlog of items on the board, so people can decide to take up the task they want. WIP limits are used to avoid bottlenecks and delays. Once all current backlog items are done and the backlog column is empty, it is a trigger for the next planning, so planning happens on-demand as needed.
You can measure lead time to find out how long it takes to deliver a task to the end-user, which also helps in future planning and estimations when you’re deliberately focusing on economic prioritization.
Scrumban also focuses on the continuous improvement aspects of Kanban, encouraging short kaizen events like training sessions, knowledge sharing and waste elimination as options for learning opportunities and process improvements.
Scrumban is best suited for maintenance projects and service companies or for Scrum teams that have a hard time completing their tasks within the sprint. The WIP limits will help them focus, and bucket-size planning will help them achieve their release goals in time.
Nishi is a corporate trainer, an agile enthusiast and a tester at heart! With 11+ years of industry experience, she currently works with Sahi Pro as an Evangelist and Trainings Head. She is passionate about training, organizing testing community events and meetups, and has been a speaker at numerous testing events and conferences. Check out her blog where she writes about the latest topics in Agile and Testing domains.
- TestRail is #1 in Software Testing Rankings for 2019
- Announcing TestRail 6.1 with Jira Integration, Audit, Backup & UX Enhancements