Prinzipien agiler Entwicklung

Preview:

Citation preview

1

Prinzipien agiler Entwicklung

Scrum, Kanban und der ganze Rest

Johannes Stiehler

Die Ursprünge

Toyota Production SystemLean Manufacturing

2

Kontinuierliche Verbesserung (Kai-Zen)

• Prozessorientierung

• Kundenorientierung

• Qualitätsorientierung

• Kritikorientierung

• Standardisierung

3

Kai-Zen Checkliste

• Muda: Verschwendung (8V-Regel)

• Muri: Überlastung

• Mura: Unregelmäßigkeit in den Prozessen

4

Kai-Zen: Acht Arten der Verschwendung (Muda)

• Überproduktion • überhöhte Lagerhaltung • überflüssigen Transport • Wartezeit • Herstellung fehlerhafter Teile • unnötige Bewegung • ungünstiger Herstellungsprozess / überflüssige Features • nicht oder falsch genutztes Talent der Mitarbeiter

5

Verschwendung in Software-Projekten

• unnötige Features ohne belegbaren Marktwert

• detaillierte Spezifikation für weit zukünftige Entwicklungen

• Features, die vor Release gestoppt werden

• Bugs, die an QA weitergegeben werden

• mangelnde Automatisierung, manuelle Deployment-Prozesse

• keine Einbeziehung des Dev-Teams in die QA, keine Einbeziehung des QA-Teams in die Spezifikation etc.

6

Der Weg zum perfekten Prozess

PLAN

Verbesserungspotentiale erkennen

DO

Implementierung evtl. im kleinen Maßstab

STUDY

Resultate überprüfen

ADJUST

Diskrepanz zwischen Plan und Realität feststellen

7

Copyright: ideenplanet GmbH

8

Theory of Constraints

1. Identifiziere den Engpass2. Laste den Engpass voll

aus3. Ordne alles der

Auslastungsentscheidung unter

4. Behebe den Engpass5. Bei Schritt 1 erneut

beginnen

Eliyahu M. Goldratt

Copyright: Marc CECCHETTI - Fotolia

Ergebnis: Just in time / Pull Prozess

• Spätere Prozessschritte „ziehen“ Ergebnisse aus früheren • Lagerhaltung wird vermieden • Engpässe werden kontinuierlich eliminiert • Nur was verkauft wurde, wird produziert

9

Das agile Manifesto

• Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan

10

–MIT Sloan

„Agile firms grow revenue 37% faster. Agile firms generate 30% higher profits.“

11

12

Agile Softwareentwicklung

Scrum, Kanban, XP…

Pending Analysis Development Test DeployIn

ProgressDone In

ProgressDone

Kai-Zen fürs Produkt: Iterative Entwicklung

Inkrementelle Mona Lisa

13

Copyright: ideenplanet GmbH und Maria Bell - Fotolia

Kai-Zen fürs Produkt: Iterative Entwicklung

Iterative Mona Lisa

14

Copyright: ideenplanet GmbH und Maria Bell - Fotolia

Kai-Zen fürs Produkt: Iterative Entwicklung

Inkrementell-iterative Mona Lisa

15

Copyright: ideenplanet GmbH und Maria Bell - Fotolia

Build –– Measure –– Learn

16

Voraussetzung und Ziel: Hochwertige Software

Anforderungen

• änderungsfreundlich

• wartungsfreundlich

• ohne technische Schuld

• selbstdokumentierend

• fehlerarm

17

Praktiken

• test-driven development

• code reviews / pair programming

• „clean code“

• „simple design“

Technische Schuld18

0

25

50

75

100

gesetzter Termin

Initiale Schätzung

Technische Schuld19

0

25

50

75

100

gesetzter Termin Projektion

Initiale Schätzung Realistischer

Durchsatz

Technische Schuld20

0

25

50

75

100

gesetzter Termin Projektion

„Der Termin ist fix.“

Technische Schuld

Technische Schuld21

0

25

50

75

100

1. Release 2. Release

Technische Schuld wächst

Prozessrollen (Scrum Team)

Product Owner (Main Customer) Verantwortlich für die Produktdefinition und den Produkterfolg

Scrum Master Verantwortlich für die Prozesskonformität und das Beseitigen von Hindernissen

Development Team Verantwortlich für das Veröffentlichen neuer Features

22

23

Cross-functional teams Collective Code Ownership

24

Scrum und Kanban Agile Vorgehensmodelle

Copyright: Alison Bowden - Fotolia

Kurze Einführung in Scrum

Bitte klicken: https://prezi.com/bywn-h7cfqmx/scrum/

25

Scrum vs. Kanban

• definierte Rollen • cross-functional Team • Schätzen • WIP limitiert durch

Zeitrahmen • Sprint ist read-only • optimaler Durchsatz

26

• Rollen frei definierbar • evtl. mehrere Teams • Messen • WIP limitiert durch Slot-

Größe • Backlog veränderbar • optimale Flexibilität

Zusammenfassung: Agiles Vorgehen

• Qualitativ hochwertige Software in kleinen Produktinkrementen

• Selbstorganisierende Teams, klare Verantwortlichkeiten • Unsicherheit und Wandel als Prozesskonstante • Pull-Ansätze • Kai-Zen

27

Vielen Dank für Ihre Aufmerksamkeit

johannes.stiehler@ideenpla.net

28

Recommended