Lean Software Dev. auf einen Blick
- Was?
- Lean-Prinzipien angewandt auf Softwareentwicklung
- Autoren
- Mary & Tom Poppendieck (Buch: 2003)
- Anzahl
- 7 Prinzipien
- Verwandt
- Beeinflusst Kanban, DevOps und Agile Methoden
Welche 7 Prinzipien definieren Lean Software Development?
Die Poppendiecks haben die Lean-Prinzipien nicht einfach kopiert, sondern für die Welt der Softwareentwicklung neu gedacht:
- Verschwendung eliminieren: Unnötiger Code, unnötige Features, Wartezeiten — alles, was dem Nutzer keinen Wert bringt, muss weg.
- Qualität einbauen: Nicht erst am Ende testen, sondern Qualität in jeden Schritt integrieren (Test-Driven Development, Pair Programming, Code Reviews).
- Wissen schaffen: Softwareentwicklung ist ein Lernprozess. Kurze Iterationen und schnelles Feedback helfen, die richtige Lösung zu finden.
- Entscheidungen aufschieben: Je später du dich festlegst, desto mehr weißt du. Architekturentscheidungen so spät wie verantwortbar treffen.
- Schnell liefern: Kurze Zyklen, kleine Releases. Je schneller du lieferst, desto schneller lernst du.
- Menschen respektieren: Vertraue den Entwicklern. Gib ihnen Autonomie und die Mittel, gute Arbeit zu leisten.
- Das Ganze optimieren: Optimiere nicht einzelne Abteilungen auf Kosten des Gesamtsystems. Der Wertstrom zählt — vom Kundenwunsch bis zur Auslieferung.
Was ist Verschwendung in der Softwareentwicklung?
Die sieben Muda-Arten lassen sich direkt übersetzen:
- Überproduktion → Features, die niemand nutzt
- Wartezeit → Warten auf Freigabe, Code Review, Deployment
- Transport → Übergaben zwischen Teams (Dev → QA → Ops)
- Überbearbeitung → Gold Plating, Over-Engineering
- Bestände → Halbfertige Features, Branches, die niemand merged
- Bewegung → Context Switching, Tool-Wechsel
- Fehler → Bugs, die erst spät auffallen
Warum solltest du Entscheidungen aufschieben?
Das klingt erstmal nach Prokrastination — ist aber das Gegenteil. Last Responsible Moment heißt: Triff die Entscheidung so spät wie möglich, aber so früh wie nötig. Warum? Weil du morgen mehr weißt als heute.
Beispiel: Du überlegst, welche Datenbank du nutzt. Statt dich am ersten Tag festzulegen, baust du eine Abstraktionsschicht und entscheidest später — wenn du weißt, welche Datenmuster tatsächlich auftreten. Das ist kein Zögern, sondern informiertes Handeln.
Wie setzt du Lean Software Development um?
Du brauchst kein neues Framework einzuführen. Lean Software Development ist eher eine Denkweise als ein Regelwerk. Konkret:
- Nutze Kanban mit WIP-Limits, um den Arbeitsfluss zu steuern.
- Messe die Durchlaufzeit (Lead Time) statt der Velocity.
- Automatisiere Tests und Deployments (CI/CD).
- Hinterfrage jedes Feature: „Braucht der Nutzer das wirklich?"
- Führe regelmäßige Retrospektiven durch — Kaizen für Entwickler.
Lean Software Development und Scrum schließen sich nicht aus. Viele Teams kombinieren Scrum-Sprints mit Lean-Prinzipien — und holen so das Beste aus beiden Welten.