AGILE SOFTWAREENTWICKLUNG
less is more
Inhalt

- Historie	

- Das Agile Manifest	

- Entstehung und Beteiligte	

- die vier Grundsätze	

- 12 Prinzipien agiler Software-Entwicklung	

- Agiles Management	

- Agile Teams	

- Tools, Methoden und Frameworks	

- Extreme Programming 	

- Lean Development	

- Kanban	

- Scrum - Transforming the world of work	

- Rollen in Scrum:	

Scrum Team, Product Owner, Scrum Master	

- Time Boxes in Scrum: 	


Estimation Meeting, Sprint Planning I+II, Sprint, Daily Scrum, Review, Retrospective	


- Fragments:	


User Stories, Story Points, Scrum Backlog, Sprint Backlog, Impediments
Historie
Klassisches Management!
- Industrialisierung und Massenproduktion!
- Taylor und Ford!
- die Fabrik, der Arbeiter und das Fließband
Ford Fließband, Michigan,1927
Historie
Proportionales Wachstum
Historie
Proportionales Wachstum
Historie
Proportionales Wachstum
Historie
Unternehmens Management!
- von der Fabrik zur Office-Struktur!
- Abteilungen, Großraumbüros!
- Hierarchie und Dienstwege
Büro, Californien, ca. 1950
Historie
Management in der Software-Entwicklung!
- Management by Objectives!
- Lasten- und Pflichtenhefte!
- Anforderungs-Management!
- Reporting und Controlling
Historie
Proportionales Wachstum
Historie
Proportionales Wachstum
Historie
Proportionales Wachstum
Historie
Proportionales Wachstum
Historie
Konsequenzen aus diesem Miss-Management!
Unternehmen richten Bürokratische Tools ein um ein geringe Anzahl an
undisziplinierten Mitarbeitern zu kontrollieren, was die motivierten und
disziplinierten Mitarbeiter veranlasst, den Job zu wechseln, was dazu führt,
dass die Kontrollstrukturen erweitert werden müssen, was wiederum die noch
verbleibenden guten Mitarbeiter zum Wechsel treibt, und so weiter....!
Jim Collins (2001)	


Most companies build their bureaucratic rules to
manage the small percentage of wrong people
on the bus, which in turn drives away the right
people on the bus, which then increases the
need for more bureaucracy to compensate for
incompetence and lack of discipline, which then
further drives the right people away, and so
forth. !

!
Jim Collins (2001)
Historie
Klassische Methoden der Software Entwicklung!
- Wasserfall und V-Modelle!
- Liefertermine!
- Projektplanung!
- Qualität von Software
Anforderung

System Integration

Anforderung

System-Analyse

System-Analyse

System-Entwurf

System-Entwurf

Test

Grobentwurf
Integration

Software Integration

Feinentwurf
Abnahme

Implementierung
Produkt
Historie
Klassische Methoden und ProjektplanungProjektplanung!
- Risikomanagement!
- Deadlines!
- Projekt-Kosten!
- Produkt-Qualität
Historie
Klassische Methoden und ProjektplanungProjektplanung!
- Risikomanagement!
- Deadlines!
- Projekt-Kosten!
- Produkt-Qualität
Historie
Klassische Methoden und ProjektplanungProjektplanung!
- Risikomanagement!
- Deadlines!
- Projekt-Kosten!
- Produkt-Qualität
Historie
Klassische Methoden und ProjektplanungProjektplanung!
- Death March!
- Useless Feature Overflow!
- Instandhaltungs-Kosten!
- Produkt-Qualität
Denver Airport baggage handling system
Historie
Klassische Methoden und ProjektplanungProjektplanung!
- Death March!
- Useless Feature Overflow!
- Instandhaltungs-Kosten!
- Produkt-Qualität
Denver Airport baggage handling system

$186.000.000,- Design & Konstruktion!

!
+ $1.000.000/Tag über Monate durch Reparaturen und Modifikationen!

!
Nur eine Fluglinie nutzte das System für ausgehende Flüge!

