SCRUM Agile Development
Konflikte! Zahlen für das Management! Planzahlen! Einfache Regeln! Einfache Kommunikation! Einhaltung von Vorgaben! Entwickler und Designer! Freiräume! Flexibilität! Kurze Iteration und schnelles Feedback
Vorgehensmodelle (Web) Traditionelle Vorgehensmodelle Agile Vorgehensmodelle
Traditionell Planungsphase Erarbeitung der Planungsdokumente Lastenheft / Grobkonzept Pflichtenhef / Feinkonzept Analyse- und Strategiepapiere
Traditionell! Phasenmodell / Wasserfallmodell! Jede Phase hat vordefinierte Start- und Endpunkte! Ergebnisdokumente! Meilensteinsitzungen
Wasserfallmodell! linear!! jede Phase hat einen vordefinierten Start- und Endpunkt Ergebnisdokumente (Lastenheft, Pflichtenheft)
Wasserfallmodell
Wasserfall! Vorteile! Planbarkeit! Schlanke Kommunikation! Klare Zuständigkeiten! Nachteile! Unflexibel! Abweichung Soll-, Istplan! Zu wenig Kommunikation! Probleme tauchen am Ende auf
V-Modell
V-Modell berücksichtigt die Qualitätssicherung
Spiralmodell
Spiralmodell Focus auf Risikobetrachtung Generisch (offen für andere Modelle) Iterativ
zusätzliche Phase Entwicklung eines Prototypen
Phasenmodell (Web) Phase 1 - Preproduction (Planung) Phase 2 - Production (Produktion) Phase 3 - Maintenance (Wartung und Pflege) Phase 4 - Evaluation (Bewertung)
Phase 1: Preproduction Projekt-Auswahl und -Definition Entwicklung der Lösungsansätze Projektspezifikation
Phase 2: Production Entwicklung des Contents Design und Programmierung (Design and construction) Testen, Launch und Übergabe (Testing, launch and handover)
Phase 3: Maintenance
Phase 4: Evaluation
Probleme traditioneller VM Moving target schwierig die Anforderungen bereits zu Beginn komplett und detailliert zu beschreiben bei Nichtberücksichtigung werden die Kundenbedürfnisse nicht befriedigt Time to Market Aus Zeitgründen schwierig Änderungswünsche zu berücksichtigen
Scrum 3 Säulen Transparenz Überprüfung (Inspect) Anpassung (Adapt)
Agile Vorgehensmodelle leichtgewichtig Analyse-, Planungs- und Dokumenationsarbeiten reduziert Entwicklungsprozess ist weniger stark formalisiert Offen für Änderungen - Kontinuierliche Änderungen sind Bestandteil des Entwicklungsprozesses
Agile Vorgehensmodelle ASD (Adaptive Software Development) Crystal XP (Extreme Programming) FDD (Feature Driven Development) Kanban Scrum
Agilen Manifest Prozesse und Werkzeuge Menschen und Interaktionen Umfassende Dokumentation Laufende Systeme Vertrag Zusammenarbeit mit dem Kunden Verfolgen eines Plans Fähigkeit, auf Änderungen zu reagieren
Extreme Programming (XP) Kommunikation Einfachheit Rückkopplung Mut
(Produkt)Vision
Product Owner! Mischung aus Produkt & Projektmanager! Verantwortlich für das Product Backlog! Priorisiert das Product Backlog
SCRUM Master! Mischung aus Coach & Change Agent! Ist für den reibungslosen Ablauf des Scrum-Prozesses verantwortlich! Beschütz das Team vor äußeren Einflüssen! Beseitigt Hindernisse
SCRUM Team! Führt alle Aufgaben aus! Crossfunktional! Ist bevollmächtigt! Selbstorganisiert
Product Backlog! Sammlung von Anforderungen an das Produkt! Ist priorisiert! Nie vollständig
User Stories (Items)! Frage: Was ist zu tun! Als <Rolle> möchte ich <Ziel/Wunsch>, um <Nutzen>! Akzeptanzkriterien! Angenommen <Vorbedingungen>, wenn <Aktion>, dann <Ergebnis>
Abschätzung! Erfolgt durch das SCRUM Team! planning poker
Abschätzung (Planning Poker)
Abschätzung (Planning Poker)
Release Plan! Items für Release aus dem Product Backlog auswählen! Anzahl von Sprint zum ersten Release festlegen
Sprint
Sprint Backlog! Items aus dem Product Backlog wandern in wandern in den Sprintbacklog.! Items werden in Tasks zerlegt.
Tasks! Frage: Wie ist es zu tun! User Stories werden in Tasks zerlegt! Werden neu abgeschätzt
Sprint Verlauf! 1 Tag Sprintplanung! 4 Wochen Arbeit! 1 Tag Sprint-Review! Retrospektive
Daily SCRUM (DS)! Nicht mehr als 15 Minuten.! Jedes Teammitglied beantwortet 3 Fragen - was habe ich seit dem letzten DS getan? - was will ich bis zum nächsten DS tun? - welche Probleme sind aufgetreten?! Nur Teammitglieder dürfen sprechen.
SCRUM-Board
Burn Down Chart! Achsen! Y-Achse, Aufwand! X-Achse, Zeit
Sprintende (Sprint Review)! Das Team präsentiert erledigte Funktionen dem PO! Akzeptanzkriterien
Sprint Retrospektive! Reflektion! Wie ist es gelaufen?! Hindernisse! Ziele! Verbesserung des Prozesses! Steigerung der Qualität
Scrum! Vorteile! flexibel! offene Kommunikation! Alle Beteiligten werden eingebunden! Bewuste Abweichung von Soll und Ist! Nachteile! Höherer Planungsaufwand! (scheinbare) Intransparenz, keine Kontrolle! Anarchie
Nach dem Sprint ist vor dem Sprint
Kanban! Visualisiere den Fluss der Arbeit! Begrenze die Menge angefangener Arbeit! Messe und steuere den Fluss! Mache die Regeln für den Prozess explizit! Verbessere kollaborativ
Kanban
Kanban
XP Techniken! Kunde vor Ort! Planungsspiel! Kleines Releas! Akzeptanztests
XP Prinzipien! Unmittelbare Rückkopplung! Streben nach Einfachheit! Inkrementelle Änderungen! Änderungen willkommen heißen! Qualitätsarbeit leisten
XP Teampraktiken! Fortlaufende Integration (Continous Integration)! Gemeinsame Verantwortlichkeit! Programmierstandards! Nachhaltiges Tempo
XP Programmierpraktiken! Simple Design! Pair Programming! Test-Driven-Design (TDD)! Refactoring
XP Prozess (iterativer Prozess)! Exploration! Planning! Iteration! (Analyse, Entwurf, Implementierung, Test)! Inbetriebnahme! Wartung! Tod
XP Rollen! Kunde! Entwickler! Tester! Terminmanager! Trainer! Manager
Vergleich Wasserfall Agile 14 % 57 % 29 % 49 % 42 % 9 % Quelle: The CHAOS Manifesto, 2012 erfolgreich gescheitert überstanden