Täglich grüßt das Murmeltier
Entwicklungsprozesse mit agilen Methoden verbessern
Dr. Andreas Wintersteiger
Objectbay Software & Consulting GmbH
office@objectbay.com
© 2007 Objectbay Software & Consulting GmbH. www.objectbay.com
Cone of Uncertainty (Boehm, 1981)
2
© 2007 Objectbay Software & Consulting GmbH. www.objectbay.com
Klassischer Entwicklungszyklus
3
0
10
20
30
40
50
60
70
1 2 3 4 5 6 7 8 9 10 11 12
known Bugs
Stress
© 2007 Objectbay Software & Consulting GmbH. www.objectbay.com
Verschwendung
 Frage nach dem Beitrag zur Wertschöpfung
 The Poppendieck Seven Wastes
 Unfertige Arbeit
 Zusätzliche Prozesse
 Extra Features
 Task Switching
 Waiting
 Motion
 Defects
4
Quelle: Poppendieck, 2007
© 2007 Objectbay Software & Consulting GmbH. www.objectbay.com
Teufelskreislauf
5
Stress
Qualität
Verschwen
dung
Kommuni-
kation
Unsicher-
heit
© 2007 Objectbay Software & Consulting GmbH. www.objectbay.com
Agile Methoden
 Geschichte
 Team / People over Process
 Agilität
 Feedback früh und häufig
 Responding to Change
 Ergebnis: Use-Cases schnell umsetzen
 Iterativ-inkrementell
6
© 2007 Objectbay Software & Consulting GmbH. www.objectbay.com
Agile Werte
 Kleine Releases
 kleine Stücke
 Kurze Zeiträume
 Iterativ-inkrementelle Entwicklung
 Gesamter Entwicklungszyklus
 Iterationen fixer Länger mit fixiertem Umfang
 „Time-Boxes“
 Collocation
 Face-to-Face Communication
 Team-Raum
 Visualisierung
 Feature Backlog
 Benutzer-/Wert-Orientiert
 Priorisiert
 Laufende, adaptive Planung
 Unterscheide Grob- und Feinplan
 „Planning Game“
 Komplexität
 Verantwortung
 Feedback
 Maximierung Feedback
 Kontinuierliches Lernen und Verbessern
 Qualität/Stabilität
 Effiziente Interaktion
 Effiziente Teamaktivitäten
 Gleicher Status (Synchronisation)
 Reflektiert Kundenwert
 Explorative Annäherung an bewegliche Ziele
 Balance Verantwortung und Mitsprache
 Erwartungen über Ziele abschätzbar
 Abschätzung durch Beteiligte
7
© 2007 Objectbay Software & Consulting GmbH. www.objectbay.com
Agile Werte (2)
8
 Selbst organisierende Teams
 Autonomes Handeln
 Prozess-Intelligenz
 Qualitätsgetriebene Prozesse
 „Jidoka“ (aus Lean Production)
 Testgetriebene Entwicklung
 Feedback
 Definition von „Fertig“
 Inspektion und Adaption
 Retrospektiven
 Einfachheit, Adaptierbarkeit
 Inhaltlich und prozessual einfach halten
 Lean (wenig Verschwendung)
 Adaptierbar
 Kein Mikro-Management
 Lösungskompetenz
 Produktivität
 Solides Fundament (Früherkennung)
 Kein „technical debt“
 Hohe Änderbarkeit
 Vermeidung von „Halbfabrikaten“
 Lernen und Verbessern
 Reflexion
 Maximierung des Business-Value
 Maximierung des Kundenwerts
 Veränderungen „entgegenkommen“
© 2007 Objectbay Software & Consulting GmbH. www.objectbay.com
Feedback
9
X Iteration
© 2007 Objectbay Software & Consulting GmbH. www.objectbay.com
Scrum: Use Cases in 2 Wochen umsetzen…
10
2 – 4
Wochen
24
Std.
Sprint Backlog
Backlog
Daily Scrum
Sprint
Produkt
Inkrement

