Politehnica University of Bucharest Computer Science Cristian Andreica 341C5 [email protected] Lean Software Development
Jan 15, 2015
Politehnica University of BucharestComputer Science
Cristian Andreica [email protected]
Lean Software Development
• Assumptions• Build cars faster• Practices vs Principles• Go lean• Pivotal Tracker
TODOs
• My code is bug-free• Build software like you build cars• If you try to build faster, you’ll get bugs in
architecture• Developers test as good as QA• I cannot work faster
Assumptions
Linear Development
Incremental Development
1. Eliminate Waste
• Developer value VS Customer value• Obsolete code (partially done)• Exaustive documentation & planning• Too many features• Task switching• Waiting
Value Stream Mapping
Agile Value Stream Map
2. Amplify Learning
• Do it right the first time?• How can I learn most effectively?• Try-it, test-it, fix-it• Feedback• Test a lot• Convergence• Set-based development
3. Decide as Late as Possible
• Bread-first vs Depth-first• Concurrent development• Option Thinking• Code for late decisions
4. Deliver as Fast as Possible
• “Haste Makes Waste”• Pull systems• Iteration Planning
Bugs vs Stories
5. Empower the team
• The biggest player is not a manager, he’s a leader
• 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 nitpck. Let people run with
an idea.• Give it a try. Quick!
Pivotal Tracker