The Toyota Kata in Software Development
This is a complement to the Level Up Agile with Toyota Kata book notes (read it after this one).
I also recommend watching True Continuous Improvement with Toyota Kata by Jesper Boeg and Toyota Kata - Retrospective on Steroids by Håkan Forss talks for more background.
What is Toyota Kata?
A process improvement process.
Why Toyota Kata? Why not retrospectives?
- You focus on the easy changes, not most important.
- Not look at the effects of improvements.
- Managers not focused on driving improvements.
- Daily work is always more important than improvement work.
- Improvements lacking direction.
- Too much improvement work in progress.
- Improvement slow and often on hold.
- Teams improvements always require escalation.
That is spot on my personal experience with Agile retrospectives.
Maybe if you are doing Agile retrospectives properly, you do not need Toyota Kata, but for me the key aspects that make Toyota Kata different and interesting are:
- Continuous (Daily).
- Data driven.
Your process improvement starts by defining what ultimate capabilities your company needs to deliver at its best. This is your Process Vision. It will guide all the improvement work that the team will be doing. Without it, there is no direction to follow and no way to focus.
Some important points about the Process Vision:
- Years to achieve, or unattainable.
- It should be what you want, not in what you don’t want.
- Process Vision != Process outcome.
- Tool, role and practice free.
Once you have the Process Vision, Toyota Kata is series of steps were you continuously narrow the scope and timeframe of the process improvement effort:
- A Challenge is a subset of the Vision:
- 2-6 months timeframe.
- You just work on one Challenge at a time.
- A Target Condition is a subset of the Challenge:
- 4 weeks timeframe.
- You just work on one Target Condition at a time.
- An Obstacle is one specific issue that does not allow us to reach the Target Condition:
- Several Experiments timeframe.
- You just work on one Obstacle at a time.
- An Experiment tries to overcome an Obstacle:
- One to ten days timeframe.
- You just run one Experiment at a time.
Part of this process is that you do not create big plans upfront, but you decide on the next steps as needed. For example, you do not plan 3 Challenges ahead. You will just start preparing the next Challenge as you get closer to finishing the current one.
Running Agile retrospectives once a month means that improvement work tends to be important at two points in time:
- During the retrospective, when you are dreaming of the possible action improvements.
- Just before the next retrospective, when you realize that you did not find the time for any of those actions.
It shouldn’t be like this, but Toyota Kata has two practices which their cadence ensures that improvement work becomes a habit:
- Coaching Kata:
- Happens 1-2 times per week.
- Reviews where you are with the improvement work, reminds you why you chose it, and what the next step is.
- It happens with the Coach, who should be the team’s manager, so it is the “boss” the one pushing for the improvement work to happen twice per week!
- Daily Kata:
- A daily reminder of the Experiment work that needs to be done.
Both practices can help to achieve the Third Ideal:
Elevate improvement of daily work over daily work itself. Gene Kim, The Unicorn Project
When choosing the next Challenge, first you need to decide what metrics (lagging and leading) you are going to track to ensure that the improvement work is achieving the desired effect.
Then you need to:
- Find the current values for those metrics (Current Condition).
- Decide what are the future values that you want to achieve.
All the other work is centered around those metrics:
- Target Condition is a subset of the Challenge metric improvements.
- For Obstacles and Experiments, we keep asking how working on them will move the metrics into the right direction.
- We update and look at the metrics during the Coaching Kata, which happens 1-2 times per week.
Data is at the heart of the process.
Toyoto Kata does not forget that feelings are important and the Current Condition includes a qualitative outcome section to remind us what is painful today and how the future will when we reach the Target Condition.
Important note: Every Challenge will have a different set of metrics.
There are the roles in Toyota Kata:
- The Team: in Software Development, the team is the subject of improvement, not the individual.
- The Process Lead: equivalent of a Product Owner, but for the process.
- The Coach: helps the Process Lead to learn. Usually the manager.
- The Second Coach: Coach that coach the Coach on coaching the coachee.
- Set Vision.
- Organization level. Same for all teams.
- Choose Challenge + gasp Current Condition (per team):
- Process Lead responsible, but can collaborate with some/all from the team.
- Improvement Kata planning meeting:
- Choose Target Condition.
- Brainstorm a few Obstacles and pick one.
- Brainstorm a few Experiments and pick one.
- Execute Experiment.
- Choose new Obstacle if previous one has been overcome.
- Choose new Experiment if previous one has been executed.
- Twice a week: Coaching Kata.
- Go to step 3 after four weeks.
About two weeks before the Team is going to achieve the Challenge, the Process Lead should run step 2 in preparation for step 3.
Improvement Kata Template by MURAL
Open to create a mural from this template in your workspace. Powered by MURAL
Improvement Kata planning meeting
- Every 4 weeks. 90 minutes.
- Team + Process Lead. Coach optional but highly recommended.
- To plan the next Target Condition, not to argue about the Vision or Challenge.
- Current Condition data is ready.
Default meeting agenda:
- Did we achieve our last Target Condition?
- If not, why? What happened? What did we learn?
- What is the Challenge?
- What is our Current Condition?
- Review the updated Value Stream Map.
- What is the proposed focus area for the next four weeks?
- Agree on the next focus area.
- Identify the Target and Current Condition for the chosen focus area (iterative).
- Identify Obstacles.
- Find Experiment ideas and choose the first Experiment.
- 1-2 times per week. 15 minutes.
- Process Lead + Coach. Team welcomed.
- To learn and reflect.
- Current Condition data is ready, Improvement Board is up to date.
- What is the Target Condition?
- What is the Current Condition now?
- Reflect on the last step:
- What was your experiment?
- What did you expect?
- What actually happened?
- What did you learn?
- What Obstacles you think are preventing you from reaching the Target Condition?
- Which one are you addressing now?
- What is your next experiment?
- What do you expect will happen?
- When can we evaluate the result?
- What did you learn from this Coaching Kata?
- Daily. 1-5 minutes.
- Process Lead + Team.
- Focus on Experiment.
- No need to fix all obstacles to reach the Target Condition.
- What did you learn from yesterday?
- What did you expect?
- What actually happened?
- Did we take a step towards removing the Obstacle?
- Did we move the metrics closer to the target condition?
- What is/will be our next experiment?
- What Obstacle will we address and why?
- How will that moves us closer to the Target Condition?
- Is it the smallest step?
- Who is responsible?
- When can we execute it and when can we evaluate the results?
Hope that gives you enough material to understand what Toyota Kata is about, decide if you want to invest more on it, and provide reference information if you decide to implement it.