Lean Software Development

1,454 views

Published on

Slides for presentation I gave at a course of Software Project Management.

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,454
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
22
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • 1940 - Toyota set out to build cars for JapanPeople did not had money, so the cars supposed to be cheapMass production meant building thousands of cars, but the market was too small
  • Agile developmentWaterfall model
  • If you do only wrights, you do not learnFeedback: semafoare, pilot automat
  • - Start programming the highest value features as soon as a high-level conceptual design is done, even when detailed requirements are being investigatedExpand as much as possibleCode for late decisions:Use objected-oriented approach, as it provides information hiding, interfaces, abstractions -> you’re not supposed to make early decisionsAvoid choosing frameworks too early
  • Lean Software Development

    1. 1. Lean Software Development<br />Politehnica University of Bucharest<br />Computer Science<br />CristianAndreica 341C5<br />cristian.andreica@gmail.com<br />
    2. 2. Assumptions<br />Build cars faster<br />Practices vs Principles<br />Go lean<br />Pivotal Tracker<br />TODOs<br />
    3. 3. My code is bug-free<br />Build software like you build cars<br />If you try to build faster, you’ll get bugs in architecture<br />Developers test as good as QA<br />I cannot work faster<br />Assumptions<br />
    4. 4. Linear Development<br />
    5. 5. Incremental Development<br />
    6. 6. 1. Eliminate Waste<br />Developer value VS Customer value<br />Obsolete code (partially done)<br />Exaustive documentation & planning<br />Too many features<br />Task switching<br />Waiting<br />
    7. 7. Value Stream Mapping<br />
    8. 8. Agile Value Stream Map<br />
    9. 9. 2. Amplify Learning<br />Do it right the first time?<br />How can I learn most effectively?<br />Try-it, test-it, fix-it<br />Feedback<br />Test a lot<br />Convergence<br />Set-based development<br />
    10. 10. 3. Decide as Late as Possible<br />Bread-first vs Depth-first<br />Concurrent development<br />Option Thinking<br />Code for late decisions<br />
    11. 11. 4. Deliver as Fast as Possible<br />“Haste Makes Waste”<br />Pull systems<br />Iteration Planning<br />
    12. 12. Bugs vs Stories<br />
    13. 13. 5. Empower the team<br />The biggest player is not a manager, he’s a leader<br />Hire good people, and leave them alone<br />If you put fences around people, you get sheep. Give people the room they need.<br />Encourage, don’t nitpck. Let people run with an idea.<br />Give it a try. Quick!<br />
    14. 14. Pivotal Tracker<br />

    ×