13 Jul 2010

Lean Thinking Primer for an Aspiring Agile Organization

The concepts of Lean grew out of manufacturing specifically by Toyota.  They have since been adopted in services and further adopted into many business verticals and applications.  In 2003 Tom and Mary Poppendieck applied Lean tenants to software.   If you are new to lean all these different variations can actually be confusing and make it seem more complex that it really is.  Having worked with a number of these models I tend to use the Poppendieck model and apply it generally as 7 lean thinking principals for companies looking to become agile organizations.  These 7 principals with the software aspects extracted, coupled with a good understanding of Agile principals can put your company in the right mental framework to begin the journey to organizational agility.

Principal #1: Eliminate Waste

There are 7+1 types of waste you should be on the lookout for.

  1. Overproduction: Producing more than you need, creating things the customer doesn’t want
  2. Excess Process/handoffs: excess process steps, time etc
  3. Inventory/WIP : Physical inventory, excessive requirements documents
  4. Motion: Physical movement of product, searching for information
  5. Defects: broken products, software bugs, missed SLA’s - anything related to the quality of service
  6. Over processing/Excess quality: Gold-plating, giving the customer more than they want
  7. Waiting: customer waits, team waiting, waiting on 3rd parties etc
  8. Intellect: This was a later addition to the model.  For modern organizations, this is likely to be the most costly form of waste and is also highly dependent on the other 7.  This is wasted skills, mental capacity etc of your people.

Principal #2: Amplify Learning

How do you amplify learning?  Use shorter work cycles with rapid feedback loops with as few filters as possible to the end customer of the hypothesis/test.    Most important – take time to actually learn from your execution.  All too often people execute and move on to the next thing without doing a review/retrospective on the results so that smart adjustments can be made.

Principal #3: Decide as Late as Possible

In uncertain environments better results can be achieved with an options-based approach, delaying decisions as much as possible until they can be made based on facts and not on uncertain assumptions and predictions.   An iterative approach with short cycles promotes this principle – the ability to adapt to changes and correct mistakes, which might be very costly if discovered after release.  As mathematician Jon Von Neumann said: “There is no sense in being precise, when you don’t even know what you are talking about”.

Principal #4: Deliver as fast as Possible

The sooner a workable end product or service can be delivered without considerable defect; the sooner feedback can be received, and incorporated into the next iteration. The shorter the iterations, the better the learning and communication within the team. Without speed, decisions cannot be delayed. Speed assures the fulfillment of a customer's present needs and not what they required yesterday. This also gives them the opportunity to delay making up their minds about what they really require until they gain better knowledge. Customers value rapid delivery of a quality product.

Principal #5: Empower the team

A pillar of lean is: develop people.  Agile says – find motivated people and trust them.  However, people do need something more than just the list of tasks and the assurance that they will not be disturbed during the completion of the tasks. They need motivation and a higher purpose to work for – purpose within the reachable reality, with the assurance that the team might choose its own commitments.  A key success factor is having a framework that allows the team to be successful.

Principal #6: Build integrity in

There are two types of integrity:

  • External (perceived) Integrity: totality of the product/service achieves a balance of function, usability, reliability, and economy that delights customers
  • Internal (conceptual) Integrity: the product/service components work together as a smooth cohesive whole

The key to this is to have excellent information flows from customer to the people building the product/service as well as upstream and downstream processes.

Principal #7: See the whole

Products and services are not just the sum of their parts.  See the Whole, does not imply that you need to/should ignore details but more importantly be aware of temptations to optimize parts at the expense of the whole.  Make sure you are measuring success at the right level to ensure ‘seeing the whole’.  Here is a related blog post I wrote on this topic.