Lean principles (software development)

Based on the chapter 17 from Lean from the Trenches book by Henrik Kniberg. This summary of the Lean principles is attributed to Mary and Tom Poppendieck (www.poppendieck.com)

Get Started. It's Free
or sign up with your email address
Lean principles (software development) by Mind Map: Lean principles  (software development)

1. Build Quality In

1.1. Final verification should not find defects

1.1.1. find

1.1.2. fix defects

1.1.3. as early in the dev process as possible

1.2. Mistake-proof your process with test-first dev

1.2.1. tests must be available to build confidence in the correctness of the system at any time during dev at every level of the system

1.3. Break dependencies

1.3.1. system architecture

1.3.2. should support the addition

1.3.3. of any feature

1.3.4. at any time

2. Learn constantly

2.1. Predictable performance is driven by feedback

2.1.1. a predictable organization

2.1.2. develops the capacity

2.1.3. to rapidly respond to the feature

2.1.4. as it unfolds

2.2. Maintain options

2.2.1. make code change-tolerant

2.3. Last responsible moment

2.3.1. learn before making irreversible decisions

2.3.2. too early or too late don't make decisions that will be expensive to change before their time don't make them after their time

3. Deliver Fast

3.1. Rapid delivery, high quality, low cost are fully compatible

3.1.1. companies that compete

3.1.2. on the basis of speed

3.1.3. have a big cost advantage

3.1.4. deliver superior quality

3.1.5. are more attuned to their customers' needs

3.2. Queuing theory applies to development

3.2.1. drive down cycle time small batches fewer things in process

3.2.2. aggressively limit the size lists queues

3.3. Managing workflow is a lot easier than managing schedules

3.3.1. reliable, predictable deliveries

3.3.2. reliable, repeatable workflows with iterations or Kanban system

4. Keep Getting Better

4.1. Failure is a learning opportunity

4.1.1. most reliable performance comes when even small failures are deeply investigated corrected noise is not tolerated

4.2. Standards exist to be challenged and improved

4.2.1. embody the current best-known practice

4.2.2. in standards that everyone follows

4.2.3. while encouraging everyone to challenge to change

4.2.4. the standards

4.3. Use the scientific method

4.3.1. teach teams to establish hypotheses conduct many rapid experiments create concise documentation implement the best alternative

5. Optimize the Whole

5.1. Focus on the entire value stream

5.1.1. concept → cash

5.1.2. customer request → deployed software

5.2. Deliver a complete product

5.2.1. customers want their problems solved

5.2.2. complete solutions are build by complete teams

5.3. Think long term

5.3.1. beware of governance incentive systems

5.3.2. that drive short-term thinking optimize local performance

6. Eliminate Waste

6.1. Building the wrong thing

6.2. Failure to learn

6.2.1. interference with learning governance by variance from plan frequent handovers separating decision making from work

6.3. Thrashing

6.3.1. interference with smooth flow of value task switching long lists of requests big piles of partly done work

6.3.2. deliver half the value for twice the effort

7. Engage everyone

7.1. Autonomy

7.1.1. most effective work groups are semi-autonomous teams with an internal leader who has end-to-end responsibility for complete, meaningful tasks

7.2. Mastery

7.2.1. respect for people means providing the challenge feedback environment

7.2.2. that enables everyone to become excellent

7.3. Purpose

7.3.1. only by believing

7.3.2. in the purpose of their work

7.3.3. people will become engaged

7.3.4. in achieving that purpose