Notes from reading Lean Software Engineering Book

These are notes that I took a while ago while reading the book.  They have been housed in my OneNote notebook long enough – pushing them to the web where they are more accessible.


    1. Eliminate Waste
      1. Seeing Waste
        1. Partially Done Work
        2. Extra Processes
        3. Extra Features
        4. Task Switching
        5. Waiting
        1. Motion
        1. Defects
      1. Value Stream Mapping
    1. Amplify Learning
      1. Feedback
      2. Iterations
      3. Synchronization (CI)
      1. Set-based development versus point-based (multiple options – I am available from 9 to 12 versus can you do it at 9)
    1. Decide as late as possible (Concurrent Development)
      1. Options Thinking
      1. Last Responsible Moment
      1. Making Decisions
        1. Breadth-First versus Depth-First (Breadth first is delaying commitments)
        2. Intuitive Decision Making
        3. Simple Rules
    1. Deliver as fast as possible
      1. Pull System (Kanban)
      1. Queuing Theory
      1. Cost of Delay
    1. Empower the team
      1. Self-Determination – allow people to define how to fix things and then make them responsible for implementing the changes (you have to give them the time to do it)
      1. Motivation

    3M example – small, self-organizing groups that become passionate about a possibility and are allowed to make it a reality. McKnight one of the early company leaders said such things as "Hire good people, and leave them alone.", "If you put fences around people, you get sheep. Give people the room they need.", "Encourage, don’t nitpick. Let people run with an idea.", "Give it a try – and quick!". 3M had slack time (15 percent) like Google

    1. Leadership

    An organization has to value leadership in order to develop leaders

    1. Build integrity in
    1. See the whole

    Systems thinking – looking at organizations as systems and analyzing how they interrelate and perform based on the rules. System dynamics is when this analysis is done through computer simulation. Basic Patterns in systems thinking are: 1. Limits to Growth (theory of constraints) 2. Shifting the burden 3. Suboptimization

    1. Measurements
      1. Be very careful about what you measure as it can easily lead to suboptimization. Try to measure one level up rather than one level down
    1. Contracts (Trust)

This entry was posted in Technology. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s