1 RE bei agilen Methoden Dipl. Inform. stefan.roock@itelligence.de it Workplace Solutions GmbH Vogt-Kölln-Strasse 30 22527 Hamburg Germany Agiles Manifest We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. See http://www.agilemanifesto.org/ http://agilemanifesto.org
2 Agile Methoden: Charakteristika Hauptideen agiler Methoden: Passe den Prozess bei Bedarf an eine veränderte Umgebung an. Die wichtigen Dingen zuerst! Die Features mit dem höchsten Mehrwert zuerst realisieren. Geschäftswert = f(kosten, Zeit, Funktionalität, Qualität) Zyklischer und inkrementeller Entwicklungsprozess: Früh und häufig ausliefern, Entwicklungsprozess möglichst einfach/leichtgewichtig gestalten. Beispiele Crystal FDD: Feature Driven Development SCRUM XP: extreme Programming Agiler Entwicklungsprozess Agiler Entwicklungsprozess nach Jeffries
3 Agile Methode: Grundannahme Aufwand je Feature Wasserfallmodell Time Analysis Design Impl. Test Aufwand je Feature Zyklischer Prozess Time Cycle 1... Cycle n Wieviel Vorausschau? Aufwand Sweet-Spot Vorausschau Fragestellung: Wie weit blicken wir in die Zukunft? Thesen Zu kurz: zuviel Refactoring-Aufwand Zu lang: zuviel unnötige Technologie auf Vorrat Lieber zu kurz als zu lang Sweet-Spot verschiebt sich über die Projektlaufzeit
4 Vorausschau je Methode V-Modell RUP FDD Crystal Clear SCRUM XP Vorausschau RE klassisch RE-Aufwände Geldgeber Anwender Zeit RE ist Aufgabe des Entwicklungsteams RE am Projektbeginn RE möglichst vollständig Rolle Requirements Engineer PL RE
5 RE bei agilen Methoden: Idealistisch RE-Aufwände RE ist Aufgabe des n RE kontinuierlich Zeit nur soviel RE, wie für die nächste Iteration notwendig Ideales Setting Technologisches Fachliches
6 Anspruchsvolle Settings Technologisches Technologisches Fachliches Fachliches Probleme mit RE bei agilen Methoden Häufig schreiben n/anwender die Anforderungen vor dem Hintergrund existierender Systeme (z.b. maskenorientierte Hostsysteme) Wiedergeburt der Host-Benutzungsmodells mit grafischer Oberfläche. Inkonsistentes Benutzungsmodell. Möglichkeiten moderner Technologien nicht ausgenutzt. Anwender fokussieren auf ihren Arbeitskontext. Das führt bei Multi- Channeling-Anwendungen zu Problemen. Nur Leistungsanforderungen im Blick. Basis- und Begeisterungsanforderungen nicht berücksichtigt. Mangelndes der für Anwendungsbereich erst spät bemerkt - am Ende der Iteration. Kein Gesamtbild bei den n.
7 Spike Solutions demonstrieren Potenziale Offene Fragestellungen bzgl. Technologien, Handhabung und Fachlogik werden mit Spike- Solutions geklärt. Möglichkeiten moderner Technologien werden mit Spike-Solutions gezeigt. Das Kano-Model der nzufriedenheit nzufriedenheit Begeisterungsanforderungen nicht erwartet unausgesprochen unbewusst Leistungsanforderungen explizit spezifiziert bewusst Basisanforderungen selbstverständlich unausgesprochen fast unbewusst Grad der Anforderungserfüllung
8 schaffen durch Interviews & Szenarios führen Interviews mit den Anwendern. Im Zentrum des Interviews steht die aktuelle anwendungsfachliche Situation und nicht die Erhebung von Anforderungen. Ziel: entwickeln für den Anwendungebereich. Interviews werden offen geführt: Der arbeitet nicht einfach eine Frageliste ab, sondern lässt den Anwender frei erzählen. Auf Basis von Interviews werden ggf. Szenarios geschrieben. Szenarios beschreiben episodisch den Ist-Zustand im Anwendungsbereich. Szenarios werden von n geschrieben - in der Regel auf Basis von Interviews. Der Schreibvorgang führt bei den n zur erneuten Reflektion. So wird das vertieft und Verständislücken offensichtlich. Szenarios werden mit den Anwendern rückgekoppelt, um das anwendungsfachliche der zu überprüfen. RE bei agilen Methoden: Komplexes Projekt RE-Aufwände RE RE ist Aufgabe des n RE kontinuierlich RE unterschiedlich detailliert für Gesamtsystem nächstes Release nächste Iteration Zeit
9 Explorationsphase Klären des Feldes Grob die Anforderungen erfassen Idee vom Gesamtumfang bekommen Technologien klären (Spike-Solutions) Metapher entwickeln Produktivität feststellen Bevor mit dem ersten Release begonnen wird. Max. 3 Monate lang. Agile Methoden: Zusammenfassung Thema Crystal Clear FDD Scrum XP Anforderungs ermittlung -Annotierte Use Cases -Actor-Goal-Listen -Prozess 1: Gesamtmodell entwickeln -Process 2: Feature-Liste -Process 4: Durch Feedback - Nicht spezifiziert -On-Site Customer -Story Cards -Planungsspiel Projektrahmen -Annotierte Use Cases -Systemdesign (< 1 Seite) -Release-Plan -Grobes Klassendiagramm zu Beginn (~ 2 Wochen Modellierung für 6 Monate Projekt) - Nicht spezifiziert -Metaphor(s) -Release-Plan Planung / Priorisierung - Meilensteine - Risikoliste - Release-Plan - Dem Team überlassen (z.b. durch XP- Techniken) - priorisiert auf Ebene von Geschäftsaktivitäten (Granularität: Monate) -Team priorisiert auf Feature-Ebene (Granularität: Tage) - Sprint Backlog - Produktmanager priorisiert - Planungsspiel - priorisiert