Entwurf eines Generischen Prozessleitstandes für Change Request Systeme, Software Construction, RWTH Aachen University christian.charles@rwth-aachen.de
Aufbau Ausgangslage, Konzepte und Idee CRS als Datenquelle für Prozessmetriken Visualisierung Umsetzung im Werkzeug River Evaluation Architektur Zusammenfassung & Ausblick
Ausgangslage Metrik Klassifikation nach Messgegenstand 1) Software-Prozess-Metrik (EV, FP,...) 2) Software-Metrik (LOC, CC)
Ausgangslage Metrik Klassifikation nach Messgegenstand 1) Software-Prozess-Metrik (EV, FP,...) 2) Software-Metrik (LOC, CC) Vorgehen zur Metrik-Bestimmung 1) Goal-Question-Metric (GQM) 2) Standardwerkzeuge, z.b.
Ausgangslage Metriken Erhebung der Daten Verarbeitung der Daten Visualisierung Interpretation MeDIC-Description ISO/IEC 15939 Maß-Informations-Modell
Stärken Standardwerkzeuge für Software-Metriken Keine explizite Instrumentierung Hohe Akzeptanz Geringe Datenerhebungs-Kosten GQM für Software-Prozess-Metriken Hohe Flexibilität Bewusstsein für Grund des Metrik-Einsatzes
Datenquellen Werkzeuge in Softwareentwicklungs-Prozessen definiert Aktivitäten werden ausgeführt durch nutzen Prozess treffen Aussagen über??? Mitarbeiter Daten produzieren SoftwareWerkzeuge
Software-Werkzeuge Change-Request-Systeme Continous Integration, Build-Werkzeuge Versions-Kontrolle
Change-Request-Systeme Einsatz in vielen Bereichen des Softwareentwicklungs-Prozesses Anforderungsmanagement Entwurf und Implementierung Test Wartung
Change-Request-Systeme Einsatz in vielen Bereichen des Softwareentwicklungs-Prozesses Anforderungsmanagement Entwurf und Implementierung Test Wartung Ticket Aktueller Ticketzustand Historie
Change-Request-Systeme Quelle: videolan.org
Change-Request-Systeme CRS sind auf Entwickler & Fehler Reporter fokussiert
Change-Request-Systeme CRS sind auf Entwickler & Fehler Reporter fokussiert Welche Fragen hat ein Projektleiter an ein Ticketsystem? Werden Tickets zeitnah bearbeitet? Quelle: atlassian.com
Change-Request-Systeme CRS sind auf Entwickler & Fehler Reporter fokussiert Welche Fragen hat ein Projektleiter an ein Ticketsystem? Werden Tickets zeitnah bearbeitet? Gibt es Kartei-Leichen? Stauen sich Tickets irgendwo im Prozess an? Werden Tickets zufriedenstellend bearbeitet? Quelle: atlassian.com
Prozess-Visualisierung Supervisory-Control-And-Data-Acquisition (SCADA) Quelle: heise.de
Prozess-Visualisierung Supervisory-Control-And-Data-Acquisition (SCADA) Wiedererkennbarkeit Verständlichkeit Automatische Reaktionen Kontrollmechanismen Quelle: heise.de
Prozess-Visualisierung Ticketstatus Fluss spiegelt Prozess wider Beispiel: Trac Standard Workflow
Fluss-Visualisierung Sankey-Diagramme Energieerhaltung Pfeilbreite = Menge Zeitperiode nicht standardisiert! Quelle: wikipedia.de
Ticketstatus-Fluss
Ticketstatus-Fluss Nur geänderte Tickets
Ticketstatus-Fluss Zeitintervall Nur geänderte Tickets Kein Zeitintervall
Ticketstatus-Fluss Zeitintervall Keine weiteren Änderungen im Zeitintervall Nur geänderte Tickets Kein Zeitintervall
Zwischen-Evaluation Wichtigstes Evaluationsergebnis Nur Statusfluss? Beispiel für andere Ticketeigenschaft: Teilprojekt Ziel: Einhaltung von SLA-Zusicherung Beginn der Bearbeitung innerhalb von xx Stunden Frage: Werden Tickets bei Eingang dem richtigen Teilprojekt zugewiesen? Metrik basierend auf Change-Request-System
River: Analyse
River: Import
River: Import
Evaluation: Teilprojekt 30.000 Fehler insgesamt Nur 26 weisen eine Änderung im Ticketfeld Teilprojekt auf.
Evaluation: Fehlerursache Größte Kategorie: Sonstiges Wenige Fehleinschätzungen
Evaluation: Statusfluss Nutzung des CRS ohne Vorgaben
River: Architektur
River: Architektur Enterprise-MeasurementInfrastructure (EMI) Architektur Rechenkern Adapter Gateway
River: Architektur JSF/JavaScript/SVG JSON JPA EJB MDB XMLRPC
Ausblick Integration in Enterprise Measurement Infrastructure (EMI) Datenquellen-Adapter und Rechenkerne Interpretation Interpretationsanleitungen (vgl. MeDIC-Description) Automatische Interpretation (Regeln, Grenzwerte, Maschinenlernen) In Arbeit befindliche Masterarbeit von Endri Gjino Visually Assisted Mining for Smells in Change Request Systems https://www2.swc.rwth-aachen.de/?post_type=thesis&p=1137 Verknüpfung von CRS-Daten mit anderen Datenquellen z.b. Versions-Kontroll-Systeme
Zusammenfassung Software-Prozesse einfach analysieren und optimieren Basierend auf bereits vorhandenen Daten Change-Request-Systeme spiegeln Prozessvorgänge wieder Generische Visualisierung der Ticket-Historie in Sankey-Diagrammen Bewertung des visualisierten Prozesseigenschaften durch Experten Diplomarbeit, Folien Zwischenvortrag und Abschlussvortrag https://www2.swc.rwth-aachen.de/?post_type=thesis&p=945