DEV Community

Cover image for Book notes: The Lean Mindset
Dan Lebrero
Dan Lebrero

Posted on • Originally published at danlebrero.com on

Book notes: The Lean Mindset

These are my notes on Mary Poppendieck and Tom Poppendieck's The Lean Mindset.

This book is not an intro the Lean, but contains plenty of examples of how real world companies applied Lean principles.

As the authors mention on the introduction: Do not copy the practices. Develop a Lean Mindset.

Key Insights

  • Stop thinking about software development as a delivery process and start thinking of it as a problem solving process.
  • Wrong questions: "How will Lean or Agile increase productivity?"
    • Efficiency is not about more features but only the right features.
      • Flow efficiency, not resource efficiency.
      • The way to achieve a software objective within time and budget is to develop less features.
    • High speed goes hand in hand with serious discipline and excellent quality.
  • Great products come from changing the focus from:
    • productivity to impact.
    • predictability to experimentation.
    • efficiency to decentralization.
    • product to problem.
  • To find the business purpose ask: Who are our customers?
  • Long term success:
    • Better before cheaper.
    • Revenue before cost.
  • Tragedy of the commons is untrue if there is a self-governing community.
  • Reciprocity is the currency of cooperation.
  • Do not separate design from implementation.
    • Requirements docs are design.
  • Inverse estimation: Each feature has a time constraint determined by its value and market need.
  • Centralization due to cost savings/pressure, but if this cost pressure is due to market conditions changing, the company should be looking at innovation.
  • Learn to experiment.
  • Walk in the shoes of your customers.
  • Focus on execution gives best solutions to the problems you are trying to solve, but it will not tell you if they are the right problems.
  • Managers should be coaches, expert roles should be teachers.
  • Optimist develop software, pessimists run the data centers.

TOC

Introduction

  • Mindset: a mental model of how the world works.
  • Great products come from changing the focus from:
    • productivity to impact.
    • predictability to experimentation.
    • efficiency to decentralization.
    • product to problem.
  • Do not copy the practices. Developing a mindset is about developing the expertise to:
    • Ask the right questions.
    • Solve the right problems.
    • Do the right things for the context at hand.
  • Dual processing theory:
    • Humans have two "minds":
      • System 1: intuition, habit, emotions, fast.
      • System 2: analysis, plans, rational, slow.
  • The Fabric of Lean:
    • Purpose of Business:
      • Optimize the whole.
      • Focus on customers: long term success.
      • Douglas McGregor's Theory X:
        • X - people do not want to work and will do the minimum.
        • Y - people are eager to work and want to do a good job.
    • Energize workers:
      • Reciprocity:
        • Treat well workers, they will treat well customers, which will treat well the company.
        • Is local, hence leverage on power of peers, not incentives.
      • Workers want well-framed challenges.
        • Not too easy (boring), not too hard (discouraging).
      • Regulatory fit:
        • Aspirational: action, experimentation, start ups.
        • Duty: safety, failure prevention, big companies.
      • Constant Improvement.
      • Eliminate waste:
        • Building the wrong thing is the biggest wast of all.
      • Learn first.
      • Deliver fast.
      • Build Quality In.
      • Keep getting better.

The Purpose of Business

  • Two theories:
    • Peter Drucker: to create a customer.
    • Shareholder Value Theory: to maximize shareholder value. (Rational economics)
      • US CEO 1976 x36 average worker income.
      • US CEO 2010 x369 times.
  • To find the purpose ask:
    • Who are our customers?
  • Purpose is master, profit is servant.
  • Best entrepreneurs are mission oriented (Todd Park):
    • They could not stand the idea of a world without what they were building.
  • Rational work system:
    • Rational people are shrinkers:
      • Try to maximize personal benefit with minimal work.
      • People are inherently selfish.
      • Companies can either:
        • Give very detailed instructions and close supervision:
          • Discourage thinking and improving.
        • Setup incentive system aligned to company interests:
          • Attracts shrinkers (self-fulfilling prophecy).
          • Kill intrinsic motivation.
          • Never fair: kills collaboration.
    • Research:
      • 30% population are selfish.
      • 50% not.
      • 20% undecided: if company assumes they are selfish, they will be.
  • Two types of profits:
    • Good profits: the customer feels have received good value.
    • Bad profits: customer thinks he has been cheated:
      • Reduce customer loyalty.
      • Demoralize employees.
  • Common strategies for success in the long term (Michael Raynor and Mumtaz Ahmed):
    • Better before cheaper.
    • Revenue before cost.
  • Cooperative Work Systems:
    • Tragedy of the commons is untrue if there is a self-governing community.
    • 8 principles of self-governing communities in page 26.
    • Peer pressure is better at controlling bad behaviour than external agents.
    • The Dunbar Number:
      • Size of primate's neocortex is directly related to the number of social relationships.
      • This directly relates to the maximum size of a group.
      • For humans is 150.
      • Pre-industrial social groups:
        • 3-5 very close friends.
        • 12-15 close friends.
        • 30-50 hunting group: colleges who cooperate to accomplish a task.
        • 150 clan: people that maintain stable interpersonal relationships.
        • 500-2500 tribe: same language/dialect.
      • Why?
        • Reciprocity is the currency of cooperation.
    • Rules of cooperation:
      • Work groups should be responsible for its own fate.
      • Rules and norms should match local conditions. People affected should create/adapt them.
      • Peers will monitor each other.
      • External authorities should respect local communities.

