In much the same way Michael Kunze coined the acronym LAMP, I propose the use of a new industry acronym for Agile. Scrum, Lean, Kanban & Kaizen. (SLKK, pronounced slick) I have successfully used this process which incorporates techniques from all of these areas and felt it needed a name. I also feel that it will be very useful to many of you that are already using or just beginning to use Agile.
Scrum – Describes the artifacts, meetings, backlog and iteration terms, etc. A good intro here. (Hat tip Ken Schwaber and Jeff Sutherland)
Lean – Describes mechanisms for the elimination of waste, systems thinking and pull concepts. Wikipedia description here. (Hat tip Tom and Mary Poppendieck)
Kanban – Introduces the card wall, reduction of work-in-progress(WIP) and resource workflows. Personal Kanban also useful. A great description by Kenji Hiranabe here. (Hat tip Taiichi Ohno)
Kaizen – Company and culture. Also speaks to elimination of waste using the scientific method. Using actionable items found in Scrum retrospectives, teams perform “kaizen blitzes” to improve processes and performance. Personal Kaizen also useful. (Hat tip TPS, W. Edwards Deming and Joseph M. Juran)
I have read numerous articles and blog posts discussing one technique vs. another and have found it amazing that very few discuss the how they compliment one another. This is what I hope to begin to do in this post. If you would like to learn more about any of the four pieces, click on some of the links above or books below. First a picture to graphically show my thoughts.
Figure 1 – Scrum, Lean, Kanban, Kaizen Relationship
In a nutshell, here is what the process looks like:
- Initial Backlog prioritized by business value. Value drawn from market (client) needs. This is the pull in Lean.
- Map your value stream. Make sure you understand how you will measure partially done work, task switching, defects, etc.
- High level estimates.
- Build release roadmap based on value and estimates. Refactor if necessary.
- Release planning session for release. Make sure everyone is clear on the vision of the release.
- Sprint planning session. Limit Work-in-progress (WIP) as much as possible. Prioritized by business value. Make sure work is buffered and balanced. 16 hour SBI’s. Make sure everyone is clear on the vision of the Sprint.
- Commitment on Sprint Backlog.
- If not already done, automated build and test environment setup.
- Kanban card wall goes up for Sprint. An electronic version of this on a 60” LCD works well! :)
- Daily Scrums review the card wall deltas. If electronic, task cards added to personal Kanban walls. If manual, use resource swim lanes. How have we improved on our Kaizen item?
- Sprint Review. Demo new value features. What was the Throughput in dollars? Review PBI’s contained in the next sprint and verify correct priority order. Sprint Review minutes published via email to all stakeholders.
- Sprint Retrospective. What are we doing well? What could we do better? Pick and actionable item for improvement during the next Sprint. How will we measure our improvement? How did we do on our last item?
- Ready for Release? If yes, go to #14, if not go back to #6.
- Software released to production. Release notes sent to all stakeholders including version number, release CVE, de-scoped features, added features, impediments and any open discussion items.
- Is the dollar value (revenue potential) for the next release greater than the cost? If not, the project is ended or put on hold.
- Does this project have the highest IRR of all the potential projects for this team? If not, change projects.
- Begin next release, go to #5.
While I hope to go into more detail on this technique in future posts, but for now, here are some great primer books to get you started:
ed053826-da92-4dc7-9dda-de25908a81e4|2|5.0
Jim Benson has been writing a great series on the positive effects of Personal Kanban. After reading his Tangible Tasks Produce Prioritization post I started thinking about using a card wall in Microsoft Outlook. Since I leave Outlook open all day, it would be a natural place for me to keep my card wall. Additionally, if I could sync it with my Windows Mobile device, it may replace my current notepad and whiteboard system. I have done some quick searches of the net and there doesn’t appear to be any solutions out there. I am considering building the application myself. Thoughts? Would anyone be interested in this?
db496967-a7f3-47c1-8553-6809c0cf28e0|0|.0
Corey Ladas has a good post on Kanban-controlled workflow systems here.
39ab478f-77a6-4d82-95d6-08c006fd5db3|0|.0
Before I get to much further in this series I think it’s important to talk about the culture that this works best in. Kaizen is a way of thinking about your organizational culture, the concept of continuous improvement and the elimination of waste. A key element in the Toyota Production System (TPS), it seeks to humanize the workplace while increasing efficiency and revenue. Ok, so what is it? The Kaizen method consists of five basic elements which are:
- Teamwork
- Personal Discipline
- Improved Morale
- Quality Circles
- Suggestions for Improvements
You will often hear Kanban and Lean Software Development mentioned in the same body of work as Kaizen but it does not only apply to these techniques. The Kaizen organization is one that is constantly looking to improve itself, one that is open to critique and one where its employees feel empowered to participate in improving it. These characteristics are not common place in many organizations, but given the current state of the global economy they may well start to be.
Figure 1 depicts how I think about Kaizen as it relates to TOC and Agile.
Figure 1 - Kaizen, TOC, Agile relationship
c77529b4-0b84-4401-89df-20a93e5ee822|0|.0