The document discusses the principles of lean software development, including eliminating waste, amplifying learning, deciding late, delivering fast, and empowering teams. It mentions practices like value stream mapping, iterative development, pull systems, and using tools like Pivotal Tracker. The overall goal is to build software faster while avoiding bugs through these lean principles and practices.
3. My code is bug-freeBuild software like you build carsIf you try to build faster, youll get bugs in architectureDevelopers test as good as QAI cannot work fasterAssumptions
9. 2. Amplify LearningDo it right the first time?How can I learn most effectively?Try-it, test-it, fix-itFeedbackTest a lotConvergenceSet-based development
10. 3. Decide as Late as PossibleBread-first vs Depth-firstConcurrent developmentOption ThinkingCode for late decisions
11. 4. Deliver as Fast as PossibleHaste Makes WastePull systemsIteration Planning
13. 5. Empower the teamThe biggest player is not a manager, hes a leaderHire good people, and leave them aloneIf you put fences around people, you get sheep. Give people the room they need.Encourage, dont nitpck. Let people run with an idea.Give it a try. Quick!
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 -> youre not supposed to make early decisionsAvoid choosing frameworks too early