AGILE IN ACTION

Thursday, December 7, 2006

XPDAY2006: The Toyota Way of Managing

Posted by Simon Baker
Tags: lean, xpday

I’m using lean thinking and lean concepts more these days when talking with managers and executives. And it’s proving to be more effective than talking about agile this and that. Based on my own experiences and recent conversations with Gus Power and Steve Freeman , lean concepts are definitely under-utilised in software development, even if you’re using the common agile techniques.

It’s great working with Gus because, having come from Dell, he has extensive practical knowledge and experience about lean, so I’m learning all the time. At XPDay , I went to Pascal van Cauwenberghe ’s session, The Toyota Way of Managing , to get a refresher. Here’s a combination of the hand-out information and the notes I made:

Philosophy

Everyone and everything works towards a common strategic vision. Is every person adding value? If not, they’re waste. Every person decides their own fate. Every person should accept responsibility for their conduct. And every person should continuously improve their skills to keep adding value.

Process

  1. The right process will produce the right results.
  2. Create a continuous flow of work that delivers features to the market regularly. Release working software to production at least once a month.
  3. Establish a pull system where each step passes its result to the next step as fast as the next step can accept and process it. This helps to avoid overproduction and waste. Use index cards ( kanban ) to facilitate pull. For example, the product owner pulls features from the team a release at a time, while the team pulls user stories from the product owner. Pascal said that every 55 seconds a Toyota rolls off the production line because every 55 seconds a Toyota is sold.
  4. Eliminate waste ( muda ).
  5. Minimise inventory and work in process because it’s waste. Keep a little stock and restock frequently. Inventory is features that aren’t released yet, so release often. Work in weekly iterations to build up a release and then release every month.
  6. Be responsive to customer demands rather than schedules. Listen to user feedback after every release and let the product owner adapt the product backlog and steer development in response.
  7. Level out the load ( heijunka ), avoid overburdening people (muri) and avoid uneveness (mura) to prevent breaking flow by repeated stopping and starting. Toyota finalises its production schedule one day before the run begins. Everyone should work together at a sustainable pace to maintain flow. Each person should use energized work to maintain a balance between work and play and stay healthy and productive.
  8. Create a culture of stopping to fix problems and slowing down to get the quality right the first time. Every person is equally responsible for quality. If you notice a problem you have the responsibility to stop the production line. Don’t continue to produce bad products. Use intelligent tools that automatically detect problems, stop themselves ( jidoka ) and alert people. Use cruisecontrol (or something similar) to perform continuous integration , with an extreme feedback device that lets people know when there’s a problem with the build. If the build breaks, someone must take ownership and fix it immediately. No-one else can check code in until the build is restored.
  9. Repeatable techniques help achieve predictability and form the basis for pull and flow. They also give people time to focus on improving how they work. This leads to empowerment. Every person is responsible for improving how they work individually and collectively, every day.
  10. Capture accumulated learning about how you work. Use Shu-Ha-Ri as a way of thinking about how you learn a technique.
  11. Keep everything visible and understandable. Use simple visual indicators ( andon ) to help people understand what’s going on, and to support pull and flow. Use information radiators such as physical planning boards , index cards and big visible charts , and keep them visible at all times by locating them in public areas.
  12. Use only reliable, well-tested technology that supports people rather than replaces them. But also encourage people to try-out new technologies that might improve how they’re able to work together to achieve flow. Toyota says a machine is in its worst state when it arrives new in the factory. Over time they make it more reliable. Just like a new team.
People and Partners
  1. Add value to the organisation by developing your people and partners.
  2. Grow leaders ( sensei ) from within who thoroughly understand the work, live the philosophy and teach it to others. At Toyota, a leader is always teaching two other people to succeed them. Apparently Toyota has expanded faster than its ability to grow new leaders.
  3. Develop exceptional people who live the philosophy. Provide them with continuous on-the-job training. Create and then empower self-organising, cross-functional teams . Work towards shared goals and continually reinforce the culture and philosophy.
  4. Respect your partners and suppliers. Show that you value them by challenging and helping them to improve. To maintain flow, Toyota’s partners are required to perform at the same rates as Toyota.
