Informatiker Gemeinschaft für Unternehmensberatung Anforderungen an agiles Anforderungsmanagement SAQ Fachgruppe Informatik AT RE 7. Juni 2010, Olten Oliver C. Hoeffleur oliver.hoeffleur@infogem.ch Thomas Haas thomas.haas@infogem.ch Copyright 2010 Rütistrasse 9 5401 Baden Switzerland +41 56 222 6532 www.infogem.ch wir@infogem.ch 2 wir Die Systeme und Menschen vor und hinter den Bildschirmen sind die Leidenschaft von Oliver Hoeffleur und Thomas Haas: Neues schaffen und ermöglichen, Bestehendes verstehen und weiterentwickeln, Trübes klären. Wir sind Berater bei mit Schwerpunkten in Software Engineering, Projektmanagement sowie im Einsatz von Methoden und Tools in Prozessverbesserungen. sprechen heute über Das Wesen der Agilität Unsere Anforderungen an agiles Anforderungsmanagement Erfahrungen aus einem (agilen) Projekt Informatiker Gemeinschaft für Unternehmensberatung AGILES RE 20100607 2010-06-07 1
Agilität 3 Definition (eine von vielen) Agilität ist die Fähigkeit einer Organisation, flexibel, aktiv, anpassungsfähig und mit Initiative in Zeiten des Wandels und Unsicherheit zu agieren. [ ] Agilität entstand als Reaktion auf langsame, bürokratische Organisationen, um veränderten Marktbedingungen zu begegnen. http://www.onpulson.de/lexikon/agilitaet.htm Ansprüche (an Agilität in Projekten) Schneller gleiches Resultat in kürzester Zeit Günstiger gleiches Resultat zu geringsten Kosten Besser gleiches Resultat mit höchster Qualität Unmögliches ermöglichen Grundpfeiler der Agilität 4 Handlungsspielraum Mentalität und Kultur Arbeitstechnik Alternativen? Optionen? Plan B? Szenarien? Abbruch? Veränderung annehmen Verbesserung anstreben Fokussieren Risiko-orientiert Vertrauen (in Kollegen und Partner) Interdisziplinär Arbeiten Kooperation mit Kunden und Partnern Prioritäten setzen Visualisierung Planungsinstrumente Führungsinstrumente Zusammenarbeit Kontrollinstrumente Kommunikation Transparenz Dokumentation Prozessgestaltung Problemlösung Etappierung Risikomanagement Agilität ermöglichen zulassen leben Informatiker Gemeinschaft für Unternehmensberatung AGILES RE 20100607 2010-06-07 2
Agiles Vorgehen am Beispiel von Scrum 5 1. Einfache Grundprinzipien Empirismus Selbstorganisation Kollaboration Priorisierung Fester Zeitrahmen (Timeboxing) 2. Zentrale Grundwerte Mut Vertrauen Transparenz 3. Iterativer Prozess Planen Ausführen Auswerten & Verbessern 4. Schlagkräftige Werkzeuge Vision (Produkt) Kundennutzen Randbedingungen Backlog Arbeitsvorrat priorisiert nach Kundennutzen Planning Board Plantafel physisch oder elektronisch Burn Down Chart Earned Value, Restaufwand Anforderungen 80%/20% Modell nach Kano sehr zufrieden Begeisterungsmerkmale Leistungsmerkmale 6 Kundenzufriedenheit 80% Komfort-Funktionen 20% Kernanforderungen Basismerkmale Indifferenz-Zone Zeit völlig unzufrieden verfehlt Kundenwunsch (realisierte Eigenschaften) erfüllt Informatiker Gemeinschaft für Unternehmensberatung AGILES RE 20100607 2010-06-07 3
Inkrementelles Vorgehen 7 Scope fix Resultat Anwendung (-slogik) Zwischenschicht Infrastruktur / Frameworks Implementierung von unten nach oben Iteratives Vorgehen 8 Vision Grobanforderungen Umsetzung von innen nach aussen Wünsche Anforderungen Ideen fix: Hauptnutzen Kernfunktionen Fix: Rahmenbedingungen Informatiker Gemeinschaft für Unternehmensberatung AGILES RE 20100607 2010-06-07 4
Werden wirklich alle Anforderungen gebraucht? 9 Verwendung der implementierten Funktionen Immer; 7% Nie; 45% Selten; 19% Oft; 13% Manchmal; 16% Immer Oft Manchmal Selten Nie The Standish Group XP 2002 Wird die Energie richtig verteilt? 10 100% 75% 50% 25% 0% Requirements Anteil im BRS Bessere Verteilung Nie/Selten gebraucht Zweite 20% Erste 20% Informatiker Gemeinschaft für Unternehmensberatung AGILES RE 20100607 2010-06-07 5
Anforderungen an den agilen Requirements Engineer 11 Handlungsspielraum schaffen Nützliches von unnützlichem trennen Priorisieren (Priorisieren!) Kern-Anforderungen verstehen Varianten erarbeiten Mentalität und Kultur fördern Veränderung annehmen Verbesserung anstreben Fokussieren Kooperation mit Kunden und Partnern Vertrauen in Entwickler fördern Arbeitstechnik nutzen Modular gestaltet Griffig formuliert Referenzierbar Erweiterbar 2009-11-24 Agilität ermöglichen zulassen leben Erfahrungsbericht Das Produkt 12 Invoice Reporting Reporting über Rechnungen und Verbindungen 10 000 Benutzer 2 TB Daten Web-Anwendung mit Data Warehouse- Architektur 2 Jahre Projektdauer 10 Personen-Jahre Informatiker Gemeinschaft für Unternehmensberatung AGILES RE 20100607 2010-06-07 6
Erfahrungsbericht Das Projekt 13 Personal Budget Risiko 50% 50% 50% 50% Resultate Agil Neuentwicklung Beta R1 R2 2008 2009 2010 Robust Pflege Ausbau Verbesserung Anpassung Abschluss R3 Anforderungs-Management im Projektverlauf 14 Inception (1 Monat) Elaboration (9 Monate) Realisation & Transition (18 Monate ++ ) Quellen Idee Grobanforderungen Detailspezifikationen Reklamationen Gute Ideen & Wünsche GUI Prototyp Personas Vorfälle Business- Objekte - Altsystem (*) 100 Seiten BRS mit neuen Anforderungen Richtlinien & Vorgaben Produkt-Backlog mit 800 Elementen Detailspez. Story Board Daten- Modelle Modul- Design Sprint-Backlog (*) Copyright Computer Laboratory, University of Cambridge. Reproduced by permission. Informatiker Gemeinschaft für Unternehmensberatung AGILES RE 20100607 2010-06-07 7
Forderungen an agiles RE erfüllt? 15 Artefakt Beschreibung Kern Kooperation Modular & Erweiterbar Personas Slides mit vier Personas typischer Grosskunden Geschäftsfälle Slides mit Haupt-Geschäftsfälle je Persona Altsystem Das Altsystem (Dokumentation, Code, System) GUI-Prototyp Klickbarer HTML-Prototyp des Zielsystems Referenzierbar Business- Objekte Slides mit einfachem UML-Modell der BO BRS Klassisches Anforderungsspezifikationsdokument Richtlinien Dokumente mit Richtlinien und Vorgaben Backlog Priorisierter Arbeitsvorrat (inkl. Aufwand) Detail-Spez. Prosa/Semi-Formale Detail-Spezifikationen Storyboards Zeichnungen von Bildschirmmasken (MS Visio) Daten-Modelle UML-Diagramme / ER-Diagramme Modul-Design UML-Diagramme, Handskizzen, Prosa Beliebtheit Unterstützung Behinderung Neutral Erfahrungsbericht Wieder einmal agil 16 Verbessern würde ich Bewährt hat sich Sprint-Dauer eine Woche Agil beginnen, robust enden 80% Spezifikations-Aufwand für 20% des Funktionsumfangs (Kernanforderungen) Lieferanten früh und eng einbinden (bei bedeutsamen Projekten) User Stories und Story Boards mit Kunden validieren Konsequent spezifizieren umsetzen prüfen Transparent zusammen arbeiten Zusammenarbeit Kunde und Lieferant in einem Team Fehler zulassen, Verbesserungen anstreben Methode konsequent umsetzen und anwenden Konsequent spezifizieren umsetzen prüfen Informatiker Gemeinschaft für Unternehmensberatung AGILES RE 20100607 2010-06-07 8