UP
© 2007 Objectbay Software & Consulting GmbH. www.objectbay.com
Test-Automatisierung
11
© 2007 Objectbay Software & Consulting GmbH. www.objectbay.com
Sprint Review
12
© 2007 Objectbay Software & Consulting GmbH. www.objectbay.com
Agile Projektplanung
13
© 2007 Objectbay Software & Consulting GmbH. www.objectbay.com
Scrum – Ergebnisse
 Frühes und häufiges Feedback, dadurch Fokus auf die
wichtigen Features
 Reduktion des Stress-Niveaus in der Entwicklung, besonders
vor Meilensteinen
 Signifikant höhere Transparenz auf den Projektfortschritt
 Einfachere und realistischere Möglichkeit zur Planung
 Deutliche Steigerung der Produktivität durch klare
Fokussierung
 Nachhaltige Steigerung der Softwarequalität
 Steigerung der Zufriedenheit von Kunden und Mitarbeitern
 Hohe Sichtbarkeit organisatorischer Schwächen, die den
Entwicklungsprozess behindern
14

Agile-Scrum Pulse 30min (2007)

  • 1.
    Täglich grüßt dasMurmeltier Entwicklungsprozesse mit agilen Methoden verbessern Dr. Andreas Wintersteiger Objectbay Software & Consulting GmbH office@objectbay.com
  • 2.
    © 2007 ObjectbaySoftware & Consulting GmbH. www.objectbay.com Cone of Uncertainty (Boehm, 1981) 2
  • 3.
    © 2007 ObjectbaySoftware & Consulting GmbH. www.objectbay.com Klassischer Entwicklungszyklus 3 0 10 20 30 40 50 60 70 1 2 3 4 5 6 7 8 9 10 11 12 known Bugs Stress
  • 4.
    © 2007 ObjectbaySoftware & Consulting GmbH. www.objectbay.com Verschwendung  Frage nach dem Beitrag zur Wertschöpfung  The Poppendieck Seven Wastes  Unfertige Arbeit  Zusätzliche Prozesse  Extra Features  Task Switching  Waiting  Motion  Defects 4 Quelle: Poppendieck, 2007
  • 5.
    © 2007 ObjectbaySoftware & Consulting GmbH. www.objectbay.com Teufelskreislauf 5 Stress Qualität Verschwen dung Kommuni- kation Unsicher- heit
  • 6.
    © 2007 ObjectbaySoftware & Consulting GmbH. www.objectbay.com Agile Methoden  Geschichte  Team / People over Process  Agilität  Feedback früh und häufig  Responding to Change  Ergebnis: Use-Cases schnell umsetzen  Iterativ-inkrementell 6
  • 7.
    © 2007 ObjectbaySoftware & Consulting GmbH. www.objectbay.com Agile Werte  Kleine Releases  kleine Stücke  Kurze Zeiträume  Iterativ-inkrementelle Entwicklung  Gesamter Entwicklungszyklus  Iterationen fixer Länger mit fixiertem Umfang  „Time-Boxes“  Collocation  Face-to-Face Communication  Team-Raum  Visualisierung  Feature Backlog  Benutzer-/Wert-Orientiert  Priorisiert  Laufende, adaptive Planung  Unterscheide Grob- und Feinplan  „Planning Game“  Komplexität  Verantwortung  Feedback  Maximierung Feedback  Kontinuierliches Lernen und Verbessern  Qualität/Stabilität  Effiziente Interaktion  Effiziente Teamaktivitäten  Gleicher Status (Synchronisation)  Reflektiert Kundenwert  Explorative Annäherung an bewegliche Ziele  Balance Verantwortung und Mitsprache  Erwartungen über Ziele abschätzbar  Abschätzung durch Beteiligte 7
  • 8.
    © 2007 ObjectbaySoftware & Consulting GmbH. www.objectbay.com Agile Werte (2) 8  Selbst organisierende Teams  Autonomes Handeln  Prozess-Intelligenz  Qualitätsgetriebene Prozesse  „Jidoka“ (aus Lean Production)  Testgetriebene Entwicklung  Feedback  Definition von „Fertig“  Inspektion und Adaption  Retrospektiven  Einfachheit, Adaptierbarkeit  Inhaltlich und prozessual einfach halten  Lean (wenig Verschwendung)  Adaptierbar  Kein Mikro-Management  Lösungskompetenz  Produktivität  Solides Fundament (Früherkennung)  Kein „technical debt“  Hohe Änderbarkeit  Vermeidung von „Halbfabrikaten“  Lernen und Verbessern  Reflexion  Maximierung des Business-Value  Maximierung des Kundenwerts  Veränderungen „entgegenkommen“
  • 9.
    © 2007 ObjectbaySoftware & Consulting GmbH. www.objectbay.com Feedback 9 X Iteration
  • 10.
    © 2007 ObjectbaySoftware & Consulting GmbH. www.objectbay.com Scrum: Use Cases in 2 Wochen umsetzen… 10 2 – 4 Wochen 24 Std. Sprint Backlog Backlog Daily Scrum Sprint Produkt Inkrement  UP
  • 11.
    © 2007 ObjectbaySoftware & Consulting GmbH. www.objectbay.com Test-Automatisierung 11
  • 12.
    © 2007 ObjectbaySoftware & Consulting GmbH. www.objectbay.com Sprint Review 12
  • 13.
    © 2007 ObjectbaySoftware & Consulting GmbH. www.objectbay.com Agile Projektplanung 13
  • 14.
    © 2007 ObjectbaySoftware & Consulting GmbH. www.objectbay.com Scrum – Ergebnisse  Frühes und häufiges Feedback, dadurch Fokus auf die wichtigen Features  Reduktion des Stress-Niveaus in der Entwicklung, besonders vor Meilensteinen  Signifikant höhere Transparenz auf den Projektfortschritt  Einfachere und realistischere Möglichkeit zur Planung  Deutliche Steigerung der Produktivität durch klare Fokussierung  Nachhaltige Steigerung der Softwarequalität  Steigerung der Zufriedenheit von Kunden und Mitarbeitern  Hohe Sichtbarkeit organisatorischer Schwächen, die den Entwicklungsprozess behindern 14

