When inflexible and wasteful software development processes are making your organization inefficient, it’s time to introduce an agile methodology. Kanban vs Scrum then becomes an essential question: Which agile software development methodology is better suited for my own situation? And is Kanban agile? What about Scrum vs agile? Confusion is spreading… Let’s have a look how to sort out all those questions.
Scrum – A Fundamental Shift
Scrum is a well defined process framework for structuring your work. Introducing Scrum is quite a change for a team not used to agile software development: They have to start working in iterations, build cross-functional teams, appoint a product owner and a Scrum master, as well as introducing regular meetings for iteration planning, daily status updates and sprint reviews. The benefits of the Scrum methodology are well understood: Less superfluous specifications and less hand overs due to cross-functional teams and more flexibility in roadmap planning due to short sprints. Switching your organization to use Scrum is a fundamental shift which will shake-up old habits and transform them into more effective ones.
Scrum Leverages Commitment As Change Agent
The initial introduction of Scrum is not an end in itself. Working with Scrum you want to change your teams’ habits: Take more responsibility, raise code quality, increase speed. As your teams commit to sprint goals, they are intrinsically motiviated to get better and faster in order to deliver what they promised. Scrum leverages team commitment as change agent. It’s amazing to see how much teams demand from themselves – often way more you as a manager ever dared ask for.
Kanban – Incremental Improvements
The Kanban methodology is way less structured than Scrum. It’s no process framework at all, but a model for introducing change through incremental improvements. You can apply Kanban principles to any process you are already running (even to Scrum 😉 ). In Kanban, you organize your work on a Kanban board. The board has states as columns, which every work item passes through – from left to right. You pull your work items along through the in progress, testing, ready for release, and released columns. And you may have various swim lanes – horizontal “pipelines” for different types of work. The only management criteria introduced by Kanban is the so called “Work In Progress (WIP)”. By managing WIP you can optimize flow of work items. Besides visualizing work on a Kanban board and monitoring WIP, nothing else needs to be changed to get started with Kanban.
Kanban Leverages Work In Progress (WIP) Limits as Change Agent
For every column (state) on your Kanban board you should define a “Work In Progress”-Limit (WIP Limit). The WIP limit tells you how much work items are allowed to be in a certain state at any given point in time. If a state reaches its pre-defined WIP limit, no new work can enter that state. The whole team has to help clear the filled up state first. Work items trapped in a state will build highly visible clusters on the Kanban board. These clusters make bottlenecks in the progress visible – you can simply look at the Kanban Board to see where your process needs improvements. Making the need for improvement visible challenges your team to change the way they work to avoid such bottlenecks in the future. That’s how WIP limit act as change agent in Kanban.
Kanban vs Scrum
Looking at both agile software development methodologies it should be more clear what to introduce when: If your organization is really stuck and needs a fundamental shift towards a more efficient process, Scrum seems to be more appropiate. If you already have working processes, which you want to improve over time without shaking up the whole system, Kanban should be your tool of choice.
And Scrum vs Agile?
Asking for the differences between Scrum vs Agile or Agile vs Scrum is like asking for the differences between “Water” and “Ice”. Ice is water in a specific physical state. The same could be said about Scrum vs Agile. Scrum is agile in a specific shaping. It is an agile process framework. Scrum and Kanban in software development are both specific shapings of an agile software methodology. While Scrum vs Kanban or Kanban vs Scrum is comparing two agile methodologies, Scrum vs Agile is comparing a concrete example with its fundamental principles.