SQS der weltweit führende Spezialist für Software-Qualität sqs.com Modellbasiertes Requirements Engineering - Geht das auch agil? Achim Krallmann, Alexander Ritter, REConf, 07. März 2018
Agenda Was ist modellbasiertes Requirements Engineering? Herausforderungen Rollen/Kompetenzen Teamaufbau Einsatz in agilen Projekten Component Team vs. Feature Team Use Case vs. User Story Prozess Werkzeuge Erfolgsfaktoren SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 2
Was ist modellbasiertes Requirements Engineering? Beispiel afd Traceability Urlaubsanträge müssen erfasst werden. X SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 3
Was ist modellbasiertes Requirements Engineering? Beispiel afd Traceability Urlaubsanträge müssen erfasst werden. Antrag erstellen Urlaub erfassen Mitarbeiter X SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 4
Was ist modellbasiertes Requirements Engineering? Beispiel afd Traceability Urlaubsanträge müssen erfasst werden. Antrag erstellen «Geschäftsobjekt» Urlaubsantrag Urlaub erfassen Urlaub beantragen Mitarbeiter Urlaubsplaner X SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 5
Was ist modellbasiertes Requirements Engineering? Beispiel afd Traceability Urlaubsanträge müssen erfasst werden. Antrag erstellen «Geschäftsobjekt» Urlaubsantrag Anträge 0..* Antragsteller «Geschäftsobjekt» Mitarbeiter Urlaub erfassen Urlaub beantragen SAP-HR Mitarbeiter Urlaubsplaner «Geschäftsobjekt» Urlaubsantrag «flow» Urlaubstage aktualisieren X Modellbasiertes Requirements Engineering ist der Erfassen und Dokumentieren von Anforderungen über Modelle und definierten Modellierungselementen. SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 6
Was ist modellbasiertes Requirements Engineering? Vorteile Unterschiedliche Anforderungsperspektiven Kontextperspektive (Komponentendiagramme) Anwendungsfallperspektive (UseCase Diagramme) Strukturperspektive (Klassendiagramme) Funktionsperspektive (Aktivitätsdiagramme) Verhaltensperspektive (Zustandsdiagramme) Traceability / Nachverfolgbarkeit Erzeugung unterschiedlicher Sichten Dokumentengenerierung / HTML Export Sonstige Auswertungen Qualitätsmetriken / KPIs Weiterverwendung Ableitung von IT Artefakten Testfallgenerierung Nachhaltige Dokumentation des Systems SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 7
Herausforderungen Werkzeuge Modellierungswerkzeuge sind nicht selbsterklärend Reichhaltige Konfigurationsmöglichkeiten Dokumentengenerierung HTML Export Diagrammtypen und Modellierungselemente Pflegeoberflächen Auswertungen API Verbindung zu weiteren Werkzeugen (Projektmanagement, Testmanagement) Validierungen Exporte Berechtigungssystem / Versionierung / Multi-User Zugriffe SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 8
Herausforderungen Vorgehen Rollen/Kompetenzen Modellierungsrichtlinie Verwendete Modellierungselemente meistens Ausschnitt aus UML, BPMN Aber auch proprietäre Element der Werkzeuge Reihenfolge der Modellierung Change Management Continuous Integration Modellbasiertes Requirements Engineering funktioniert nur über einen organisationalen Change Management Prozess SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 9
Herausforderungen Vorgehen: Continuous Integration für Anforderungen Business Process Continous Integration Arbeitsplatz Requirements Engineer Paket auschecken Paket bearbeiten Paket einchecken Fehler nein ja Modell aktualisieren? Aktuelles Modell kopieren Urlaubsplaner.eap (lokal) Integration Server Versionierungswerkzeug Modellierungswerkzeug CI Modell aktualisieren Continuous Integration Prozess starten CI Modell plausibilisieren Fehlerprotokoll verschicken nein Plausi ok? ja Urlaubsplaner.eap (aktuell) Aktuelles Modell bereitstellen Urlaubsplaner.eap (CI) SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 10
Rollen/Kompetenzen Rollen/Kompetenzen Um Diskussionen zu vermeiden: Rollen im klassischen Umfeld entsprechen für uns Kompetenzen im agilen Umfeld. Benötigte Rollen/Kompetenzen Architekt Requirements Engineer Administrator Entwickler Test Engineer Requirements Engineer vs. Business Analyst Requirements Engineer: Schwerpunkt methodische Kompetenz (RE, UML, BPMN) Business Analyst: Schwerpunkt fachliche Kompetenz (Domänenwissen) Bündelung der notwendigen Rollen/Kompetenzen in einem Methodik-Team SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 11
Teamaufbau Methodik-Team (klassisch) Einfacher Aufbau Komplexer Aufbau Im agilen Projektumfeld mit Scrum wäre das Methodik-Team dann ein Scrum-Team mit Product Owner und Scrum Master. SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 12
Einsatz in agilen Projekten Component Team vs. Feature Team Zur Diskussion siehe insbesondere: Craig Larman, Scaling Lean & Agile Development Dean Leffingwell, Agile Software Requirements SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 13
Einsatz in agilen Projekten Methodik-Team (agil, idealtypisch) SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 14
Einsatz in agilen Projekten Use Case vs. User Story User stories are worth using because they emphasize verbal communications, can be understood equally by you and the developers, can be used for planning iterations, work well within an iterative development process, and because they encourage the deferring of detail. Keep user stories short, and don t forget their purpose as reminders to hold conversations. Acceptance tests are used to express details that result from conversations between a customer and a developer. Acceptance tests provide basic criteria that can be used to determine if a story is fully implemented. Acceptance test are written before the programmer begins coding. Stop writing tests when additional tests will not help clarify the details or intent of the story. SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 15
Einsatz in agilen Projekten Use Case vs. User Story Additionally, user stories differ from use cases in their completeness and longevity. Use cases are much more complete than are user stories. Use cases are designed to be permanent artifacts of the development process; user stories are more transient and not intended to outlive the iteration in which they are developed. While there are many reasons to use stories, they do have some drawbacks: on large projects it can be difficult to keep hundreds or thousands of stories organized; they may need to be augmented with additional documents for tracebility; and ( ) conversations do not scale adequately to entirely replace written documents on large projects. Alle Zitate aus Mike Cohn User Stories Applied (Addison Wesley, 2004) SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 16
Einsatz in agilen Projekten Artefakte class Agiles Requirements Engineering Backlog Item Requirement 1..* 1 Epic Story Use Case GUI User Story Other Work Item SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 17
Einsatz in agilen Projekten Prozess Business Process Software Engineering SCRUM Team Teilsystem n SCRUM Team Requirements Stakeholder Identify Requirement Refine Requirement Define/Generate Epics Epic n: Development [New] Define Backlog Items Teilsystem n All Epics done Epic n: Development [Done] Develop Backlog Items Teilsystem n Integration Test User Acceptance Test System Test SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 18
Einsatz in agilen Projekten Werkzeuge cmp Neu «C#» Connector «Tool» Jira «Tool» Enterprise Architect REST API.NET Api SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 19
Einsatz in agilen Projekten Erfolgsfaktoren Notwendige Änderungen in der Organisation nicht unterschätzen! Modellierungsrichtlinien erstellen! Methodik-Team implementieren! Klare Trennung von Anforderungsartefakten und agile Arbeitspakete! Werkzeuge über Schnittstellen verbinden! Einsatz entscheiden: Projekt Abteilung Unternehmensweit SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 20
Einsatz in agilen Projekten und wer es genauer wissen möchte: Einsatz von Modellierungswerkzeugen Konfiguration Programmierung Generierung von Testfällen aus Anforderungen Programmierung von Schnittstellen zwischen Werkzeugen Einsatzszenarien Klassisch Agil Service ISBN: 3868028056 / 978-3868028058 SQS Software Quality Systems AG Modellbasiertes RE REConf 2018 21
sqs.com SQS Software Quality Systems AG Stollwerckstraße 11 51149 Köln, Deutschland Telefon: +49 2203 9154-17 Telefax: +49 2203 9154-15 info-germany@sqs.com Alexander Ritter Mobil: +49 160 9914 9390 Alexander.Ritter@sqs.com Achim Krallmann Mobil: +49 151 5802 1910 Achim.Krallmann@sqs.com Vielen Dank für Ihre Aufmerksamkeit.