46
AGILE SOFTWARE- ENTWICKLUNG less is more

Agile developmentphp usergroup

Embed Size (px)

Citation preview

Page 1: Agile developmentphp usergroup

AGILE SOFTWARE-ENTWICKLUNG

less is more

Page 2: Agile developmentphp usergroup

- 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

Inhalt

Page 3: Agile developmentphp usergroup

HistorieKlassisches Management! - Industrialisierung und Massenproduktion! - Taylor und Ford! - die Fabrik, der Arbeiter und das Fließband

Ford Fließband, Michigan,1927

Page 4: Agile developmentphp usergroup

HistorieProportionales Wachstum

Page 5: Agile developmentphp usergroup

HistorieProportionales Wachstum

Page 6: Agile developmentphp usergroup

HistorieProportionales Wachstum

Page 7: Agile developmentphp usergroup

Historie Unternehmens Management! - von der Fabrik zur Office-Struktur! - Abteilungen, Großraumbüros! - Hierarchie und Dienstwege

Büro, Californien, ca. 1950

Page 8: Agile developmentphp usergroup

HistorieManagement in der Software-Entwicklung! - Management by Objectives! - Lasten- und Pflichtenhefte! - Anforderungs-Management! - Reporting und Controlling

Page 9: Agile developmentphp usergroup

HistorieProportionales Wachstum

Page 10: Agile developmentphp usergroup

HistorieProportionales Wachstum

Page 11: Agile developmentphp usergroup

HistorieProportionales Wachstum

Page 12: Agile developmentphp usergroup

HistorieProportionales Wachstum

Page 13: Agile developmentphp usergroup

HistorieKonsequenzen 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)

Page 14: Agile developmentphp usergroup

HistorieKlassische Methoden der Software Entwicklung! - Wasserfall und V-Modelle! - Liefertermine! - Projektplanung! - Qualität von Software

Anforderung

System-Analyse

System-Entwurf

Test

Integration

Abnahme

Produkt

Anforderung

System-Analyse

System-Entwurf

System Integration

Software IntegrationGrobentwurf

Feinentwurf

Implementierung

Page 15: Agile developmentphp usergroup

HistorieKlassische Methoden und ProjektplanungProjektplanung! - Risikomanagement! - Deadlines! - Projekt-Kosten! - Produkt-Qualität

Page 16: Agile developmentphp usergroup

HistorieKlassische Methoden und ProjektplanungProjektplanung! - Risikomanagement! - Deadlines! - Projekt-Kosten! - Produkt-Qualität

Page 17: Agile developmentphp usergroup

HistorieKlassische Methoden und ProjektplanungProjektplanung! - Risikomanagement! - Deadlines! - Projekt-Kosten! - Produkt-Qualität

Page 18: Agile developmentphp usergroup

HistorieKlassische Methoden und ProjektplanungProjektplanung! - Death March! - Useless Feature Overflow! - Instandhaltungs-Kosten! - Produkt-Qualität

Denver Airport baggage handling system

Page 19: Agile developmentphp usergroup

HistorieKlassische 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

Page 20: Agile developmentphp usergroup

HistorieKennzeichen klassischen Managements! - unveränderliche konservative Prozesse! - Bürokratische Überladung! - große Controlling Abteilungen! - viele inoperablen Hierarchie-Schichten! - lange Produkt-Release Zyklen! - lange Reaktions-Zeiten

Page 21: Agile developmentphp usergroup

HistorieKennzeichen klassischen Managements! - unveränderliche konservative Prozesse! - Bürokratische Überladung! - große Controlling Abteilungen! - viele inoperablen Hierarchie-Schichten! - lange Produkt-Release Zyklen! - lange Reaktions-Zeiten

Page 22: Agile developmentphp usergroup

HistorieKennzeichen klassischen Managements! - unveränderliche konservative Prozesse! - Bürokratische Überladung! - große Controlling Abteilungen! - viele inoperablen Hierarchie-Schichten! - lange Produkt-Release Zyklen! - lange Reaktions-Zeiten

Page 23: Agile developmentphp usergroup