Energized Workers

  • Fixed mindset: you have a natural talent or you dont.
  • Growth mindset: with you work, you can learn/do anything.
  • Expertise == challenge + coaching + progress + perseverance.
  • Optimist develop software, pessimists run the data centers.
  • Optimists:
    • Can do attitude.
    • Promotion focus: focus on gains.
    • Pursuing opportunities.
  • Pessimist:
    • "Is it safe?"
    • Prevention focus: focus on losses.
    • Prevent failures.
  • Managers should be coaches.
  • Biggest motivator for knowledge workers on a day-to-day bases is making progress in meaningful work.
  • Dealing with cognitive biases.
  • We put too much emphasis on reducing errors and not enough on building expertise.
  • Resilience: Chaos Engineering.

Delighted Customers

  • Do not build what the customer ask for.
  • Start by deeply understanding the problem through direct experience.
  • Do not separate design from implementation.
    • Design by objectives (Tom Gilb in Principles of Software Engineering Management):
      • Give high level measurable goals.
      • Let the team (interacting with the customer) design the solution.
    • Requirements docs are design.
  • When product becomes a commodity, design creates a competitive space.
  • How designers work?
    • Spend a lot of time watching people.
    • Not alone, but with the whole team, so there are more perspectives.
    • Multiple sketches to share with the team.
    • Understand psychology.
    • Challenge assumptions.
    • Constant feedback.
    • Welcome failed experiments.
  • Key design/scientific planning questions:
    • What are the possibilities?
    • What has to be true in order for a possibility to succeed?
    • What experiments can we run to see if those things are true?
  • Design toolbox:
    • Establish empathy:
      • Journey map.
      • Adoption chain analytics.
    • Generate possibilities:
      • Sample press release.
      • Impact map.
    • Run experiments:
      • Assumption testing.
      • Rapid prototyping.
      • Learning launch.

Genuine Efficiency

  • Efficiency == not more features but only right features.
  • Development efficiency is ratio of effort expended to overall product performance.
  • Flow efficiency, not resource efficiency.
  • Expert roles is of a teacher, helping teams figure out the details themselves.
  • Interdisciplinary teams, learning from each other, focusing on customers.
  • Inverse estimation: Each feature has a time constraint determined by its value and market need.
  • Features described as a high-level goal. Team decide details.
  • Start ups: early months, only real progress is learning what creates value for customers.
  • Architects and specialists as glue between teams.
  • High speed goes hand in hand with serious discipline and excellent quality.
  • Deliver fast: most important Lean principle. Other principles are "forced" by it.
  • Incomplete product != low quality.
    • It is a valid concern that customers get a bad impression from an incomplete product.
    • If product main selling point is the experience it delivers, delay launch until the experience is right.
  • Build-Measure-Learn cycle.
  • A feature was not complete until there was data showing the impact on key business metrics.
  • How Spotify build products: Think it, Built it, Ship it, Tweak it. Page 119.

Breakthrough Innovation

  • Disruptive new business have a better change of success if they are formed as separated business units, rather than embedded in existing product lines.
  • Focus on execution gives best solutions to the problems you are trying to solve, but it will not tell you if they are the right problems.
  • Expect front-line people to understand and solve a customer's whole problem.
  • Expect local managers to have the wisdom and give them the freedom to do the right thing.
  • Wrong questions: "How will Lean or Agile increase productivity?"
    • The path to effective SW development is to develop what customers will love—and only those features.
  • The way to achieve a software objective within time and budget is to develop less features.
  • Path to long term survival:
    • Create variations.
    • Select what succeeds.
    • Repeat.
  • If there are no failures, there is not enough variation/you are not trying hard enough.
  • Learn to experiment:
    • Place small bets.
    • Tolerate failure, but make sure that is:
      • Survivable.
      • Recognizable.
      • Killed quickly.
    • Scale quickly successes.
  • Innovative companies are decentralized companies.
  • Innovation requires different metrics/processes than core business.
  • Centralization due to cost savings/pressure, but if this cost pressure is due to market conditions changing, the company should be looking at innovation.
  • Decentralization balance:
    • Too much: fragmented product, complex communication.
    • Too little: workers with no sight to costumers, which removes meaning from work.
  • Innovation checklist:
    1. Give product devs a clear line of sight to their customers:
      • Take care that Product Manager/Owner do not divorce developers from customers.
        • It confines creative power of devs to implementation issues.
    2. Interdisciplinary teams:
      • Build respect across disciplines. This is a huge task.
      • Check out compensation system. Does it encourage teamwork?
    3. Disrupt yourself:
      • Find simpler, cheaper ways to solve customer problems.
      • Be skeptical of:
        • High prices.
        • Barriers to access content.
        • Your approach to allocate resources.
    4. Change what you pay attention to:
      • Stop worrying about productivity.
      • Create a process that encourages experiments.
      • Decouple your architecture.
      • Walk in the shoes of your customers.
      • Articulate a high-level purpose.
    5. Develop support systems for innovation:
      • Training, time, ...
    6. Live in the future

Epilogue

  • Stop thinking about SW development as a delivery process and start thinking of it as a problem solving process.
  • Adam Smith Division of Labor theory:
    • Makes us believe that the most efficient way to get things done is to decompose work into its component parts and assign each component to a specialist.

Oldest comments (0)