Kanban in an Agile world...
The last several blogs have brought up some very interesting topics to think about, haven’t they? Perhaps some of these terms are familiar but not solid in practice at every organization. Some are big ideas while others are smaller. Which one is right and what works with certain kinds of organizations? The big answer is “it depends” … or was that “all of them”?
There are so many practices for getting stuff done, and they started way before Agile. In The Skinny on Lean Concepts, one of the first ideas came in 1913 that completely changed the automotive industry. Even though this idea is more than a century it still holds value. It’s actually still in practice today. With that in mind, it is important to keep an open mind about and piece together what works best for the present organization. The Goonies say “Never say die”, we say “never stop learning”. We are learning creatures, always evolving and unafraid to consider a better way.
Another recent blog Agile: What is it really? revealed that Agile was actually a collection of values and principles. All of those tools associated and often labeled “Agile” aren’t at all exclusive to Agile at all. This frees them to go into practice in many different environments. At the same time, it is perfectly okay to bring in tools from other practices, because Agile is unbiased as long as the values and principles are prioritized.
Kanban was first brought to manufacturing with Toyota, who got the idea from a supermarket. In the supermarket, when inventory was low or all items were “pulled” from the shelf, the missing product was replenished. This was the birth of the “pull system”, when inventory is provided only when needed, providing the shortest possible lead times.
Fast forward to another evolution of Kanban, which is visualizing the progress of a production line or process. The practice is also seen in Agile and Scrum projects as a means of being able to display the flow of work and current status. The value with Kanban boards is visibility, to the team, leadership, and even the customer in some cases. Everyone knows what is pending and what is in progress. (compliments from our friends at The Forge Lean Six Sigma Training).
Kanban practices are unlimited to the environments to bring value to a process, from manufacturing to customer service and everything in-between, including software development. The key is visibility and maximizing efficiency The use the Kanban board enables the team to continuously improve their flow.
Kanban vs. Sprint
The typical sprint event involves a defined goal with its accompanying tasks to be done in a defined time frame. All parties involved, developer to tester, and even the stakeholders where appropriate, getting the tasks through to completion. In between sprint events is a project manager planning the next one. There are a LOT of hours spent on a project just for planning, but what if that can be reduced or even eliminated?
Bring in a Kanban “pull” process where developers have their backlog present and visible. The developers can pull in the next task as soon as the code they were working tests successfully, either with a tool or a partner in paired programming, something we put into practice at ITE Consulting. The common practice is to first pick the “low hanging fruit”, being the easiest and shortest code, building momentum quickly.
Kanban is nimbler, especially with a project with varied priorities. Shifting tasks on a Kanban team is much easier than altering a sprint event that is usually more rigid and precisely planned. This fluid movement also enables the team to make quick changes as a means of improvement as soon as an opportunity to improve presents itself.
Playing it SAFE, a new evolution
Just as people start taking sides on the best frameworks, methodologies and tools to use for any kind of project, there is a new evolution (or is that a revolution – you decide). The Scaled Agile Framework (SAFe) has adopted a multitude of tools and practices including Lean, Agile, DevOps, and Systems Thinking. Their core belief is worthy of a smile: Better software and systems make the world a better place. SAFe has crossed lines between the different practices so much that they made their own certification. SAFe introduces the Five Core Competencies of the Lean Enterprise that are critical to achieving and sustaining a competitive advantage in an increasingly digital age:
Who’s the winner?
Is there even a winner here? Gauge the corporate culture. Sprints work well with rigid schedules, however one wrench thrown at the plan subjects the project to considerable delay. While sprints are often associated with Agile teams, they are not exclusive. Remember that Agile is a collection of values and principles and not actual practices. In reading the principles, Kanban supports the principles:
Agile processes to support a consistent development pace
Self-organizing teams encourage great architectures, requirements, and designs.
Regular reflections on how to become more effective.
So in essence, there never was a competition between Agile or Kanban. Sprints and Kanban are both effective approaches, but Kanban is nimbler and able to accommodate change by the customer or the team itself.
IT Efficiency Consulting is a leader in optimizing software development projects using proven techniques, technologies and hardware. Our proven force multipliers improve productivity and reduce defects while simultaneously raising the morale of the team members. How can that be done? Contact us and we will tell you how.