!
$1.000.000,- Einsparung, wenn das System nicht genutzt wird
Historie
Kennzeichen klassischen Managements!
- unveränderliche konservative Prozesse!
- Bürokratische Überladung!
- große Controlling Abteilungen!
- viele inoperablen Hierarchie-Schichten!
- lange Produkt-Release Zyklen!
- lange Reaktions-Zeiten
Historie
Kennzeichen klassischen Managements!
- unveränderliche konservative Prozesse!
- Bürokratische Überladung!
- große Controlling Abteilungen!
- viele inoperablen Hierarchie-Schichten!
- lange Produkt-Release Zyklen!
- lange Reaktions-Zeiten
Historie
Kennzeichen klassischen Managements!
- unveränderliche konservative Prozesse!
- Bürokratische Überladung!
- große Controlling Abteilungen!
- viele inoperablen Hierarchie-Schichten!
- lange Produkt-Release Zyklen!
- lange Reaktions-Zeiten
Historie
Kennzeichen klassischen Managements!
- unveränderliche konservative Prozesse!
- Bürokratische Überladung!
- große Controlling Abteilungen!
- viele inoperablen Hierarchie-Schichten!
- lange Produkt-Release Zyklen!
- lange Reaktions-Zeiten
Manifesto for Agile Software Development
DAS AGILE MANIFEST

Februar 2001, Utah
Extreme Programming, SCRUM, Dynamic System Development Method, Adaptive
Software Development, Crystal, Feature-Driven Development, Pragmatic Programming, ...

James Grenning	

Jim Highsmith	

Andrew Hunt	

Ron Jeffries	

Jon Kern	

Brian Marick

Robert C. Martin	

Steve Mellor	

Ken Schwaber	

Jeff Sutherland	

Dave Thomas

Kent Beck	

Mike Beedle	

Arie van Bennekum	

Alistair Cockburn	

Ward Cunningham	

Martin Fowler
Manifesto for Agile Software Development
DAS AGILE MANIFEST

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Individuen und Interaktionen über Prozessen und Werkzeugen
Funktionierende Software über umfassender Dokumentation
Zusammenarbeit mit dem Kunden über Vertragsverhandlungen
Reagieren auf Veränderung über dem Befolgen eines Plans
Die 12 Prinzipien des Agilen Manifests
Unsere höchste Priorität ist es,

den Kunden durch frühe und kontinuierliche Auslieferung

wertvoller Software zufrieden zu stellen.	

!

Heisse Anforderungsänderungen selbst spät

in der Entwicklung sind willkommen. 	

!

Agile Prozesse nutzen Veränderungen

zum Wettbewerbsvorteil des Kunden.	

!

Liefere funktionierende Software

regelmäßig innerhalb weniger Wochen oder Monate und

bevorzuge dabei die kürzere Zeitspanne.
Die 12 Prinzipien des Agilen Manifests
Fachexperten und Entwickler müssen während 

des Projektes täglich zusammenarbeiten.

Errichte Projekte rund um motivierte Individuen.

Gib ihnen das Umfeld und die Unterstützung, die sie benötigen

und vertraue darauf, dass sie die Aufgabe erledigen.	

!

Die effizienteste und effektivste Methode, Informationen

an und innerhalb eines Entwicklungsteams zu übermitteln,

ist im Gespräch von Angesicht zu Angesicht.
Die 12 Prinzipien des Agilen Manifests
Funktionierende Software ist das

wichtigste Fortschrittsmaß.	

!

Agile Prozesse fördern nachhaltige Entwicklung.

Die Auftraggeber, Entwickler und Benutzer sollten ein

gleichmäßiges Tempo auf unbegrenzte Zeit halten können.	

!

Ständiges Augenmerk auf technische Exzellenz und

gutes Design fördert Agilität.
Die 12 Prinzipien des Agilen Manifests
Einfachheit -- die Kunst, die Menge nicht

getaner Arbeit zu maximieren -- ist essenziell.	

!

Die besten Architekturen, Anforderungen und Entwürfe

entstehen durch selbstorganisierte Teams.	

!

In regelmäßigen Abständen reflektiert das Team,

wie es effektiver werden kann und passt sein

Verhalten entsprechend an.
Agiles Management
!

Continuous Innovation	

Product Adaptability	

Reduced Delivery Schedules	