HistorieKennzeichen klassischen Managements! - unveränderliche konservative Prozesse! - Bürokratische Überladung! - große Controlling Abteilungen! - viele inoperablen Hierarchie-Schichten! - lange Produkt-Release Zyklen! - lange Reaktions-Zeiten

Page 24: Agile developmentphp usergroup

Manifesto for Agile Software Development DAS AGILE MANIFEST

Februar 2001, Utah

James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern

Brian Marick

Kent Beck Mike Beedle

Arie van Bennekum Alistair Cockburn

Ward Cunningham Martin Fowler

Robert C. Martin Steve Mellor

Ken Schwaber Jeff Sutherland Dave Thomas

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

Page 25: Agile developmentphp usergroup

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

Page 26: Agile developmentphp usergroup

Die 12 Prinzipien des Agilen ManifestsUnsere höchste Priorität ist es,

den Kunden durch frühe und kontinuierliche Auslieferungwertvoller Software zufrieden zu stellen.

!

Heisse Anforderungsänderungen selbst spätin der Entwicklung sind willkommen.

!

Agile Prozesse nutzen Veränderungenzum Wettbewerbsvorteil des Kunden.

!

Liefere funktionierende Software regelmäßig innerhalb weniger Wochen oder Monate und

bevorzuge dabei die kürzere Zeitspanne.

Page 27: Agile developmentphp usergroup

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.

Page 28: Agile developmentphp usergroup

Die 12 Prinzipien des Agilen Manifests

Funktionierende Software ist daswichtigste 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 undgutes Design fördert Agilität.

Page 29: Agile developmentphp usergroup

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.

Page 30: Agile developmentphp usergroup

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).

Page 31: Agile developmentphp usergroup

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

!

Page 32: Agile developmentphp usergroup

Agiles Management

Alles in einer Agilen Umgebung sollte der Philosophie folgen:!Starte schnell, schaffe etwas, bekomme Feedback, passe an!

Page 33: Agile developmentphp usergroup

Agiles Management

Alles in einer Agilen Umgebung sollte der Philosophie folgen:!Starte schnell, schaffe etwas, bekomme Feedback, passe an!

Frühzeitige inkrementelle Produktreife

Page 34: Agile developmentphp usergroup

Agiles Management

Alles in einer Agilen Umgebung sollte der Philosophie folgen:!Starte schnell, schaffe etwas, bekomme Feedback, passe an!

Frühzeitige inkrementelle ProduktreifeFrühzeitiger Rückfluss von Umsatz

Page 35: Agile developmentphp usergroup

Agiles Management

Alles in einer Agilen Umgebung sollte der Philosophie folgen:!Starte schnell, schaffe etwas, bekomme Feedback, passe an!

Frühzeitige inkrementelle ProduktreifeFrühzeitiger Rückfluss von Umsatz

Frühzeitige Resonanz am Markt

Page 36: Agile developmentphp usergroup

Agile TeamsAutonomie - das Team agiert selbstbestimmt!!

Disziplin - Einhaltung der selbstauferlegten Regeln!!

Verantwortung - Das „Chicken-Pig“-Business!!

Egalität - Jedes Team-Mitglied ist gleichberechtigt

Page 37: Agile developmentphp usergroup

Tools, Methoden, Frameworks

- Extreme Programming - Lean Development - Kanban - Scrum

Page 38: Agile developmentphp usergroup

Tools, Methoden, FrameworksExtreme 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

Page 39: Agile developmentphp usergroup

Tools, Methoden, FrameworksLean 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

Page 40: Agile developmentphp usergroup

Tools, Methoden, FrameworksKanban

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

Page 41: Agile developmentphp usergroup

Tools, Methoden, FrameworksScrum

Page 42: Agile developmentphp usergroup

Tools, Methoden, FrameworksScrum

Scrum Team Product Owner Scrum Master

Page 43: Agile developmentphp usergroup

Tools, Methoden, FrameworksScrum

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

Page 44: Agile developmentphp usergroup

Tools, Methoden, FrameworksScrum

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

Page 45: Agile developmentphp usergroup

Tools, Methoden, FrameworksScrum

Page 46: Agile developmentphp usergroup

Kontakt

Alexander Wenzel !freshcells system engineering GmbH [email protected]