Projektmanagement Agile Methoden: Extreme Programming / Scrum Dokument V 1.2 Probleme bei Projekten Viel Arbeit, die an den Zielen vorbeigeht Viel Dokumentation für f r unbenutzte Bestandteile Fehlende Kommunikation
Variables Ziel ( Wolke( Wolke ) oose GmbH Agiles Manifest Individuals and interactions over Working software over Customer collaboration over Responding to change over over processes and tools over comprehensive documentation over contract negotiation over following a plan http://agilemanifesto.org/
Agiles Manifest Menschen/Interaktion über Prozessen und Tools Funktionierende Software über umfangreiche Dokumentation Zusammenarbeit mit Kunden über Vertragsverhandlungen Änderungen durchführen hren über Festhalten an Plänen Alle Punkte werden wertgeschätzt, tzt, aber im Zweifel eher die links stehenden! Code & Fix (Hacking( Hacking): Agil = Hacking? unstrukturiert, ziellos, alleine Agil: Kunde, Team, kurze Ziele, schnelle testbare Ergebnisse
Extreme Programming (XP) Enge Kundenanbindung während w des Projektes Kurze Entwicklungsschritte Schnelle Releases (lauffähige Software) Unit Tests für f r jedes Modul (Qualität!) t!) User Stories: : Anforderungen des Kunden Aufgaben: Entwicklungsschritte (2-3 3 Tage!) Pair Programming: : 2 Entwickler je PC Prioritäten ten nach Geschäftswert (Business Value) Iterationen, User Stories, Tasks
Scrum Scrum = Gedränge beim Rugby Etwas formaler als XP Kurze Arbeitsschritte (Tasks( Tasks): 1-21 2 Tage Sprints mit variablen Ergebnissen (2-4 4 Wochen) Termine stehen fest, Inhalte nicht ( Timeboxing( Timeboxing ) Schlanke Produktion (Lean Management, Toyota) Kai-Zen: höchste h Qualität t bei niedrigstem Aufwand Neue Begriffe: Scrum Master, Product Owner,, Team, Backlog Scrum: : Sprints und Reviews Sprints: Team arbeitet und organisiert alleine Daily Scrum: : Kurzbesprechung des Standes Sprint-Review Review: : Besprechung der Arbeitsergebnisse Team, Product Owner (Kunde), Moderator: Scrum Master Nicht erledigte Tasks in nächsten n Sprint verschuben Anpassung der Anforderungen (Product( Backlog)
Reviews Entwicklung ohne und mit Reviews [Mangold] User Story Anforderung aus Benutzer-Sicht Beispiel: Projekt Online-Shop Story: Kunde kann mit Kreditkarte bezahlen Er muss nicht den Kartentyp angeben Aufgaben: Zahlungsformular erweitern auf Kreditkartennummer Erkennung des Kartentypes anhand der Nummer
User Story Anforderung (Requirement( Requirement) ) aus Kundensicht Stories so unabhängig ngig wie möglichm Testfall: Wie kann die Story verifiziert werden Als ein (Rolle) möchte m ich (etwas) [, so dass (Vorteil)] Beispiel: Als ein Kunde möchte m ich die Bestellung mit Kreditkarte durchführen, hren, damit die Bestellung schneller ausgeführt wird Anforderungen Verfeinern Software-Projekt Internet-Jobbörse Grob: Feiner: Als ein Absolvent möchte m ich einen Job suchen, um Karriere zu machen Webseite mit Jobangeboten erstellen Job-Profile verwalten... Noch Feiner: Suchergebnis in Listenform anzeigen Lebenslauf hochladen
Verlauf agile Entwicklung Planen der folgenden Iteration (2-4 4 Wochen) User Stories mit Prioritäten ten durch den Kunden Stories können entfernt/verschoben/zugefügt gt werden Tägliches kurzes Standup-Meeting (10 min.) Woran wird gearbeitet? Probleme? Scrum-Prozess Anforderungen im Backlog Ständige Fortführung Daily Scrum-Meeting (10 min.) Sprint (14-30 Tage) Review http://de.wikipedia.org/wiki/scrum
Aufwand schätzen / Story Points Sehr schwierig! Kleine Schritte (User Stories / Tasks) Erfahrung nötig n (bisherige Projekte) Story Points : : fiktiver Aufwand Beispiele: Produkt in Warenkorb legen: 2 Bezahlung mit Kreditkarte: 5 Anbindung Payment: : 3 Erkennung Kartentyp: 1 XP und Scrum XP ist die extremste agile Variante Abstrakte, leichte Regeln Kommunikation Einfachheit: The simplest thing that could possibly work Inkrementelle Änderungen Keine festen Rollen oder Zeitvorgaben Iterationszeiten 1 41 4 Wochen Team bis ca. 10 Feste Arbeitszeiten (40h-Woche) Collective Ownership : : jeder darf alles bearbeiten Scrum gibt viele Regeln vor Rollen: Backlog, Scrum Master,
Wann funktionieren Agile Methoden nicht? Kulturen / Firmenstrukturen müssen m passen Chefs geben Anweisungen, erwarten komplett dokumentierte Systeme zum festen Termin Arbeitsumgebung muss passen (enger Austausch aller Beteiligten) Aufwändige Systeme einfache Testfälle nicht immer möglichm (aufwändige Maschinen/Systeme, ) Integration in komplizierte, hierarchische Großsysteme Preise und Verträge Fester Preis + Feste Funktionalität? t? Führt oft zu Problemen Wünsche des Kunden am Ende und Anfang unterschiedlich Festpreis: Sehr häufiges h Modell Agile Modelle: Angebot anhand grober User Storys Verfeinerung während w des Projektes Funktionalität t kann sich ändern während w des Verlaufs Analogien: Abo anstatt fester Kaufpreis Weihnachtsgeschenke Kunde ist glücklich über Ergebnis, das er vorher nicht kannte
Literatur: Extreme Programming (XP) Kent Beck / Martin Fowler, 2000 ff. Extreme Programming Explained http://books.google.de/books?id=79dsppdqdlyc Planning Extreme Programming http://books.google.de/books?id=u13hvoyvza8c