You decided to go Agile. But what kind of Agile? There are plenty of methodologies and techniques you can apply to be Agile.
I should mention that Agility isn’t only about the project you run. It should cover the whole organization. Also, going Agile is a process. It’s like a never-ending journey toward perfection. In this case, toward Agility.
You can choose from many methodologies and frameworks that enhance Agility. Many of them had been on the market before the term Agile Software Development was even coined.
In this article, I covered two very popular approaches: Kanban and Scrum. By the time you finish reading this article, you will have learned, what are the major differences between Kanban and Scrum.
Table of contents
- What is Kanban in Software Development?
- What are the Elements of Kanban?
- What is Scrum?
- Kanban vs Scrum: which is better?
What is Kanban in Software Development?
Kanban originated in Toyota factories in the 1940s. Kanban cards were supposed to improve the manufacturing process, especially the logistics. The idea was to deliver the supplies just-in-time. To do this, you need to stop pushing them from the warehouse to workers and start pulling.
When a particular worker reached the threshold of parts he or she had on stock, they would reach for the Kanban card and pass it to the warehouse to claim the order. Only then the warehouse could order another batch of supplies from the supplier to get them just before the stock was empty. But that was in the ’40s in automotive factories.
With the emergence of technology and IT companies in the ’90, lean management was incorporated to support software development. The solutions known from the automotive industry were adjusted to the reality of intangible products, namely software or network solutions.
The focus of Kanban is on the work performed at the moment and the identification of bottlenecks and backups.
Tasks are usually prioritized by the Product Manager, who can adjust the list of tasks on the fly, to maximize the team’s efficiency. The team can simultaneously work only on a certain amount of tasks, called Work In Progress (WIP). Limited WIP helps the team to stay focused and the manager to identify bottlenecks. Without fixed-length sprints, Kanban fits great in CI/CD practices.
What are the Elements of Kanban?
Unlike many Project Management methodologies, there are no must-have roles in Kanban. Although Kanban doesn’t impose any roles in the team or organization and is very flexible in application, it has some elements that make it work. They are Kanban Board and Kanban Cards. It also has Kanban Metrics, which should be monitored to find bottlenecks and keep the process effective.
What is Kanban Board?
Kanban Board is the main element of this approach. Its main purpose is to visualize work performed by the team. The board consists of a set of columns that represent subsequent stages and cards that represent the tasks.
The columns that represent the workflow should be named in a manner that fits the needs of the team/organization. In the simplest flow, the stages are:
- To Do
- In Progress
For the sake of software development, you can add Peer Review, Testing, or columns for releases on different environments. The columns in the Kanban Board should depict the process that actually takes place in your organization.
In complex processes, it’s good to have more columns, as it will enhance the ability to identify bottlenecks.
Each column should have its capacity described by its WIP limit. It is the maximum number of cards to appear in this column at the same time. It’s one of the ways to identify bottlenecks and keep the team focused.
The goal for the team is to drag tasks from the pool of backlog and go through all the columns to the Completion.
Kanban Board can be a physical or digital thing. It’s up to you, which one you prefer. A physical one is easy for DIY. The advantage of a physical board is that it requires your physical presence to change it – which gives a signal to other Team members that something changed. Digital boards can easily be shared on multiple devices and often enable detailed tracking. If you decide on digital board it is good idea to have it displayed of separate monitor or TV in very visible place that every Team member see it all the time.
What are Kanban Cards?
Kanban Cards represent units of work. Each of them contains a short description of a particular task: its owner, deliverables, deadline, etc. According to the transparency principle of Kanban, the Board and Cards need to be accessible to every team member, so everyone could see what happens in the project.
They are visual representations that help Team members understand the workflow. Kanban Cards move across the Kanban Board, visualizing the flow.
What are Kanban Metrics?
There are many metrics and KPIs applicable to the Kanban method. Most of them are interchangeable with other methodologies. Here I mention only those specific to Kanban:
- WIP (Work In Progress) tells you how many tasks the team is working on. You can track it for all the stages together, or for each of them separately;
- Lead Time is the information about how much time a particular card spends on the Kanban Board, from placing the order to completion;
- Cycle Time indicates how long a particular task was really worked on;
- Throughput is the number of work units represented by Kanban Cards that went through the Kanban Board in a given time, e.g. in a week.
What is Scrum?
Scrum is a framework created by Jeff Sutherland, John Scumniotales, and Jeff McKenna in the early 1990s. It was later developed by Sutherland and Ken Schwaber who presented a paper ‘The SCRUM Development Process’ in 1995. They both attended the 2001 meeting when the Agile Manifesto was declared.
Today, Scrum is probably the most popular implementation of Agile.
Scrum aims to simplify the process of the development of complex products such as software. It’s based on a set of rigid rules, events, artifacts, and roles. The interactions between all elements are clearly described. I will describe the most crucial features and metrics specific to Scrum. This way you will gain an understanding of the most important ideas of this framework.
What are Scrum Artifacts?
Backlog for Product and Sprint – Backlog is the list of deliverables required either for the product or given sprint. The Product Owner is responsible for the creation and management of the Product Backlog.
User Stories – they’re descriptions of particular usability from the customer or user point of view. It’s more than just a set of requirements, since it’s based on the user experience. They should contain the user’s role, the action performed, and the desired achievement.
Increment / Sprint Goal – it’s the goal to be achieved by the end of the sprint. The Increment can also contain the metrics, i.e. information how will you know if you’ve had achieved the goal.
What are Scrum Events?
Scrum projects are divided into smaller portions of work called sprints. They in turn consist of even smaller events, called Scrum Ceremonies.
Sprint Planning – Team members choose user stories to deliver within the sprint. The whole team discusses which stories are the most important and urgent.
Sprint – encapsulated piece of work that usually takes up to a few weeks. It’s desired to release new pieces of working software by the end of each Sprint. Sprint should be planned in such way that the Team is capable of delivering all stories on time.
Daily Scrum – Daily meetings for the Development Team and Scrum Master. Usually held as short stand-up meetings to keep everyone up-to-date with the progress and obstacles.
Sprint Review – It is the meeting that takes place after every Sprint. The goal is to gather in one place the Development Team, Scrum Master, Product Owner, and all the stakeholders to discuss the deliverables and Sprint Goals. The main question for that meeting is if the Sprint Goals have been met.
Sprint Retrospective – usually after the Sprint Review there’s one more meeting. This time it’s for the Development Team only. The aim is to review the development process with hindsight and find ways to improve it in the future.
What are Scrum Roles?
Unlike Kanban, Scrum imposes the roles you need in a project.
Product Owner – PO is responsible for the backlog, its creation, and management. He is the single and only source of truth about the final shape of the product. PO should have the power to take any decision about the product. The role is to represent the client-side in the process.
Scrum Master – The main responsibility of Scrum Master is to make sure everyone involved understands the Scrum principles and apply them accordingly. Moreover, Scrum Master is supposed to ensure good relations between the Development Team and Product Owner, give the Team workspace free of interruptions and distractions as well as clear possible obstacles so that their work will be efficient. Scrum Master is responsible for conduction all Scrum Ceremonies and improving the process.
Development Team – Self-organizing and cross-functional team. It should consist of specialists containing all skill-sets required for the project success.
What are Scrum Metrics?
Just like with Kanban, there are many metrics and KPIs useful for Project Management. Here I will focus on three specific for Scrum.
Velocity – It’s the number of Story Points (used for User Stories estimation) completed within certain Sprint. You can track it and compare between subsequent Sprints. After few Sprints, when Development Team reached its full speed and Velocity is stable, it can be used as measure for Sprint Planning.
Sprint burndown – This diagram is a way to track the completion of work throughout the sprint. This one also should be compared from one Sprint to another. Based on this chart you can early spot potential problems with achieving Sprint goals and identify bottlenecks.
Sprint Goals Success – In how many Sprints the Team has met the success requirements and delivered a working product? To be tracked throughout the project.
Kanban vs Scrum: which is better?
Agile isn’t only about one project, but can and should influence your whole company. Both Kanban and Scrum are effective tools you can use to transform your organization and improve its efficiency. Which one is best for your project and your company? In our next article, we will guide you through making the right choice. Meanwhile, you can ask our experts for advice.
Q:What is Kanban in software development?
Kanban is a method of software development that originated in Toyota factories in the 1940s, where it was used to improve the manufacturing process and logistics. The focus of Kanban is on the work being performed at the moment and identifying bottlenecks and backups.
Q:What are the elements of Kanban?
Kanban has a few key elements that make it work, including the Kanban Board, Kanban Cards, and Kanban Metrics. The Kanban Board visualizes the work being performed by the team and consists of columns that represent subsequent stages and cards that represent the tasks. The Kanban Metrics are used to monitor the process and identify bottlenecks.
Q:What is Scrum?
Scrum is an Agile framework for managing and completing complex projects. It is commonly used in software development, but can also be applied to other industries. Scrum is based on the principle of self-organizing teams and emphasizes the delivery of working software at the end of each sprint.