People and Process Adaptability	

Reliable Results	

!

Agility is the ability to both create and respond to change
in order to profit in a turbulent business environment.	

Agility is the ability to balance flexibility and stability
(Highsmith 2002).
Agiles Management
!

Innovatoren des Managements:	

Ricardo Semler, SEMCO Systems	

John Mackey, Whole Foods Market	

Bill Gore, W.L. Gore & Associates (GoreTex)	

!

Schlüssel-Faktoren für den Erfolg:	

SEMCO - Adaptive kontinuierliche Umstrukturierung	

Whole Foods Market - Filial-Autonomie und Regionsbezug	

W.L. Gore & Associates - Publicity driven projects	

!
Agiles Management
Alles in einer Agilen Umgebung sollte der Philosophie folgen:!
Starte schnell, schaffe etwas, bekomme Feedback, passe an!
Agiles Management
Alles in einer Agilen Umgebung sollte der Philosophie folgen:!
Starte schnell, schaffe etwas, bekomme Feedback, passe an!
Frühzeitige inkrementelle Produktreife
Agiles Management
Alles in einer Agilen Umgebung sollte der Philosophie folgen:!
Starte schnell, schaffe etwas, bekomme Feedback, passe an!
Frühzeitige inkrementelle Produktreife
Frühzeitiger Rückfluss von Umsatz
Agiles Management
Alles in einer Agilen Umgebung sollte der Philosophie folgen:!
Starte schnell, schaffe etwas, bekomme Feedback, passe an!
Frühzeitige inkrementelle Produktreife
Frühzeitiger Rückfluss von Umsatz
Frühzeitige Resonanz am Markt
Agile Teams

Autonomie

- das Team agiert selbstbestimmt!
!

Disziplin

- Einhaltung der selbstauferlegten Regeln!
!

Verantwortung

- Das „Chicken-Pig“-Business!
!

Egalität

- Jedes Team-Mitglied ist gleichberechtigt

Tools, Methoden, Frameworks
- Extreme Programming 	

- Lean Development	

- Kanban	

- Scrum
Tools, Methoden, Frameworks
Extreme Programming 	


Kommunikation im Vordergrund	

Anforderungen wachsen mit dem Produkt	

Prioritäten können sich ändern	

Kosten schwer abschätzbar	

Starres Regelwerk
Ausführliche Analysen vorab nötig:	

- Risiko-Analyse	

- Nutzen-Analyse	

- Marketing-Analyse
Tools, Methoden, Frameworks
Lean Development 	

1. Wert: Spezifiziere präzise den Wert deines Produktes!
2. Wertstrom: Erkenne den Wertstrom!
3. Flow: Erzeuge einen Wertstromfluss ohne Unterbrechungen!
4. Pull: Lasse den Kunden den Takt der Bearbeitung bestimmen!
5. Perfektion: Verbessere die Dinge kontinuierlich

Inkrementelles Weglassen von Unnötigem
Tools, Methoden, Frameworks
Kanban	

Reglementierung paralleler Arbeit!
Erhöhung der Task-Fertigstellungsgeschwindigkeit !
Auslastungsreduzierung der Entwickler!
Task-Fokussierung

•
•
•
•
•

Visualisiere den Fluss der Arbeit!
Begrenze die Menge angefangener Arbeit!
Miss und steuere den Fluss!
Mache die Regeln für den Prozess explizit!
Verwende Modelle, um Chancen für kollaborative
Verbesserungen zu erkennen
Tools, Methoden, Frameworks
Scrum
Tools, Methoden, Frameworks
Scrum	


Scrum Team 	

Product Owner 	

Scrum Master
Tools, Methoden, Frameworks
Scrum	


Estimation Meeting

!
Sprint Planning I+II

!
Sprint

!
Daily Scrum

!
Review
!
Retrospective
!

!
4-8 Stunden	

!
jeweils 4 Stunden	

!
2 - 6 Wochen	

!
15 Minuten	

!
bis zu 4 Stunden	

!
lang es dauert
Tools, Methoden, Frameworks
Scrum	


User Stories
- definierte Syntax; klarer Inhalt	

!
Story Points
- Konvention; unvergleichbare Einheit	

