The last year or so I’ve been increasingly involved in Continuous Improvement events, “leaning” the organization and removing non-value added steps from processes.
Most of these processes were manufacturing-oriented. However, some of the same principles can be applied to office processes. While we were discussing that, I kept wondering how to use some of these Lean principles in software development. It turns out I wasn’t the only one, and there are several ways to apply Lean in development.
I moved in about a year from project-driven to-do lists, through Agile/Scrum development, towards something similar to Kanban in the factory process. The principle of Kanban development is fairly simple: limit the amount of Work In Progress (WIP), allowing for more flexible assignment of development tasks, more visibility, and a clearer flow of tasks through the different stages (analysis, development, acceptance, deployment).
In the process of learning about these techniques I came across a variety of websites and blog posts that may be of interest:
- Crisps blog - a blog from Crisp Consultants
- Kanban and Scrum - making the most of both - a book describing Kanban development and highlighting the differences with Scrum
- flow.io - A company developing a product closely following the Kanban methodology
- Aycan Gulez’s twitter stream - One of the developers on flow.io
I think in the next several weeks we’ll look into Kanban software development closer, and see if we can apply it in our small development department.