Seminar Erfahrungen und Experimente im Software Engineering Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren Yvonne Bernard 30.11.2005 Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Gliederung Einleitung FOCUS GQM anhand eines studentischen Beispiels GQMI Goal-Driven Software Measurement Fazit Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Einleitung Warum zielorientiert? „Projects without clear goals will not achieve their goal clearly.“ (Tom Gilb) Warum Messen? Charakterisieren Evaluieren Vorhersagen Verbessern von Softwareprozessen und –produkten Begriff der Metrik: kein Industriestandard Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
FOCUS: Grundidee Prototypen sind mehr als „Programmer‘s Toys“ Wissen und Erfahrungen aus Prototypen extrahieren und bewahren Wenig zusätzlicher Aufwand (light-weight way) Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Prototyping Explorativ Anforderungen feststellen Experimentell Alternativen suchen Evolutionär ständige Anpassung des Systems an geänderte Anforderungen Pilotsysteme Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Prototypen Anforderungsanalyse Stellen mögliche Lösungskonzepte dar Sagen oft mehr als viele Dokumente Können Missverständnisse ausräumen Kaum dokumentiert Oft schnell entwickelt „Papierkorb“ Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Dokumentation von Prototypen Erst nach Ende der chaotischsten Phase einer Änderung sinnvoll Begründungen für wesentliche Änderungen festhalten Gerade weggeworfene Prototypen sollten dokumentiert werden Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Wissensbewahrung Mensch-zu-Mensch-Erklärungen Automatisiert Effizient, Kontext berücksichtigt Direktes Feedback Flexibel Spaß, Erfolgserlebnis Automatisiert Menschen sind vergesslich Fokussiert Strukturiert Erklärung mit Artefakt selbst verknüpfen Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
FOCUS: Erklärungssitzungen Rollen: Explainer & Listener „Units of discussion“ werden druchgesprochen Graphenstruktur: Units = Knoten Pfade verbinden Knoten Pfade werden automatisiert erfasst Screen Capture Software Audioerklärungen werden aufgenommen Textuelle Zusammenfassung der Erklärungen Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
FOCUS Drei Arten von Pfaden (Paths): Execution Paths Change Paths Paths along static code structur Pfade durch den Code bilden ein Netz (hyperstructured web) von Informationen Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
FOCUS: Informationssuche Erklärungen erneut abspielbar Entstandene Fragen im Informationsnetz erfassen, in der nächsten Sitzung klären „hyperstructured browsing“ „guided tours“ Information unabhängig vom Erklärer organisationsweit jederzeit verfügbar FOCUS Tools können Netz analysieren und darstellen Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
GQM - Phasen 1. Planning 2. Definition 3. Data Collection 4. Interpretation Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
GQM anhand eines studentischen Beispiels Zeitplanung meiner Bachelorarbeit Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Zeitplanung meiner Bachelorarbeit Studentisches Beispiel zu GQM 1. Planning Zeitplanung meiner Bachelorarbeit Aufgaben Ausarbeitung Implementierung und Testen der Simulation Einarbeitung in Literatur und Simulator 30.05. 30.06. 30.07. 30.08. 30.09. Zeit Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Studentisches Beispiel zu GQM 2. Definition Analyse Time spend on Bachelor Thesis For the purpose of Finishing on time With respect to Timetable of 4 Months Quality of Thesis From the viewpoint of Author In the context of Study Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Studentisches Beispiel zu GQM 2. Definition Bachelor Thesis Keep to schedule Time Author Study Effort in Hours Errors, Illness, Requirements Thesis is on time Provoke delays Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Studentisches Beispiel zu GQM 2. Definition: GQM-Plan Q.1 Welche Teilziele meiner BA brauchen länger als erwartet? M.1 Liste von Aufgaben(typen) Q.2 Ist Fehlersuche und –behebung unter Kontrolle? M.2 Stundenaufwand für Fehlersuche M.3 Stundenaufwand für Fehlerbehebung M.4 Zahl der gefundenen und behobenen Fehler Q.3 Welche Ereignisse führen zu Zeitausfall? M.5 Krankheit M.6 Freizeit Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Studentisches Beispiel zu GQM 2. Definition: GQM-Plan Q.4 Ändern sich die Anforderungen während des Projekts M.7 Anzahl der anfänglichen Anforderungen M.8 Anzahl hinzugefügter Anforderungen M.9 Anzahl der erfüllten Anforderungen M.10 Flüchtigkeit der Anforderungen Q.5 Wieviel Zeit geht durch technische Probleme verloren? M.11 Stundenaufwand für technische Probleme Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
GQM 3. Data Collection Entwicklung eines Measurement Plans Kick-off-Session: lege Form der zu sammelnden Daten fest Nutzung eines Measurement Support Systems zum Sammeln Speichern Verarbeiten Darstellen und Verpacken der Daten Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
GQM 4. Interpretation Abhalten einer Feedback Session (alle 6-8 Wochen) Ausgewertete Messdaten werden durch das Projektteam (nicht GQM-Team) interpretiert Action Points Erstellen eines Feedback Reports Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Goal(s) Questions Indicators Measures (GQIM) Ziel: Identifizierung und Definition von Softwaremaßen Vermeidung des Begriffs der Metrik Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Goal-Driven Software Measurement Ausgangspunkt: Unternehmensziel(e) Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Goal-Driven Software Measurement: 10 Stufen-Plan Ziele Identifizieren Unternehmensziele Was möchte ich wissen/lernen? Subziele identifizieren Entities und Attribute der Subziele Formalisiere Messziele Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Goal-Driven Software Measurement Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Goal-Driven Software Measurement: 10 Stufen-Plan Indikatoren definieren 6. Quantifizierbare Fragen und passende Indikatoren suchen 7. Datenelemente für die Indikatoren bestimmen 8. Maße für die Beantwortung der Fragen festlegen Erstelle einen Aktionsplan 9. Aktionen zur Implementierung der Maßnahmen 10. Plan zur Durchführung der Maßnahmen Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Fazit FOCUS GQM/GQIM, Goal-Driven Software Measurement Spezialansatz für Prototypen Wenig Aufwand Bei guter Ausführung großer Nutzen als Eclipse-Plugin in Planung /Arbeit GQM/GQIM, Goal-Driven Software Measurement Vielseitig einsetzbar Zielorientierter Ansatz Aufwendig Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren
Quellen Kurt Schneider: Rationale as By-Product Kurt Schneider: Prototypes as Assets, not Toys Van Solingen/Berghout: The Goal/Question/Metric Method, ISBN 0077095537 Park/Goethert/Florack: Goal-Driven Software Measurement – A Guidebook, CMU/SEI-96-HB-002,1996 Lindström: A Software Measurement Case Study Using GQM GQM-Handbook, IESE-Report No. 008.03/E, 2003 Van Solingen: Experience Using the Goal/Question/Metric - Paradigm Erfahrungen aktiv suchen: FOCUS, GQM zum zielorientierten Messen und Experimentieren