You are on page 1of 15

Lean Software Development

Politehnica University of Bucharest


Computer Science
Cristian Andreica 341C5
cristian.andreica@gmail.com
TODOs
• Assumptions
• Build cars faster
• Practices vs Principles
• Go lean
• Pivotal Tracker
Assumptions
• 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
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

You might also like