Agile, Scrum and Kanban 101
10 February 2014
In the last few years, the agile software development community has grown more aware of the growing significance of Kanban. This growing awareness has spawned countless questions: What is Kanban? How does it compare to Scrum? Is it one or the other? Can you have both? If so, how?
Scrumban.io is dedicated to helping people find the right answers, and we hope you’ll join us as we embark on a journey through the exciting and constantly advancing world of software management methods and practices.
Let’s start by reviewing some of the core principles / objectives laid out in the Agile Manifesto:
- Incremental delivery of value
- Team orientation and interaction
- Continuous Improvement
The Manifesto, itself, doesn’t prescribe how we’re to go about achieving these goals. Many common Agile frameworks, however, provide helpful guidelines. These describe practices, structures, roles and expectations.
Through years of ever-evolving practices, some of these frameworks — Scrum, XP, Crystal, and others — have developed their own sets of prescriptive methods. There are also Meta frameworks which do the same (SAFe, DAD, LeSS, Agility-Path, et al.). We hope to analyze these in later articles. Though a particular framework may not endorse a prescriptive approach, practitioners often do. As with most things agile, most of these frameworks are constantly evolving.
In terms of general adoption, Scrum has proven to be the most successful Agile framework thus far. In the now-crowded process-improvement space, its market entry timing was perfect. And with good reason. There is perceived value — and in most cases, real value — in quicker, frequent product delivery.
On a commercial level, Scrum is a huge success. It’s had an impressive record of delivery improvement for business and IT product-development groups. Consulting organizations and software providers have gained faster performance faster, greater focus and improved quality. Businesses make more money and reach new customers. As a widely accepted framework, Scrum breaks down communication barriers and now affords a sense of job security through professional certifications (CSM, etc) and similar designations.
What is Scrum
Simply put, Scrum is an Agile framework. More specifically, it’s chief focus is incremental continuous delivery by promoting a divide-and-conquer approach. To this end, Scrum centers upon division of work as the optimal approach to achieving the goal of faster, quality-driven performance:
- Teams are broken into smaller sections to help improve collaboration.
- Tasks are split into into epics and stories that can be independently tested to add incremental value.
- Time is allotted into iterations to manage scope creep and planning.
- Continuous improvement is encouraged through synchronous feedback loops and retrospectives.
Although primarily an Agile framework, Scrum also includes many characteristics of a tool that can be used for provoking change and emergent behavior. As a project management methodology, classic Scrum prescribes a set of roles working within a mechanized, iterative process (product owners, scrum masters, release planning, sprint planning, iterations, retrospectives, etc). As a change catalyst, it has traditionally utilized the concept of “commitment” as a control mechanism for helping to bring about desired modifications.
Scrum is extremely effective at optimizing work processes for small teams of 7-12 people. It isolates the team’s work inside time-boxed development batches called Sprints, and employs a variety of techniques to make these batches as predictable as possible, so the Sprint Commitment can be met on time. In this regard, Scrum seeks to isolate the team from outside influences as much as possible. Definitely, an Agile methodology.
That is all fine and dandy, but what do organizations and teams really care about?
Agility is just one of the many aspects that organizations focus on, and the need to be Agile must be weighed in tandem with the risk of creating disruptive change.
Here are some other organizational risks:
- Quality of products and services
- Responsiveness (an aspect of Agility)
- Being Lean ( reducing waste with the goal of creating value)
- Growth and improvement
- Market position, status, etc
- Scrum and other frameworks, traditionally defined, do fall short in this regard.
What is The Kanban method (with a capital “K”)
The Kanban Method, on the other hand, is neither a project management nor a software development methodology. In fact, it doesn’t tell us how to do these things at all, and requires an existing process against which to be applied. There is also deliberate ambiguity built into the definition.
Kanban is a change-management method. It is a way to improve service delivery and catalyze continuous improvement. Kanban bolsters a service-oriented way of thinking to non-routine, unpredictable knowledge work (i.e. the business we’re in); it encourages a systems-view and service-orientation of tasks, processes, and teams.
Kanban is a proven and effective set of disparate tools for enabling evolutionary change, improving service delivery, catalyzing continuous improvement in organizations. It enables individuals, teams and organizations to better understand how they work. It employs a handful of mechanisms to simplify coordination across whole systems and to maximize resources across multiple teams. As mentioned earlier ambiguity is purposely built-in so the framework can be pragmatically, empirically applied in any context or way in which we do work, Scrum or otherwise.
The core practices of Kanban are summarized as follows:
- Visualize your workflow
- Limit work-in-progress (lower case ‘kanban’)
- Manage flow
- Make process policies explicit
- Implement feedback mechanisms
- Improve collaboratively, evolve experimentally (using models & the scientific method)
The realm of knowledge-work management has become one of the most profound imperatives for any IT/business-oriented team or organization in this highly demanding day and age. Kanban principles can be applied to the Scrum Process to enhance its agility, and manage other risks as well. In this regard, the Kanban-versus-Scrum dilemma is not only an unnecessary choice, but a debunked myth as well.
Improving service delivery and catalyzing continuous improvement in a team doing Scrum is what we call Scrumban. Hence Scrumban.io.