HERMES 5 und Requirements-Engineering Emmerich FUCHS, zur Zeit aktiv für Eidgenössisches Finanzdepartement EFD Eidgenössisches Personalamt EPA / Ausbildungszentrum der Bundesverwaltung AZB HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 1
Frage 1: Wie soll das Projekt abgewickelt werden? HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 2
Frage 2: Braucht es überhaupt noch ein «RE»? Und wenn ja: in welcher Art und Weise? HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 3
Ja, Es braucht nach wie vor RE! Gescheiterte, problematische Projekte hatten Probleme mit unklaren Anforderungen! Projekt Verspätung / Abbruch Kosten Deutsches Mautsystem Toll Collect (2003) YOU -Projekt von Bank Vontobel (TA, 22.03.02) Skyguide, CH, Projekt Atmas (TA,19.05.05) FBI, Projekt Sentinel (CW Aug. 05) Stadt Zürich beerdigt IT- Projekt CW_06-10-11 Führungsinformationssystem Heer FIS HE (Bericht des VBS, 07-12) Bund stoppt Insieme (CW Sept. 12) MISTRA (Tagesanzeiger, 9.10.2013) Abbruch & Restart nach 2 Jahren Abbruch nach 2Jahren Abbruch Abbruch & Restart Abbruch, 3J nach Einführung gesetzten Ziele konnten bis heute nur teilweise erreicht werden Abbruch nach 2Jahren Massive Kostenüberschreitung > 2 Milliarden > CHF 206 Millionen CHF 55 Millionen > $ 100 Millionen Ca. CHF 30 Millionen Ca. CHF 700 Millionen Ca. CHF 150 Millionen Statt 45 kostete es 100 Millionen HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 4
Aber viele Faktoren beeinflussen das RE! Eigenentwicklung neue Applikationen (klassisch oder agil) Wartung Weiterentwicklung Fremdentwicklung Standardsoftware Einkauf Anpassung/Customizing Projektgrösse, - Komplexität Neuartigkeit des Produktes / Systems Art des Produktes / Systems (HW, SW, etc.) Standards / Richtlinien / Vorgaben Vertragliche Situation zwischen Auftraggeber und Auftragnehmer Gefahren, Risiken, Haftpflicht, etc. u.a.m. HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 5
Projektarten = Szenarien im Hermes 5 HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 6
Definition «Requirements Engineering» Das Requirements Engineering ist ein systematischer und disziplinierter Ansatz zur Spezifikation und Management von Anforderungen mit folgenden Zielen: (1) Die relevanten Anforderungen zu kennen, Konsens unter den Stakeholdern über die Anforderungen herzustellen, die Anforderungen konform zu vorgegebenen Standards zu dokumentieren und die Anforderungen systematisch zu managen. (2) Die Wünsche und Bedürfnisse der Stakeholder zu verstehen, zu dokumentieren sowie die Anforderungen zu spezifizieren und zu managen, um das Risiko zu minimieren, dass das System nicht den Wünschen und Bedürfnissen der Stakeholder entspricht. [Pohl, Rupp: Basiswissen Requirements Engineering] HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 7
Haupttätigkeiten des RE HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 8
Moderne Grundsätze im RE 1) Ziel-orientiertes Requirements Engineering Die Anforderungen müssen die Ziele unterstützen! 2) Risiko-orientiertes Requirements Engineering Der Aufwand für das Requirements Engineering soll umgekehrt proportional zum Risiko sein, das man bereit ist, einzugehen [Prof. Martin Glinz, Uni ZH in Kapitel_01_Grundl_2009.pdf] HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 9
HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 10 Ziele und Arten von Anforderungen Entwicklung Verifikation Projekt-/ Entwicklungs- Anforderungen Anforderungen an Systembetreiber
Qualität von Anforderungen: Wann ist gut genug? Checkfragen HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 11
RE und Projektvorgehen nach Hermes 5 HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 12
Agile/SCRUM: Iteratives Vorgehen und RE Der Ansatz von Agile/SCRUM ist empirisch, inkrementell und iterativ. Anforderungsbeschreibung mittels Story-Cards Quelle: http://de.wikipedia.org/wiki/scrum HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 13
Agile/SCRUM: Iteratives Vorgehen und RE Nur wenn nötig, dann Anforderungen nur detaillieren, spezifizieren HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 14
Hermes 5 und RE: Rollen Aufgaben/ Aktivitäten und Ergebnisse RE-Aktivitäten Stakeholder identifizieren, analysieren, beschreiben Ziele & Anforderungen erarbeiten Systemanforderungen konkretisieren Detailspezifikation erstellen RE-Aktivitäten Stakeholder Liste Ziele Anforderungen allgemein Systemanforderungen Detailspezifikation Involvierte Rollen Anwendervertreter Business Analyst Projektleiter Entwickler Tester HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 15
Hermes 5 und RE: Vorlagen für Ergebnisse und Fluss der Ergebnisse HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 16
Stakeholder Identifikation entsprechender Einbezug RE und Hermes5: Beispiele von Ergebnissen HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 17
Scope und Kontext-Abgrenzung Produktversand / -Lieferung RE und Hermes5: Beispiele von Ergebnissen Kunde Produktsuche Kataloganzeige Produktbestellung Kreditkartenvalidierung Kreditkarten- Unternehmung Login Bestandesabfrage Marketing Produktkatalog pflegen System «Shopping ECP» Artikel-Reservierung Lager- haltungs- System System- Administrator Benutzerverwaltung Bestellung Versandsystem Kontextgrenze Out of Kontext Einkauf Verlage, Lieferanten Buchhaltung Bank HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 18
RE und Hermes5: Beispiele von Ergebnissen Ziele «gut» formulieren, und evtl. auch strukturieren Ziel: Unter einem Ziel versteht man die intentionale Beschreibung eines von Stakeholdern gewünschten Merkmals (Nutzen) des zu entwickelnden Systems bzw. des zugehörigen Entwicklungsprojekts. Der Aufwand zur expliziten Berücksichtigung von Zielen ist tendenziell eher gering, der positive Effekt auf das Req.-Eng. und speziell auf die Anforderungen dagegen gross. [Pohl, Rupp: Basiswissen Requirements Engineering] HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 19
Ziele und Anforderungen struktuieren RE und Hermes5: Beispiele von Ergebnissen Anforderungen Ziele HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 20
Anforderungen strukturieren RE und Hermes5: Beispiele von Ergebnissen Ein flache Liste von 100, 1000 oder mehr Anforderungen ist nicht wirklich hilfreich HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 21
RE und Hermes5: Beispiele von Ergebnissen Anforderungen strukturieren (Anforderungen können auf Ebene vorkommen) Abstraktions-Ebenen der Anforderungen Stakeholder- Requirements-List R1 xxxxxxxxxxxxxxxxxxx R2 xxxxxxxxxxxxxxxxxxx R3 xxxxxxxxxxxxxxxxxxx R4 xxxxxxxxxxxxxxxxxxx R5 xxxxxxxxxxxxxxxxxxx R6 xxxxxxxxxxxxxxxxxxx R7 xxxxxxxxxxxxxxxxxxx R8 xxxxxxxxxxxxxxxxxxx R9 xxxxxxxxxxxxxxxxxxx.... HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 22
Anforderungen strukturieren RE und Hermes5: Beispiele von Ergebnissen Agile/SCRUM: Abstraktions-Level der Requirements Tasks: -------------- -------------- -------------- -------------- Epics Features Stories Vgl. Dean Leffingwell in Agile Software Requirements, 2011 Stakeholder- Requirements-List R1 xxxxxxxxxxxxxxxxxxx R2 xxxxxxxxxxxxxxxxxxx R3 xxxxxxxxxxxxxxxxxxx R4 xxxxxxxxxxxxxxxxxxx R5 xxxxxxxxxxxxxxxxxxx R6 xxxxxxxxxxxxxxxxxxx R7 xxxxxxxxxxxxxxxxxxx R8 xxxxxxxxxxxxxxxxxxx R9 xxxxxxxxxxxxxxxxxxx.... HERMES 5 und Requirements Engineering 2015-05 Folie Nr. 23