Overview of Lean-Agile Software Development

Note: I am still trying to figure out how much detail to put in this chapter. But thought at least the outline of what a full description would look like.

Mindset of Lean-Agile

  • Systems thinking
  • Achieve results by improving people and systems
  • Attend to time
  • Build quality into the system

Laws to Attend to

  • Nature of Product Development – Flow
    • Delays in workflow and feedback create extra work
    • Little’s law
  • Nature of People
    • People are tribal in nature, you must account for this
    • Too much change causes fear

Lean-Agile Principles

  • Take an Economic View  – focus on value
    • Customer Value
    • Discovering what is valuable
    • Discovering how to build what is of value
    • Building it
    • Improving Your value Stream
  • Deliver Fast – Lessons from Lean-Startup – Using Minimum Business Increments
  • Reduce Batch Size
  • Manage work with pull systems
  • Decentralize Decisions
  • Synchronize work

Lean-Agile Practices

  • Create visibility
    • Map the value stream
    • Attend to your value stream impedance
    • Explicit workflow
  • Optimize the whole
  • Create teams when possible
    • Cross-functional Teams Eliminate Waste
    • How to create teams when it doesn’t appear possible
    • Attend to Key Folks – Know how to manage constraining people
  • Limit work to capacity
  • Reduce Technical Debt with Test-first and automation
  • Use Cadence and Synchronization to Improve collaboration and reduce duplication of effort