Agile developmentphp usergroup

Preview:

Citation preview

AGILE SOFTWARE-ENTWICKLUNG

less is more

- 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

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

Ford Fließband, Michigan,1927

HistorieProportionales Wachstum

HistorieProportionales Wachstum

HistorieProportionales Wachstum

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

Büro, Californien, ca. 1950

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

HistorieProportionales Wachstum

HistorieProportionales Wachstum

HistorieProportionales Wachstum

HistorieProportionales Wachstum

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)

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

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

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

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

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

Denver Airport baggage handling system

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

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

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

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

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

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

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

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

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 ProduktreifeFrü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 ProduktreifeFrühzeitiger Rückfluss von Umsatz

Frühzeitige Resonanz am Markt

Agile TeamsAutonomie - 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, 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

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

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

Tools, Methoden, FrameworksScrum

Tools, Methoden, FrameworksScrum

Scrum Team Product Owner Scrum Master

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

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

Tools, Methoden, FrameworksScrum

Kontakt

Alexander Wenzel !freshcells system engineering GmbH !wenzel@freshcells.de

Recommended