Hinweis der Redaktion

  • #2 Selten ideale Bedingungen - Kunde - ausdrücken - Entwickler - verstehen - Markt ändert sich (90‘er 35  11 Monate Entwicklungzeitraum)
  • #3 Unischerheit - Was  Features - Wie  Technologie Größenordnung: 16-fach Sollen wir mehr Zeit investieren?
  • #4 klassisch: spät testen, spät integrieren, spät dokumentieren iterativ: von Beginn weg testen, integrieren, dokumentieren Workload und Stress ausnivellieren Qualität konstant hoch halten Geschwindigkeit nicht ohne Qualität möglich
  • #5 Task Switching: DeMarco/Lister: Peopleware, Project-Multitasking: Goldratt in Critical Chain
  • #6 Unsicherheit Ziele Leute: Schaffen wir das? Stressfaktor Qualität Verschwendung Kundenwert – Use Cases Plan/Execute – vs. Agilität  Antwort ist Agilität in der Entwicklung -> was ist das?
  • #12 generell: hochgradig automatisierte Umgebung schaffen Unit tests: einfach, effektiv, automatisierbar Erfahrung: ein paar Zeilen Unit Test Code finden garantiert einen Bug verschiedene Arten automatisierter Tests möglich, Unit Tests die einfachsten Schutz gegen Regressionen Coverage: messen statt schätzen bis auf Source Zeilen-Ebene Empfohlen ~ 70% total, ~ 90% Core (non-GUI) Code Tests sind Investition, die sich rasch und nachhaltig rentiert
  • #13 Umgesetzte Funktionalität demonstrieren ein Stückchen mehr an Funktionalität verfügbar Product Owner akzeptiert oder lehnt ab, conditions of satisfaction nur Funktionalität, die abgeschlossen ist Fortschritt-Sichtbarkeit Belohnung, sense of accomplishment Team hat gelernt