Leichtgewichtige Traceability im agilen Entwicklungsprozess am Beispiel von Scrum Traceability Workshop SE 2013 Aachen 26. Feb. 2013 Elke Bouillon 1, Baris Güldali 2, Andrea Herrmann 3, Thorsten Keuler 4, Daniel Moldt 5, Matthias Riebisch 6 1Technische Universität Ilmenau, elke.bouillon@tu-ilmenau.de 2s-lab Software Quality Lab/Universität Paderborn, bguldali@s-lab.upb.de 3Freie Software Engineering Trainerin und Forscherin, herrmann@herrmann-ehrlich.de 4Fraunhofer IESE, Thorsten.keuler@iese.fraunhofer.de 5Universität Hamburg, moldt@informatik.uni-hamburg.de 6Universität Hamburg, riebisch@informatik.uni-hamburg.de
2 Zu den Autoren - Forschungsvorschau Arbeitskreis Traceability / Evolution gegründet 2006 der GI Fachgruppe Architekturen ein Teil der Autoren kommt also aus dem Themenkreis der Softwarearchitekturen Letztes Arbeitstreffen im Anfang Februar in Kassel Frage aufgekommen, welche Konzepte für Traceability in agilen Umfeld existieren Offener Kreis Mitarbeit möglich Nächstes AK Treffen: GI Fachgruppe Architekturen 01./02.07.2012 Fraunhofer Zentrum Kaiserslautern
Wir erinnern uns Traceability ist nützlich für Fortschrittsprüfung (bspw. User Stories->Tests->Code) Unterstützen von Entscheidungsfindungen (Impact) Nachvollziehen von (Architektur) Entscheidungen Weitergabe von Wissen, z.b. bei der Einarbeitung neuer Teammitglieder AK Traceability 3
Motivation Agile Entwicklung Traditionelle Entwicklung YAGNI Leichtgewichtig Fokus auf Nützlichkeit BUFD Dokumentenlastig Prozess: Klare Übergabepunkte Analysis Paralysis Traceability Traceability AK Traceability 4
Praxisproblem Skalierbarkeit & Religion Trend: größere Projekte + verteilte Teams Agile Evangelists Agile _ C Agile Techniques Agile!={Programming}\{Plan} AK Traceability 5
Unser Ziel Light-weight Traceability für agile Entwicklung leichtgewichtig unabhängig von einem konkreten agilen Vorgehen keine / möglichst wenige neue Artefakte, sondern die vorhandenen Artefakte nutzen und verbinden Automatisierung (e.g. Background indexing ) IDE -> integriertes Traceability Interface AK Traceability 6
Vorgeschlagener Ansatz Legende Nachverfolgbarkeit der Entwurfsentscheidungen Nachverfolgbarkeit der Implementierung Nachverfolgbarkeit der Testfälle Sprint Tasks Daily Scrum Unittests 24 h Daily Results Sprints 1-4 Wochen Product Owner Scrum Master Team Integrations- und Regressionstests Produkt- Vision Product Backlog Sprint Backlog Inkrement Produkt Abnahmetests [Ken Schwaber, Jeff Sutherland: ScrumGuide, www.scrum.org] AK Traceability 7
Traceability-Informationen in Modellen möglichst geringer Overhead Quelle und Ziel Verbindung mit einfachem Hyperlink Urheber Bearbeiter oder Arbeitsschritt/Werkzeug Initiator, z.b. Trac Item, Bug Report, Story, Sprint Sicherheit gemeint ist confidence AK Traceability 8
Lösung Werkzeuge mit integriertem Traceability Interface Nötige Funktionalität: Erkennen von Traceability-Beziehungen (Automatisches) Erstellen + Verwalten von Traceability-Informationen Auswerten von Traceability-Informationen Verständnis und Überblick Verfolgen von Entscheidungen Impact Analyse Behandeln von Änderungen Erkennen von obsoleten Traceability-Informationen Nachführen von Änderungen AK Traceability 9
Aktuelle Erfahrungen Each Requirement Assigned to a separate File AK Traceability 10
Aktuelle Erfahrungen AK Traceability 11
Nächste Schritte 1. Analyse agiler Werkzeuge: Unterstützung der vorgeschlagenen Artefakt-Verknüpfungen sowie Aktivitäten? 2. Vorschlag eines praktischen Vorgehens und dessen Werkzeugunterstützung 3. Diskussion des Ansatzes mit agilen Praktikern 4. Praktische Evaluierung des Ansatzes in einem oder mehreren Projekten: Aufwand und Nutzen? Beteiligung erwünscht! Nähere Informationen zum Arbeitskreis: http://www.theoinf.tu-ilmenau.de/~riebisch/traceability AK Traceability 12
Vielen Dank für Ihre Aufmerksamkeit! Fragen?