Lohnt sich Requirements Engineering? Seminar Messbarkeit von Anforderungen am Fachgebiet Software Engineering Wintersemester 2007/2008 Betreuer: Eric Knauss Oleksandr Kazandzhi
Gliederung Einleitung Messen der Gewinne vom Requirements Engineering Prozess (REP) Fragestellungen und Ergebnisse Das Programm für die Verbesserung des REP Die Gewinne in der RE Praxis bei ACUS Datenerfassung und Analyse Methoden RE Gewinne Die Rolle der Zusammenarbeit Die Interaktionen zwischen REP und den anderen Prozessen Zusammenfassung 2 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Einleitung 30-monatliche Studie in Australian Center for Unisys Software (ACUS) Motivation Die Gewinne von Requirements Engineering (RE) zu messen Auswirkungen auf die anderen Prozesse zu erkennen Frühere Studien zeigen: 74 Prozent aller Projekte schlagen fehl 28 Prozent dieser Projekte wurden komplett abgebrochen Die Hauptfaktoren des Scheiterns sind die Anforderungsprobleme: Fehlen von Benutzereingaben Fehlen einer klaren Aussage von Anforderungen unvollständige wechselnde Anforderungen 3 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Einleitung Die Studie basiert auf: einer Untersuchung der vergangenen Projekte auf den konkreten Beweisen, die auf systematische Studien aufbauen Ergebnisse Die RE Prozesse in der Organisation wurden verbessert Man konnte die Vorteile des verbesserten RE bewerten Welche Rolle spielten die RE Prozesse in der Verbesserungen 4 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Messen der Gewinne vom REP Die Literatur behauptet: RE ist positiv für Projekt Management und Software Qualität Die empirischen Nachweise für solche Gewinne in der Praxis sind sehr begrenzt 5 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Messen der Gewinne vom REP RE Prozesse stehen in Verbindung mit allen anderen Prozessen Deswegen ist es schwer: Die reinen Verbesserungen zu messen Die Auswirkungen des REP zu kontrollieren und zu verstehen Kosten und Nutzen von RE zu messen 6 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Fragestellungen und Ergebnisse Wie wirkt sich der REP auf Verbesserungen in der Produktivität, Qualität und Risikomanagement aus? Welche Komponenten des REP haben zu dieser Auswirkung mehr beigetragen? Wie könnte die Interaktion zwischen dem REP und den anderen Prozessen zu diesen Ergebnissen führen? 7 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Fragestellungen und Ergebnisse Die Fallstudie in Folge von 30 Monaten (August 2001 - Februar 2004) Erweiterte und komplexe Natur der Fallstudie Die Untersuchung wurde in drei verschiedene Phasen aufgeteilt Die Methoden, die in allen Phasen gebraucht wurden sind Fragebogen Interviews Dokumentenuntersuchung 8 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Fragestellungen und Ergebnisse Untersucht Dokumentierungsprozess der Anforderungen die anderen (aktuellen und historischen) Informationen über das Projekt Ziel: Vergleich zur bisherigen Praxis bereitzustellen Problem: Die historischen Daten waren sehr begrenzt Lösung: Berufserfahrung der ACUS Ingenieure benutzen Es war möglich weil: Geringe Anzahl der Mitarbeiter Die meisten vertraut mit der Geschichte des Produktes Und was noch wichtiger mit den Anforderungsmanagement des Prozesses 9 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Fragestellungen und Ergebnisse Die meisten Ergebnisse der Befragung wurden anonym erhalten Insbesondere die Namen der Teilnehmer waren der ACUS Geschäftsleitung unbekannt Wieso? Um ehrliche Antworten zu bekommen 10 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Fragestellungen und Ergebnisse Die Interaktion zwischen REP und anderen Prozessen 11 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Das Programm für die Verbesserung des REP ACUS ist ein Softwareentwicklungszentrum mit 130 Mitarbeitern Hat Produktmanagement, Marketing und Kunden in der ganzen Welt Hat seit 20 Jahren erfolgreich die Software entwickelt Verschiedene Sprachen wie Java, C++, Cobol, und Smalltalk 12 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Das Programm für die Verbesserung des REP Im August 2001 hat sich ACUS verpflichtet, dass CMM* Level 2 in dem Software Verbesserungsprozess erreicht wird RE wurde als der wichtigste Bereich von Hauptprozessen bezeichnet und musste verbessert werden Davor hatte ACUS kein eindeutig definiertes RE * Capability Maturity Model (Reifegradmodell) ist ein Prozessmodell zur Beurteilung der Qualität ("Reife") des Softwareprozesses (Softwareentwicklung, Wartung, Konfiguration etc.) von Organisationen sowie zur Bestimmung der Maßnahmen zur Verbesserung desselben 13 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Das Programm für die Verbesserung des REP Begrenzte Erfahrungen mit dem formalen Anforderungsmanagement Prozess Als Ergebnis hat das Unternehmen erhebliche Schwierigkeiten Die Überschreitung des Zeitplans und die Kostenerhebung Schwer zu verstehen, welche Funktionalität benötigt wird und wie die genaue Kostenschätzung zu bestimmen ist Die Manager meinten: Gesprächsführungen mit dem Marketing wirkungslos Folge: schwer Entwicklungskapazität und die Marketingbedürfnisse abzustimmen 14 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Das Programm für die Verbesserung des REP Nachteile der Anforderungserhebung in der Praxis: Die Features wurden nicht vollständig definiert oder dokumentiert Also ungenügende Informationen für die Entwickler Das Design hängt stark von den Vorstellungen des Designers ab Unzureichendes Anforderungsmanagement und die Kontrolle verschärfen diese Probleme, indem neue Funktionen in späteren Entwicklungsphasen verlangt werden 15 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Das Programm für die Verbesserung des REP Lösung: Man hat ein REP entwickelt Definiert eindeutige, diskrete Phase des Projekts Anforderungen werden entlockt und analysiert Wenn diese Anforderungsphase beendet ist Die Anforderungen müssen abgemacht und festgelegt werden Als die Grundlinie während der Projektplanung dienen 16 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Das Programm für die Verbesserung des REP Lösung: REP mit den folgenden Komponenten: Zerlegung der Features in die technischen Anforderungen o Analyse der gewünschten Funktionalität o Gliederung in detaillierte technische Anforderungen Rückverfolgbarkeit der Anforderungen o Verweise von Anforderungen zu den Anforderungsgründen Analysesitzungen in einer Gruppe o wöchentlich durchgeführt, um die Funktionalität zu zerlegen Cross Functional Teams Bestanden aus den Mitarbeitern von unterschiedlichen Abteilungen Nehmen in Analysesitzungen in einer Gruppe teil Strukturierte Anforderungen Anforderungsdokumentation enthält Informationen über die gewünschten Funktionen und die damit verbundenen detaillierten technische Anforderungen Prüfung der Anforderungen kann während des Systemtests erfolgen 17 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Die Gewinne in der RE Praxis bei ACUS Die Ergebnisse zeigen erhebliche Verbesserungen in: Kostenschätzung Prognose Überzeugend Effekt in Produktqualität Verringerung der Kundenanfragen und der Defekte bedeutet: die Benutzer hatten weniger Schwierigkeiten mit dem Produkt 18 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Datenerfassung und Analyse Methoden Forscher vor Ort - möglich die Anforderungsanalyse und die Gesprächsführungen zu beobachten Fragebogen online Interview Es wurden analysiert: Die Änderungen der bestimmten Dokumente Die Bewertung der Entwicklungsdaten des Projekts Die Einträge in dem Anforderungsmanagement Tool (Rational Requisite Pro) 19 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Datenerfassung und Analyse Methoden Teil 1 20 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Datenerfassung und Analyse Methoden Teil 2 21 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
RE Gewinne Analyse der Daten zeigt Verbesserungen in: Produktivität Qualität Risikomanagement Entwickler: Verstanden Kundenwünsche besser Treffen mehr informative Entscheidungen Kommunizieren mit höherer Qualität Erhebliche Verbesserungen in Kostenschätzung des Projektes Prognose 22 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Die Rolle der Zusammenarbeit Erkannte Einflüsse vom REP 23 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Die Interaktionen zwischen REP und den anderen Prozessen. Auswirkungen des REP auf die anderen Prozessbereiche * Die Verhältnisse in Klammern zeigen die Anzahl der Antworten, die größer oder gleich 2 waren, bezüglich der Gesamtzahl aller Antworten, um das Verhältnis von Antworten auf hohe REP Auswirkungen zu betonen 24 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Die Interaktionen zwischen REP und den anderen Prozessen. Auswirkung des REP auf Subprozesse entsprechend den Prozessbereichen 25 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Die Interaktionen zwischen REP und den anderen Prozessen Auswirkung des REP auf Subprozesse entsprechend den Prozessbereichen * Unter jedem Titel des Subprozesses ist die Punktzahl der Auswirkung des REP angegeben, zusammen mit der Anzahl der Antworten, die diese Punktzahl beeinflusst haben. Zum Beispiel «traceability» (TR) hat positiv «tracking» und «peer-review» beeinflusst. 26 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi
Zusammenfassung Das Programm für die Verbesserung des REP Messen der Gewinne vom REP Interview Fragebogen Vorteile von RE in: Produktivität Qualität Risikomanagement Testen Experteneinschätzung Verbesserungen der Zusammenarbeit Beziehungen zwischen den RE und anderen Prozessen 27 Lohnt sich Requirements Engineering? Oleksandr Kazandzhi