Lean development Flashcards
7 key principles of lean software development
1) Eliminate Waste 2. Build Quality In 3. Create Knowledge 4. Defer Commitment 5. Deliver Fast 6. Respect People 7. Optimise The Whole
Lean over other
k
22 lean tools
1
See the whole
1) All the working parts
2) Everything integrating
3) Focus on overall system performance
4) Important in contracting, not individual needs drive the focus
Eliminate waste
1) anything does not add value
2) Anything not needed immediately
3) Handing development one group to another
Amplify learning
1) Communicate early and often
2) Decision based on empirical finding not on assumptions
3) Repeat throughout the process
4) Continually improve
5) Expect and embrace mistake
Decisions as late possible
1) Avoid locking in decision (design should be flexible)
2) Build a capacity for change in the system
Deliver as soon as possible
1) Quick feedback
2) Discovery cycle is critical (shorter the cycle, more can be learned)
Empowering the team
1) Developers can let others know when works needs to be done
2) Not possible for central authority to direct
3) Pull mechanism, self organizing, do whatever it takes to resolve the challenges
Build integrity into the system
1) Whatever delivered is what wanted
2) System maintain usefulness
3) Adaptable
Tools to eliminate waste -Seeing waste
1) partially done work
2) Extra processes - someone waiting for the output from the process
3) No extra features
4) Task switching
5) Waiting (not able to realize value)
6) Motion (co location), not only people
7) Defects (find as soon as it occurs, so test immediately)
Tools to eliminate waste -Value stream mapping
1) Flow of work (all process steps) -shows waiting and unnecessary steps
Principle 2-Amplifying
1) Feedback
2) Immediate customer not a future customer
3) Increase frequency loop in problem area
4) Iteration
5) Synchronization (feature based development)
6) Set based development(develop multi options, communicate constraints, letting solutions emerge)
Principle - 3, Decide as late
1) Options thinking
2) last possible moment
3) Making decisions (breadth first, depth first)
Option thinking
1) Maximize reward until more information available
2) Flexibility to respond to change
3) Fact based decision