Kanban and Scrum are two different methodologies that can be utilized within your development organization. Both have pros and cons as agile methodologies, and one is often suited to a certain project better than the other. Let’s explore the definitions, differences, and how to utilize them practically for your next development project.
Kanban is a model of continuous slating, or continuous improvement. Essentially, when utilizing kanban, project priorities can change in real time, based on what takes priority at a certain time, so there is a certain flow to the work. Requirements can be added and clients or internal stakeholders can change their minds at any given time throughout the life of the project.
For us at Acquia, this means that we offer clients a specific number of slots to add new tickets, which are based on client priorities. Twice a week, our development team gets together and allows clients to add additional tickets for projects that have come up or need to take priority over others, and the number of tickets our dev team must handle increases, up to a pre-determined ticket limit. This can be a challenge, because if our team is knee-deep in one task and has to immediately jump to another task, there is a certain level of stress and chaos.
Kanban is best for miscellaneous bug fixes and maintenance work, because with these types of tasks its easier to change priorities on the fly. These are often more timely requests that can be, and need to be, addressed in real time.
Scrum is a much more methodical agile framework, where a pre-determined set of business requirements for a given project is agreed upon up front, and cannot be changed throughout the duration. It works well for complex development projects by providing structure and guidance to dev teams, and giving them the time and resources they need to achieve the end goal. On our team at Acquia, clients agree to a set of requirements for a two-week period of time and must stick to the project guidelines for the duration of those two weeks. If after those two weeks, the client wants to reprioritize depending on the work done, they are able to, but it gives our dev team a set amount of time to get through a certain amount of work. Scrum is often used for stand-ups, sprint-based, and feature-based development, like creating a new blog section of a website, where your team can determine based on past work what they anticipate being able to complete during a scrum sprint.
How to Determine What’s Right for You
Both Kanban and Scrum emphasize quality and efficiency. It’s easy to ask, which one is better? But a more valuable question is, which aspects of each framework can be most effective given the end goal of a project? Both methodologies have advantages, so it’s a matter of working with product owners to determine what will work best in your specific situation. You may even find that a combination of both frameworks can help to improve productivity based on individual project requirements.