Thanks to everyone who came out to the DC ALT.NET meeting on "A Look at Kanban Software Development" with Linda Cook. This was a great discussion about Kanban and continuous improvement with Lean Software Development techniques. Linda shared her experiences while working with her current customer about implementing Kanban. Continuous improvement was important and readily noticeable from the evolution of the Kanban boards. Her teams are using it with success and refining the processes to eliminate waste. It was really refreshing to hear about real stories in action. Topics such as these are important to DC ALT.NET as we talk about some of the challenges we face as software engineers, and how we find ways to improve.
This of course dovetails nicely into that I’m attending the "Continuous Improvement in Software Development Conference" next week from October 30th to November 2nd. There will be plenty more to learn while I am there.
What is Kanban?
A hot topic in the software development world right now is Kanban Systems, thanks in part to the work done by the Poppendiecks in the area of Lean Software Development. Derived from the Toyota Production System, it is an interationless approach to software development, having a focus on a continuous flow of work. Typically in Scrum influenced projects, iterations are time-boxed, where the team meets to plan the sprint by taking stories from the product backlog that can be accomplished by the end of that iteration. Kanban takes a different approach where the team takes a story from the backlog, and once it is "done", it is shipped.
Another interesting aspect is that Kanban follows the pull system, which is to react to customer demand instead of the traditional push systems which base production on demand forecast. Applying it to software means not coding more features that people do not want or need at the present time. Corey Ladas weighs in on the matter of "Why Pull? Why Kanban?". Short and to the point that we have a tendency to gold plate things that need not be.
Now that we have the basics down, where can we learn more about Kanban, and Lean Software Development in general?
Where to Learn More?
Many people were intrigued by the ideas shared during the discussion and wanted to know where to learn more.
- Kanban Systems – James Shore
- Kanban as Alternative Agile Implementation – Mark Levison
- Kanban Applied to Software Development: from Agile to Lean – Kenji Hiranabe
- Kanban In Action – David J. Anderson
- Managing Change Requests Using Lean Methods – Eric Landes
- Introducing Kanban at Xclaim – Dave Laribee
- Agile Management for Software Engineering: Applying the Theory of Constraints for Business Results – David J. Anderson
- Lean Software Development: An Agile Toolkit – Mary and Tom Poppendieck
- Implementing Lean Software Development: From Concept to Cash – Mary and Tom Poppendieck
Wrapping It Up
Once again, I’d like to thank Linda Cook for coming to talk about her experiences with Kanban. It was an exciting conversation that I hope to explore further, especially next week. We’re in the process of planning our November meeting on testing applications in which we’ll talk about our experiences with Selenium, Fit, and so on. I also plan in the near future to have more introductory sessions in which we cover some of the basics.