Problem-solving and Organizational Learning
  1. If you want to know what’s really happening, go to the source and see it for yourself ( genchi genbutsu ). Only then can you really understand the situation and add value.
  2. Consider many options. Make decisions by consensus and then take action immediately. Ensure everyone who might be affected is involved ( nemawashi - gently dig around the roots of a plant, in order to transplant it carefully ). A decision reached by consensus is binding because it embodies an idea that’s shared and supported by each team member.
  3. It’s never good enough! Be a learning organisation through reflection (hansei) and continuous improvement ( kaizen ). Hold a retrospective at the end of every iteration to reflect, learn, adapt and then improve.
Apparently, it takes Toyota 5 to 10 years to get a new factory up-to-speed in the Toyota Way. Changing to a culture like Toyota’s is not quick and it’s not easy, but the rewards are worth the investment.

3 Comments

Hi Simon. Thanks for coming to the session.

Just one remark:

"Is every person adding value? If not, they're waste." What I said was: "Every person should ask themselves if they are adding value. If any of their activities does not, they are creating muda (waste). Stop doing that now!"

Remember: it's never a people problem, it's always a process problem.

I was a bit surprised that there were so few questions and remarks after the session. Do you have any idea why?

Comment by Pascal Van Cauwenberghe

I also went to Pascal's session at XPDay. I like most of Toyota's approach, such as minimising waste and continually improving. However, the part of this I'm not so sure about is the continual reinforcement of the culture and philosophy. I was concerned that Toyota make people "unlearn" what they have learned in previous jobs before learning the "Toyota way".

I think people are best if they are continually challenged by new approaches, some of which they may not agree with, others of which might have merit. These take people slightly outside their comfort zones.

If everyone has the same way of tackling problems, people work within their comfort zones and revolutionary new ideas are less likely to emerge.

Comment by Richard Jonas

This is a great post and something that I have also been thinking about. I worry about trying to apply manufacturing process ideas to software too much (much like people tend to argue against applying engineering processes to software), but Lean seems to work across the two domains. Obviously the Poppendiecks have been on to something all these years. :)

-Jesse
Refactr LLC

Comment by quasistatic

Creative Commons Licence

Recent Posts

  1. Debugging Grails Database Performance
  2. Grails for Hipsters
  3. Governance - Friend or Foe?
  4. The Energized Work lab is moving aboard ship
  5. Gus Power on the future of software development at The CW500 Club
  6. Agile On The Beach: Session: How Are We Doing?
  7. Presenting BuyaPowa at Hacker News London
  8. Knowledge nuggets from Kent Beck
  9. There's gold in them thar hills
  10. No Bull: An author's note

Archives

  1. 2013 (2)
  2. 2012 (27)
  3. 2011 (24)
  4. 2010 (31)
  5. 2009 (41)
  6. 2008 (69)
  7. 2007 (152)
  8. 2006 (128)
    1. December (16)
      1. Bit by bit or all at once?
      2. Peacocks and penguins
      3. First incremental release of badjit
      4. Values, Practices & Principles
      5. On average
      6. Agile finances?
      7. ABC2006: Scaling agile
      8. XPDAY2006: Joshua Kerievsky's keynote speech
      9. XPDAY2006: The Toyota Way of Managing
      10. XPDAY2006: Experiments in Agile Estimation
      11. Ken Schwaber talks about agile quality
      12. XPDAY2006: Keeping the Furniture Police at Bay
      13. XPDAY2006: Are We Nearly There Yet?
      14. Running tested features
      15. Ultimate extreme feedback device
      16. Gus has got a wiki going
    2. November (26)
    3. October (7)
    4. September (11)
    5. August (7)
    6. July (7)
    7. June (4)
    8. May (4)
    9. April (4)
    10. March (4)
    11. February (14)
    12. January (24)
  9. 2005 (63)
  10. 2004 (2)

Tags

agile (43) big visible chart (15) conference (43) culture (18) extreme programming (22) leadership (18) lean (47) people (27) planning (17) retrospective (18) scrum (41) story (19) team (30) testing (19) xpday (19)