I’m posting the highlights of a lean-kanban course I attended last week in Bellevue, WA. I had a fabulous time with some of the best minds in the Agile community. The class was taught by David Anderson (aka @agilemanager) and held at Net Objectives. The attendees were mostly Net Objectives folks and another independent consultant (like myself).
My key takeaway from the first days was the definition of business agility, defined as
- Making progress with imperfect information.
- Being highly collaborative (as opposed to competitive) with others by adding social capital.
- Seeing work in process (WIP) as a liability rather than an asset.
- Learning all the time, especially from your mistakes and the mistakes of others
- Tolerant of failures; willing to take chances.
So then, what is Kanban? How is it different from say Scrum or FDD?
Kanban’s philosophy is to introduce agility into an organization in an evolutionary manner. It leaves the people, artifacts, roles, tools, and facilities alone and focuses on understanding the current processes and product development workflow, then develops a transition plan for the purpose of building organizational maturity and capability. Once a mature organization is in place it is much easier to introduce more improvements.
Kanban’s approach to through evolutionary and incremental improvements explains its popularity in larger organizations with established processes and policies.
Here are the tenets of Kanban software development which I will discuss in greater detail in my next post:
- Limit your WIP
- Visualize your WIP
- Manage flow
- Make process policies to improve flow
- Manage quantitatively to improve quality and flow
Read part 2
P.S. If you’re interested in a comparison between Kanban and Scrum see this article.