!
Scrum Backlog
- unvollständig; umpriorisierbar	

!
Sprint Backlog
- vollständig; umsetzbar	

!
Impediments
- unlösbar; von aussen einfallend
Tools, Methoden, Frameworks
Scrum
Kontakt

Alexander Wenzel	

!

freshcells system engineering GmbH	

!

wenzel@freshcells.de

Agile developmentphp usergroup

  • 1.
  • 2.
    Inhalt - Historie - DasAgile Manifest - Entstehung und Beteiligte - die vier Grundsätze - 12 Prinzipien agiler Software-Entwicklung - Agiles Management - Agile Teams - Tools, Methoden und Frameworks - Extreme Programming - Lean Development - Kanban - Scrum - Transforming the world of work - Rollen in Scrum: Scrum Team, Product Owner, Scrum Master - Time Boxes in Scrum: Estimation Meeting, Sprint Planning I+II, Sprint, Daily Scrum, Review, Retrospective - Fragments: User Stories, Story Points, Scrum Backlog, Sprint Backlog, Impediments
  • 3.
    Historie Klassisches Management! - Industrialisierungund Massenproduktion! - Taylor und Ford! - die Fabrik, der Arbeiter und das Fließband Ford Fließband, Michigan,1927
  • 4.
  • 5.
  • 6.
  • 7.
    Historie Unternehmens Management! - vonder Fabrik zur Office-Struktur! - Abteilungen, Großraumbüros! - Hierarchie und Dienstwege Büro, Californien, ca. 1950
  • 8.
    Historie Management in derSoftware-Entwicklung! - Management by Objectives! - Lasten- und Pflichtenhefte! - Anforderungs-Management! - Reporting und Controlling
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
    Historie Konsequenzen aus diesemMiss-Management! Unternehmen richten Bürokratische Tools ein um ein geringe Anzahl an undisziplinierten Mitarbeitern zu kontrollieren, was die motivierten und disziplinierten Mitarbeiter veranlasst, den Job zu wechseln, was dazu führt, dass die Kontrollstrukturen erweitert werden müssen, was wiederum die noch verbleibenden guten Mitarbeiter zum Wechsel treibt, und so weiter....! Jim Collins (2001) Most companies build their bureaucratic rules to manage the small percentage of wrong people on the bus, which in turn drives away the right people on the bus, which then increases the need for more bureaucracy to compensate for incompetence and lack of discipline, which then further drives the right people away, and so forth. ! ! Jim Collins (2001)
  • 14.
    Historie Klassische Methoden derSoftware Entwicklung! - Wasserfall und V-Modelle! - Liefertermine! - Projektplanung! - Qualität von Software Anforderung System Integration Anforderung System-Analyse System-Analyse System-Entwurf System-Entwurf Test Grobentwurf Integration Software Integration Feinentwurf Abnahme Implementierung Produkt
  • 15.
    Historie Klassische Methoden undProjektplanungProjektplanung! - Risikomanagement! - Deadlines! - Projekt-Kosten! - Produkt-Qualität
  • 16.
    Historie Klassische Methoden undProjektplanungProjektplanung! - Risikomanagement! - Deadlines! - Projekt-Kosten! - Produkt-Qualität
  • 17.
    Historie Klassische Methoden undProjektplanungProjektplanung! - Risikomanagement! - Deadlines! - Projekt-Kosten! - Produkt-Qualität
  • 18.
    Historie Klassische Methoden undProjektplanungProjektplanung! - Death March! - Useless Feature Overflow! - Instandhaltungs-Kosten! - Produkt-Qualität Denver Airport baggage handling system
  • 19.
    Historie Klassische Methoden undProjektplanungProjektplanung! - Death March! - Useless Feature Overflow! - Instandhaltungs-Kosten! - Produkt-Qualität Denver Airport baggage handling system $186.000.000,- Design & Konstruktion! ! + $1.000.000/Tag über Monate durch Reparaturen und Modifikationen! ! Nur eine Fluglinie nutzte das System für ausgehende Flüge! ! $1.000.000,- Einsparung, wenn das System nicht genutzt wird
  • 20.
    Historie Kennzeichen klassischen Managements! -unveränderliche konservative Prozesse! - Bürokratische Überladung! - große Controlling Abteilungen! - viele inoperablen Hierarchie-Schichten! - lange Produkt-Release Zyklen! - lange Reaktions-Zeiten
  • 21.
    Historie Kennzeichen klassischen Managements! -unveränderliche konservative Prozesse! - Bürokratische Überladung! - große Controlling Abteilungen! - viele inoperablen Hierarchie-Schichten! - lange Produkt-Release Zyklen! - lange Reaktions-Zeiten
  • 22.
    Historie Kennzeichen klassischen Managements! -unveränderliche konservative Prozesse! - Bürokratische Überladung! - große Controlling Abteilungen! - viele inoperablen Hierarchie-Schichten! - lange Produkt-Release Zyklen! - lange Reaktions-Zeiten
  • 23.
    Historie Kennzeichen klassischen Managements! -unveränderliche konservative Prozesse! - Bürokratische Überladung! - große Controlling Abteilungen! - viele inoperablen Hierarchie-Schichten! - lange Produkt-Release Zyklen! - lange Reaktions-Zeiten
  • 24.
    Manifesto for AgileSoftware Development DAS AGILE MANIFEST Februar 2001, Utah Extreme Programming, SCRUM, Dynamic System Development Method, Adaptive Software Development, Crystal, Feature-Driven Development, Pragmatic Programming, ... James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler
  • 25.
    Manifesto for AgileSoftware Development DAS AGILE MANIFEST Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Individuen und Interaktionen über Prozessen und Werkzeugen Funktionierende Software über umfassender Dokumentation Zusammenarbeit mit dem Kunden über Vertragsverhandlungen Reagieren auf Veränderung über dem Befolgen eines Plans
  • 26.
    Die 12 Prinzipiendes Agilen Manifests Unsere höchste Priorität ist es,
 den Kunden durch frühe und kontinuierliche Auslieferung
 wertvoller Software zufrieden zu stellen. ! Heisse Anforderungsänderungen selbst spät
 in der Entwicklung sind willkommen. ! Agile Prozesse nutzen Veränderungen
 zum Wettbewerbsvorteil des Kunden. ! Liefere funktionierende Software
 regelmäßig innerhalb weniger Wochen oder Monate und
 bevorzuge dabei die kürzere Zeitspanne.
  • 27.
    Die 12 Prinzipiendes Agilen Manifests Fachexperten und Entwickler müssen während 
 des Projektes täglich zusammenarbeiten.
 Errichte Projekte rund um motivierte Individuen.
 Gib ihnen das Umfeld und die Unterstützung, die sie benötigen
 und vertraue darauf, dass sie die Aufgabe erledigen. ! Die effizienteste und effektivste Methode, Informationen
 an und innerhalb eines Entwicklungsteams zu übermitteln,
 ist im Gespräch von Angesicht zu Angesicht.
  • 28.
    Die 12 Prinzipiendes Agilen Manifests Funktionierende Software ist das
 wichtigste Fortschrittsmaß. ! Agile Prozesse fördern nachhaltige Entwicklung.
 Die Auftraggeber, Entwickler und Benutzer sollten ein
 gleichmäßiges Tempo auf unbegrenzte Zeit halten können. ! Ständiges Augenmerk auf technische Exzellenz und
 gutes Design fördert Agilität.
  • 29.
    Die 12 Prinzipiendes Agilen Manifests Einfachheit -- die Kunst, die Menge nicht
 getaner Arbeit zu maximieren -- ist essenziell. ! Die besten Architekturen, Anforderungen und Entwürfe
 entstehen durch selbstorganisierte Teams. ! In regelmäßigen Abständen reflektiert das Team,
 wie es effektiver werden kann und passt sein
 Verhalten entsprechend an.
  • 30.
    Agiles Management ! Continuous Innovation ProductAdaptability Reduced Delivery Schedules People and Process Adaptability Reliable Results ! Agility is the ability to both create and respond to change in order to profit in a turbulent business environment. Agility is the ability to balance flexibility and stability (Highsmith 2002).
  • 31.
    Agiles Management ! Innovatoren desManagements: Ricardo Semler, SEMCO Systems John Mackey, Whole Foods Market Bill Gore, W.L. Gore & Associates (GoreTex) ! Schlüssel-Faktoren für den Erfolg: SEMCO - Adaptive kontinuierliche Umstrukturierung Whole Foods Market - Filial-Autonomie und Regionsbezug W.L. Gore & Associates - Publicity driven projects !
  • 32.
    Agiles Management Alles ineiner Agilen Umgebung sollte der Philosophie folgen:! Starte schnell, schaffe etwas, bekomme Feedback, passe an!
  • 33.
    Agiles Management Alles ineiner Agilen Umgebung sollte der Philosophie folgen:! Starte schnell, schaffe etwas, bekomme Feedback, passe an! Frühzeitige inkrementelle Produktreife
  • 34.
    Agiles Management Alles ineiner Agilen Umgebung sollte der Philosophie folgen:! Starte schnell, schaffe etwas, bekomme Feedback, passe an! Frühzeitige inkrementelle Produktreife Frühzeitiger Rückfluss von Umsatz
  • 35.
    Agiles Management Alles ineiner Agilen Umgebung sollte der Philosophie folgen:! Starte schnell, schaffe etwas, bekomme Feedback, passe an! Frühzeitige inkrementelle Produktreife Frühzeitiger Rückfluss von Umsatz Frühzeitige Resonanz am Markt
  • 36.
    Agile Teams Autonomie
 - dasTeam agiert selbstbestimmt! ! Disziplin
 - Einhaltung der selbstauferlegten Regeln! ! Verantwortung
 - Das „Chicken-Pig“-Business! ! Egalität
 - Jedes Team-Mitglied ist gleichberechtigt

  • 37.
    Tools, Methoden, Frameworks -Extreme Programming - Lean Development - Kanban - Scrum
  • 38.
    Tools, Methoden, Frameworks ExtremeProgramming Kommunikation im Vordergrund Anforderungen wachsen mit dem Produkt Prioritäten können sich ändern Kosten schwer abschätzbar Starres Regelwerk Ausführliche Analysen vorab nötig: - Risiko-Analyse - Nutzen-Analyse - Marketing-Analyse
  • 39.
    Tools, Methoden, Frameworks LeanDevelopment 1. Wert: Spezifiziere präzise den Wert deines Produktes! 2. Wertstrom: Erkenne den Wertstrom! 3. Flow: Erzeuge einen Wertstromfluss ohne Unterbrechungen! 4. Pull: Lasse den Kunden den Takt der Bearbeitung bestimmen! 5. Perfektion: Verbessere die Dinge kontinuierlich Inkrementelles Weglassen von Unnötigem
  • 40.
    Tools, Methoden, Frameworks Kanban Reglementierungparalleler Arbeit! Erhöhung der Task-Fertigstellungsgeschwindigkeit ! Auslastungsreduzierung der Entwickler! Task-Fokussierung • • • • • Visualisiere den Fluss der Arbeit! Begrenze die Menge angefangener Arbeit! Miss und steuere den Fluss! Mache die Regeln für den Prozess explizit! Verwende Modelle, um Chancen für kollaborative Verbesserungen zu erkennen
  • 41.
  • 42.
    Tools, Methoden, Frameworks Scrum ScrumTeam Product Owner Scrum Master
  • 43.
    Tools, Methoden, Frameworks Scrum EstimationMeeting ! Sprint Planning I+II ! Sprint ! Daily Scrum ! Review ! Retrospective ! ! 4-8 Stunden ! jeweils 4 Stunden ! 2 - 6 Wochen ! 15 Minuten ! bis zu 4 Stunden ! lang es dauert
  • 44.
    Tools, Methoden, Frameworks Scrum UserStories - definierte Syntax; klarer Inhalt ! Story Points - Konvention; unvergleichbare Einheit ! Scrum Backlog - unvollständig; umpriorisierbar ! Sprint Backlog - vollständig; umsetzbar ! Impediments - unlösbar; von aussen einfallend
  • 45.
  • 46.
    Kontakt Alexander Wenzel ! freshcells systemengineering GmbH ! wenzel@freshcells.de