Softwaretechnik Lean Software Development Prof. Dr. Matthias Hölzl Joschka Rinke 21. Januar 2016 Lean Software Development I Übertragung von Prinzipien des Lean Manufacturing,“ Lean ” ” Services“ und Lean IT“ auf die Softwareentwicklung ” Inspiriert vom Toyota Produktionssystem (TPS) I Gibt Prinzipien und Techniken zur Erstellung von Software an I Lean Software Development: Prinzipien I Optimiere das Gesamtsystem (optimize the whole) I Berücksichtige den Kunden (focus on customers) I Gib dem Team mehr Entscheidungsfreiheit (empower the team) I Eliminiere Verschwendung (eliminate waste) I Verbessere den Lernprozess (enhance learning) I Verbessere den Durchsatz (increase flow) I Baue Qualität (build quality in) I Werde immer besser (keep getting besser) Optimize the Whole I Kläre den Zweck (clarify purpose) I Berücksichtige die gesamte Wertschöpfungskette I Denke langfristig (think long-term) Focus on Customers I Frage die richtigen Fragen I Löse die richtigen Probleme I Entwerfe ein großartiges Erlebnis (design a great experience) Empower the Team Das Team braucht I Ziele (purpose) I Herausforderungen I Verantwortung Eliminate Waste I Verschwendung ist alles, was keinen unmittelbaren Kundennutzen hat I I I I I I I I Die drei größten Verschwendungen sind I I I I Überflüssiger Code Unnötige Prozessschritte und -ergebnisse Verzögerungen im Prozess Unklare Requirements Unnötige Bürokratie Langsame oder fehlende Kommunikation ... herstellen des falschen Produkts (build the wrong thing) ein falscher Weg um das Produkt herzustellen (build the thing wrong) eine Los und Warteschlangenmentalität (batch and queue Mentality) Wertstromanalyse (Value-Stream Mapping) als Verfahren, Verschwendung zu erkennen Enhance Learning I Das Vorhersage-Paradoxon: Vorhersehbare Ergebnisse werden durch die Fähigkeit zum Lernen und schnellen Adaptieren erreicht, nicht durch Prognosen die als Pläne getarnt werden I Wissensbasierte Entwicklung versucht Lücken im Wissen zu entdecken und schließen, mehrere Optionen zu entwickeln und parallele Entwicklungen häufig zu synchronisieren I Last Responsible Moment: Entscheidungen, sollten weder vor noch nach dem richtigen Zeitpunkt getroffen werden Last Responsible Moment I Je weniger Wissen für eine Entscheidung vorhanden ist, desto wahrscheinlicher ist es eine falsche Entscheidung zu treffen I Da falsche Entscheidungen höhere Kosten verursachen sind Entscheidungen (im Durchschnitt) um so teurer, je früher man sie trifft I Ab einem gewissen Punkt ist es typischerweise zu spät eine Entscheidung zu treffen, die Auswahl wird dann durch äußere Umstände erzwungen I Das Verzögern von Entscheidungen ist nicht gleich dem Verschleppen oder Nicht-Treffen von Entscheidungen! I Constraintbasierte oder Mengenbasierte Entwicklungstechniken erleichtern das Verzögern von Entscheidungen Last Responsible Moment Increase Flow Versuche einen stetigen, gleichmäßigen Arbeitsfluss zu erreichen I Geschwindigkeit, Qualität und niedrige Kosten sind miteinander vereinbar I Versuche Flusseffizienz zu erreichen nicht Ressourceneffizienz I Manage den Workflow, nicht Task-basierte Zeitpläne Build Quality In I Baue Fehlertoleranz in den Prozess ein (mistake-proof the process) I Das System soll zu jedem Zeitpunkt auf jeder Ebene vertrauenswürdig sein I Integriere früh und oft I Toleriere keine Defekte Keep Getting Better I Gehe mit der Zeit (change as fast as the world changes) I Berücksichtige Details (pay attention to the small stuff) Verwende die wissenschaftliche Methode I I I I I Hypothesen Experimente Dokumentiere die Ergebnisse knapp Wähle die beste Alternative
© Copyright 2025 ExpyDoc