Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates

Transcrição

Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Gottfried Wilhelm
Leibniz Universität Hannover
Fakultät für Elektrotechnik und Informatik
Institut für Praktische Informatik
Fachgebiet Software Engineering
Ein Anpassungskonzept basierend auf Bausteinen
für Quality Gates
Masterarbeit
im Studiengang Informatik
von
Christian Peucker
Prüfer: Prof. Dr. Kurt Schneider
Zweitprüfer: Prof. Dr. Heribert Vollmer
Betreuer: Dipl.-Math. Thomas Flohr
Hannover, 11. Juni 2007
Danksagung
Ich bedanke mich bei Herrn Dipl.-Math. Thomas Flohr für
die hervorragende Betreuung meiner Masterarbeit.
Zusammenfassung
Quality Gates werden in Unternehmen zur Prüfung der
Prozesskonformität,
Risikokontrolle,
Projektkontrolle,
Synchronisation verschiedener Teilprojekte oder Qualitätssicherung
eingesetzt. Sie trennen einzelne Phasen der Softwareentwicklung
und überprüfen deren Ergebnisse mit Hilfe einer Checkliste. Sind
alle Formalitäten erfüllt, wird am Ende eines Gates entschieden, ob
das Projekt in die nächste Phase der Entwicklung eintreten kann.
Quality Gates werden jedoch häufig, abhängig vom aktuellen
Projekt, unterschiedlich verwendet. Daher müssen sie an die
konkreten Projekteigenschaften angepasst werden. Diese Anpassung wird „Tailoring“ genannt. Häufig basieren Quality Gates
jedoch in den Organisationen auf unterschiedlichen Referenzprozessen. Bei diesen Basis-Referenzprozessen, wie dem StageGate-Prozess von Cooper, dem V-Modell XT oder dem ABB-GateModell ist ebenfalls eine Anpassung erforderlich. Im Rahmen dieser
Arbeit wird deshalb ein Anpassungskonzept für Quality Gates
basierend auf Bausteinen entwickelt. Die Anpassung wird auf
Grundlage des in der Steuerungs- und Regelungstechnik
verwandten Fuzzy-Logik-Ansatzes durchgeführt. Ziel der Arbeit ist
ein Quality-Gate-Tailoring-Assistent (QGT-Assistent) in Form einer
Java-Anwendung, mit dessen Hilfe der Tailoring-Vorgang unterstützt
werden kann.
Inhaltsverzeichnis
1
Einleitung ....................................................................................................... 1
1.1
Motivation / Hintergrund ........................................................................... 1
1.2
Zielsetzung............................................................................................... 1
1.3
Gliederung................................................................................................ 2
2
Quality Gates in der Softwareentwicklung.................................................. 3
2.1
Begriffsdefinitionen................................................................................... 3
2.1.1
Software-Prozess.............................................................................. 3
2.1.2
Prozessmodell / Vorgehensmodell.................................................... 3
2.1.3
Rolle / Aktivität / Artefakt ................................................................... 4
2.2
Definition Quality Gate ............................................................................. 5
2.2.1
Was ist ein Quality Gate?.................................................................. 5
2.2.2
Die Quality-Gate-Sitzung .................................................................. 5
2.3
Quality-Gate-Konzept der Leibniz Universität Hannover .......................... 7
2.3.1
Quality-Gate-Prozess........................................................................ 7
2.3.2
Rollen, Artefakte und Aktivitäten ....................................................... 8
2.3.3
NetQGate.......................................................................................... 9
2.4
Stage-Gate-Prozess von Cooper ............................................................. 9
2.4.1
Stages............................................................................................... 9
2.4.2
Gates ................................................................................................ 9
2.4.3
Stage-Gate-Prozess........................................................................ 11
2.4.4
Die dritte Generation des Stage-Gate-Prozesses ........................... 13
2.5
V-Modell XT ........................................................................................... 15
2.5.1
Zielsetzung...................................................................................... 15
2.5.2
Aufbau............................................................................................. 16
2.5.3
Klassifizierung / Tailoring ................................................................ 18
2.6
Quality-Gate-Konzept von Pfeifer / Schmidt........................................... 20
2.7
ABB Gate Modell.................................................................................... 22
3
Quality-Gate-Metamodell ............................................................................ 25
3.1
Was ist ein Metamodell? ........................................................................ 25
3.1.1
Vorteile von Metamodellen.............................................................. 27
3.2
Konzeptionelles Metamodell für Quality Gates....................................... 27
3.2.1
Das konzeptionelle Metamodell im Überblick.................................. 28
3.2.2
Das konzeptionelle Metamodell im Detail ....................................... 29
3.2.3
Konzeptionelles Metamodell: Übersicht (Paketdarstellung) ............ 35
3.2.4
Konzeptionelles Metamodell: Proof-of-Concept .............................. 36
4
Tailoring von Softwareprozessen .............................................................. 38
4.1
Definition „Tailoring“ ............................................................................... 38
4.2
Ablauf ..................................................................................................... 38
4.3
Rollen beim Tailoring ............................................................................. 39
4.4
Tailoring basierend auf Bausteinen........................................................ 40
5
Das Quality-Gate-Tailoringkonzept............................................................ 42
5.1
Fuzzy Logik ............................................................................................ 42
5.1.1
Linguistische Terme und linguistische Variablen ............................ 43
5.1.2
Zugehörigkeitsfunktionen ................................................................ 43
5.1.3
Logische Operatoren auf unscharfe Mengen .................................. 44
5.1.4
Fuzzy-Controller.............................................................................. 45
5.1.5
Fuzzifizierung.................................................................................. 46
5.1.6
Fuzzy-Inferenz ................................................................................ 46
5.1.7
Defuzzifizierung .............................................................................. 50
5.2
Anwendung des Fuzzy-Ansatzes auf das Tailoring für Quality Gates.... 53
5.2.1
Gründe für den Einsatz der Fuzzy Logik beim Tailoring.................. 53
5.2.2
Quality-Gate-Tailoring am Beispiel.................................................. 54
5.2.3
Interpretation des Fuzzy-Ergebnisses (Filter) ................................. 60
5.2.4
Aufgaben der Tailoringrollen ........................................................... 60
5.2.5
Diskussion des Tailoring-Ansatzes ................................................. 61
5.3
Quality Improvement Paradigm (QIP) .................................................... 64
5.3.1
QIP-Zyklus ...................................................................................... 65
5.3.2
QIP-Bezug zum Tailoring ................................................................ 67
6
Realisierung................................................................................................. 68
6.1
Eingesetzte Software ............................................................................. 68
6.2
Aufbau und Vorgehen beim QGT-Assistenten ....................................... 68
6.3
Datenbankschema ................................................................................. 69
6.4
Beschreibung des Assistenten ............................................................... 70
6.4.1
Projektprofil angeben ...................................................................... 71
6.4.2
Tailoring-Konfiguration anpassen ................................................... 72
6.4.3
Tailoring-Gesamtergebnis anzeigen ............................................... 73
6.4.4
Bearbeitung der Bewertungen aus der Datenbank ......................... 74
7
Zusammenfassung & Ausblick .................................................................. 79
7.1
Schwierigkeiten ...................................................................................... 79
7.2
Ausblick & Erweiterungsmöglichkeiten................................................... 79
7.3
Bewertung und Fazit .............................................................................. 80
8
Anhang ......................................................................................................... 82
8.1
Verwendete Kriterien und Projektmerkmale im QGT-Assistenten.......... 82
8.2
Literaturverzeichnis ................................................................................ 89
8.3
Abbildungsverzeichnis ........................................................................... 93
8.4
Tabellenverzeichnis ............................................................................... 95
8.5
Formelverzeichnis .................................................................................. 95
8.6
Inhalt der CD-ROM ................................................................................ 96
8.6.1
Installation des QGT-Assistenten.................................................... 96
8.6.2
Installation von Apache Derby zur Nutzung in Eclipse .................... 97
8.7
Aufgabenstellung ................................................................................... 98
8.8
Erklärung................................................................................................ 99
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
1 Einleitung
1.1 Motivation / Hintergrund
Im Softwareentwicklungsprozess werden viele Fehler oft zu spät erkannt. Diese
späte Erkennung führt zu Behebungskosten, die exponentiell höher sind, als die
Kosten, die bei frühzeitiger Erkennung und Behebung der Fehler angefallen
wären. Daher werden Quality Gates in Organisationen oft zur Prüfung der
Prozesskonformität, Risikokontrolle, Projektkontrolle, Synchronisation verschiedener Teilprojekte oder Qualitätssicherung eingesetzt. Sie überprüfen
zwischen den einzelnen Phasen der Softwareentwicklung formal die Ergebnisse
der vorhergehenden Phase und entscheiden in einer Sitzung über den Fortgang
des Projektes.
Quality Gates werden jedoch häufig abhängig vom aktuellen Projekt verschieden
verwendet. Daher müssen sie auf die konkreten Projekteigenschaften angepasst
werden. Diese Anpassung wird „Tailoring“ genannt. Häufig basieren Quality Gates
jedoch in den Organisationen auf unterschiedlichen Referenzprozessen. Bei
diesen Basis-Referenzprozessen, wie dem Stage-Gate-Prozess von Cooper, dem
V-Modell XT oder dem ABB-Gate-Modell, ist ebenfalls eine Anpassung erforderlich.
Unterstützende Software, die speziell bei der Anpassung von Quality Gates helfen
kann, ist nur wenig vorhanden (z.B. V-Modell XT). In Unternehmen werden, wenn
überhaupt, klassische Projektmanagement-Werkzeuge zur Unterstützung von
Quality-Gate-Vorgängen verwendet.
1.2 Zielsetzung
Ziel dieser Arbeit ist die Erstellung eines Anpassungskonzeptes für Quality Gates.
Die Anpassung (Tailoring) der Quality Gates soll dabei an ein konkretes Projekt
erfolgen und benötigt dafür folgende vier Aspekte:
•
•
•
•
einen Referenzprozess (z.B. Stage-Gate-Prozess von Cooper),
ein Projektprofil,
Tailoring-Regeln und
Erfahrungen.
Zur Durchführung des Tailorings müssen Quality Gates zerlegt werden. Dazu wird
häufig das Bausteinprinzip, wie es z.B. im V-Modell XT zu finden ist, verwendet.
Ein Prozess wird dabei in verschiedene unabhängige Komponenten zerlegt, die
dann je nach Projektprofil und Tailoring-Regeln in dem angepassten Prozess
verwendet werden oder nicht. Im Rahmen dieser Arbeit wird zunächst ein
konzeptionelles Metamodell erstellt, welches aus der Literatur bekannte
Referenzprozesse darstellen kann.
Auf dieser Grundlage soll entsprechend ein Konzept für einen TailoringAlgorithmus für Quality Gates angefertigt werden. Verwendet wird dazu der in der
Steuerungs- und Regelungstechnik verwandte Ansatz der Fuzzy-Logik.
Masterarbeit: Christian Peucker
Seite 1
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Anschließend soll dieser Anpassungs-Algorithmus in Form einer Java-SwingAnwendung implementiert werden.
Grundlegendes Ziel dieser Arbeit ist es also, sich von Quality-Gate-Prozessen in
„Einheitsmaßen“ zu lösen, und sich flexibleren Varianten von Prozessen, die an
die Erfordernisse des aktuellen Projektes angepasst werden können,
zuzuwenden.
1.3 Gliederung
Im zweiten Kapitel werden zunächst Begriffe definiert, die im Laufe der Arbeit
Verwendung finden. Es führt das Quality-Gate-Konzept ein, erläutert die
Einsatzmöglichkeiten in der Softwareentwicklung und bildet somit die Grundlage
für alle weiteren Kapitel. Ferner werden fünf Quality-Gate-Prozessmodelle
vorgestellt und beschrieben: das Quality-Gate-Konzept der Universität Hannover,
der Stage-Gate-Prozess von Cooper, das V-Modell XT, das Quality-Gate-Konzept
von Pfeifer/Schmidt und das ABB Gate Modell.
Aufbauend auf dem zweiten wird im dritten Kapitel, nach einer kurzen Definition
des Konzepts der Metamodellierung, ein Quality-Gate-Metamodell eingeführt.
Dieses Metamodell ist ein allgemeines Modell, aus dem Quality-Gate-Konzepte
abgeleitet werden können. Dabei werden die einzelnen Bausteine des Modells
erläutert. Die Ableitung eines Prozessmodells auf Grundlage des Metamodells
wird anschließend als Beispiel für den Stage-Gate-Prozess von Cooper durchgeführt.
Das vierte Kapitel dient der Einführung des Begriffes „Tailoring“. Es wird ein
Referenzmodell für das Tailoring mit dessen Bestandteilen vorgestellt. Außerdem
wird beschrieben auf welche Weise das Tailoring in den einzelnen Bausteinen des
Metamodells vollzogen werden kann. Weiterhin folgt eine Beschreibung
derjenigen Rollen, die am Tailoring beteiligt sind.
Innerhalb des fünften Kapitels wird das verwendete Quality-Gate-Tailoringkonzept
basierend auf Fuzzy-Logik dargelegt. Anfangs wird beschrieben, wie und in
welchen Bereichen Fuzzy-Logik eingesetzt wird. Es wird erläutert, wie ein FuzzyController aufgebaut ist und welche Schritte nötig sind, um Berechnungen mit Hilfe
der Fuzzy-Logik durchführen zu können. Der Fuzzy-Logik-Ansatz wird dann
anhand von Beispielen auf das Tailoring von Quality Gates übertragen und
bewertet. Am Ende des Kapitels wird auf das „Quality Improvement Paradigm“
eingegangen, welches eine Methode zur kontinuierlichen Qualitätsverbesserung
darstellt.
Kapitel 6 beschäftigt sich mit der Realisierung eines Assistenten in Form einer
Java Anwendung. Diese Anwendung setzt den im Kapitel 5 vorgestellten TailoringAnsatz um. Weiterhin ist das verwendete Datenbankschema und die
Funktionsweise des Assistenten Inhalt des sechsten Kapitels.
Im siebten Kapitel werden zunächst bei der Bearbeitung der Arbeit aufgetretene
Schwierigkeiten
aufgezeigt.
Anschließend
wird
erläutert,
welche
Erweiterungsmöglichkeiten bestehen. Die Arbeit endet mit einer abschließenden
Bewertung und einem Fazit.
Masterarbeit: Christian Peucker
Seite 2
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
2 Quality Gates in der Softwareentwicklung
Häufig stehen Unternehmen unter großem Zeit- und Erfolgsdruck. Aus diesem
Grund benötigen sie einen „generellen“ Prozess, der das jeweilige Projekt regelt
und beschleunigt. Das Quality-Gate-Konzept ist ein adäquates Mittel, um diese
Ziele zu erreichen.
Im folgenden Abschnitt werden zunächst einige Begriffe erläutert, die in späteren
Kapiteln Verwendung finden. Anschließend folgt eine Definition für Quality Gates
und der grundlegende Aufbau einer Quality-Gate-Sitzung an einem Beispiel.
Ferner werden verschiedene Prozessmodelle vorgestellt und erläutert. Dabei kann
es in einigen Modellen zu Überschneidungen kommen, da Quality-Gate-Prozesse
vom Grundaufbau sehr ähnlich sind.
2.1 Begriffsdefinitionen
In diesem Abschnitt wird erläutert, wie man einen Software-Prozess definiert und
was unter einem Vorgehensmodell zu verstehen ist. Ferner werden die Begriffe
„Rolle“, „Aktivität“ und „Artefakt“ eingeführt.
2.1.1 Software-Prozess
Kruchten [29] definiert einen Software-Prozess als einen Ablauf, der definiert,
„Wer Was Wann Wie tut“. Oft wird der Begriff verkürzt auch „Prozess“ genannt.
2.1.2 Prozessmodell / Vorgehensmodell
Nach Helmut Balzert [2] soll jede Softwareentwicklung in einem festgelegten
organisatorischen Rahmen erfolgen. Ein Prozessmodell - auch Vorgehensmodell
genannt - beschreibt einen solchen Rahmen.
In ihm wird festgelegt, welche Aktivitäten in welcher Reihenfolge von welchen
Personen erledigt werden, welche Ergebnisse (im Allgemeinen Artefakte genannt)
dabei entstehen und wie diese in der Qualitätssicherung überprüft werden.
Der Begriff „Vorgehensmodell“ wird in Wikipedia [40] folgendermaßen definiert:
„Ein Vorgehensmodell gliedert den Prozess des Organisierens in
verschiedene, strukturierte Phasen, denen wiederum entsprechende
Methoden und Techniken der Organisation zugeordnet sind. Aufgabe
eines
Vorgehensmodells
ist
es,
die
allgemein
in
einem
Gestaltungsprozess auftretenden Aufgabenstellungen und Aktivitäten in
ihrer logischen Ordnung darzustellen.“
Masterarbeit: Christian Peucker
Seite 3
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
2.1.3 Rolle / Aktivität / Artefakt
Im Folgenden sollen kurz die Begriffe Rolle, Aktivität und Artefakt definiert werden.
Rolle
Rollen repräsentieren das „Wer“ des Prozesses. Sie beschreiben, wie sich
Personen verhalten sollen und deren Verantwortlichkeiten und Aufgaben.
Aktivität
Aktivitäten sind die von einer Rolle auszuführenden Tätigkeiten. Ihre
grundlegenden Aufgaben liegen in der Beschreibung, „Wie“ Artefakte zu erstellen
oder zu bearbeiten sind.
Artefakt
Definition des Fraunhofer IESE [13]:
„Artefakte sind Ergebnisse im Projekt. Da es bei der Verwendung der
Begriffe Dokument, Objekt, Element, ... zu Verwechslungen kommen
kann, wird der Begriff Artefakt als generelle Bezeichnung für alle Typen
von Ergebnissen im Projekt verwendet. In Abgrenzung zum generelleren
Begriff Konfigurationselement, bezeichnen Artefakte keine Werkzeuge,
sondern ausschließlich die Ergebnisse.“
Artefakte werden durch die Ausführung einer Aktivität einer bestimmten Rolle
erstellt, geändert oder genutzt. Sie stellen das „Was“ im Software-Prozess dar.
Artefakte dienen einerseits als Input, andererseits als Output einer Aktivität, und
können die verschiedensten Formen annehmen, wie z.B. Reports, Quellcodes,
Vorlagen und andere.
Abbildung 1 (nach Cossentino et al [5]) stellt die drei beschriebenen Begriffe noch
einmal graphisch als Modell dar.
Abbildung 1: Modell für Rolle, Aktivität und Artefakt
Masterarbeit: Christian Peucker
Seite 4
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
2.2 Definition Quality Gate
Bevor auf spezielle Prozesse eingegangen wird, soll zunächst die Frage geklärt
werden, was Quality Gates sind und wozu sie in der Softwareentwicklung
verwendet werden. Anschließend wird erläutert, wie eine Quality Gate Sitzung
aufgebaut ist.
2.2.1 Was ist ein Quality Gate?
Quality Gates werden vorwiegend in Projekten eingesetzt, um ein Mindestmaß an
Qualität sicherzustellen. Sie trennen einzelne Phasen der Softwareentwicklung
und überprüfen die Ergebnisse bzw. die Leistungen aus diesen Phasen. Deshalb
werden Projekte durch Quality Gates besser strukturiert und das Risiko des
Scheiterns eines Projektes wird minimiert.
In den einzelnen Phasen gibt eine Deadline an, bis zu welchem Zeitpunkt die
Ergebnisse bzw. Dokumente abgegeben werden müssen. Anschließend folgt eine
Quality-Gate-Sitzung, die im nächsten Abschnitt beschrieben wird. Zu jedem Gate
existiert eine Checkliste, die festlegt, welche Anforderungen erfüllt sein müssen,
um in die nächste Phase eintreten zu können. Auf Grundlage der Checkliste wird
dann entschieden, ob das Quality Gate bestanden wird oder nicht.
Ein Ziel eines Quality Gates ist die Sicherstellung einer Mindestqualität. Durch die
Aufteilung des gesamten Prozesses in einzelne Phasen kann bei Nichtbestehen
eines Gates in eine frühere Phase zurückgesprungen werden, um dort
Nachbesserungen vornehmen zu können. Quality Gates bilden die Grundlage für
die Entscheidung, ob ein Projekt weitergeführt werden soll oder nicht. Projekte, die
sich als wenig sinnvoll erweisen, können somit frühzeitig abgebrochen werden.
Vorteilhaft ist weiterhin die erwähnte Deadline, da diese das Projekt zeitlich
begrenzt und damit einen gewissen Zeitdruck erzeugt.
2.2.2 Die Quality-Gate-Sitzung
Die Quality-Gate-Sitzung ist ein Treffen zwischen den Teammitgliedern, deren
Teamleitern und den Entscheidungsträgern (oft auch Gatekeeper genannt), die die
Prüfung der Dokumente vornehmen. Das Treffen findet in der Regel ein oder zwei
Tage nach der Deadline statt, so dass die Gatekeeper die Dokumente bereits
vorliegen haben. Die folgende Abbildung stellt als Beispiel die Struktur der QualityGate-Sitzung dar, wie sie beim Softwareprojekt der Universität Hannover
vollzogen wird.
Masterarbeit: Christian Peucker
Seite 5
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
deliverables
demands
checklist
Collect
documents
guides
QG Session
stop
improve
deliverables
protocol
can pass
(no flaws)
can pass
(minor flaws)
failed
(major flaws)
correct flaws
Next Phase
Abbildung 2: Quality-Gate-Prozess
In einer Quality-Gate-Sitzung werden zum einen die fertig gestellten Dokumente
und zum anderen die Checkliste benötigt. Die Gatekeeper überprüfen die
Dokumente anhand der Checkliste Punkt für Punkt und treffen am Ende der
Sitzung eine Entscheidung. Die Entscheidung kann hinsichtlich der speziellen
Prozesse, die in den folgenden Abschnitten erläutert werden, unterschiedlich
ausfallen. Dabei kann es beispielsweise folgende Ausgänge geben:
•
•
•
die Dokumente haben alle Anforderungen auf der Checkliste erfüllt und das
Projekt kann in die nächste Projektphase eintreten (no flaws)
einige der Checklistenpunkte wurden nicht erfüllt, aber das Projekt kann mit
Korrekturauflagen in die neue Phase eintreten (minor flaws)
die Dokumente erfüllen die Anforderungen nicht und das Team muss
nachbessern, um das Gate in einer neuen Sitzung zu bestehen (major
flaws)
Ein Quality Gate wird endgültig nicht bestanden und das Projekt wird gestoppt,
wenn das Team das Gate mehrmals nicht besteht. Während der Sitzung wird
kontinuierlich Protokoll geführt. Es wird protokolliert, welches Team an der Sitzung
teilgenommen hat, wann die Sitzung stattfand, welche Checklistenpunkte erfüllt
worden sind und ob das Gate bestanden wurde.
Masterarbeit: Christian Peucker
Seite 6
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
2.3 Quality-Gate-Konzept der Leibniz Universität Hannover
Der erste Quality-Gate-Ansatz stützt sich auf ein Modell, welches in der Universität
Hannover im Fachgebiet „Software Engineering“ entwickelt wurde und speziell für
den Einsatz in der Softwareentwicklung konzipiert ist. Das Modell wird dort
innerhalb eines Softwareprojekts eingesetzt, um den Studenten die Konzepte des
Quality-Gate-Ansatzes näher zu bringen und reale Bedingungen in der
Softwareentwicklung zu simulieren.
In diesem Ansatz wird die grundlegende Struktur von Quality Gates mit Phasen
und Gates berücksichtigt. In den folgenden Abschnitten wird beschrieben, wie der
Referenzprozess aufgebaut ist und wie ein konkreter Prozess aussehen kann.
Weiterhin werden die an dem Prozess beteiligten Rollen und deren Aktivitäten
näher erläutert. Am Ende folgt eine kurze Beschreibung des an der Universität
Hannover entwickelten Tools „NetQGate“, welches die Softwareentwicklung mit
Hilfe von Quality Gates unterstützt.
2.3.1 Quality-Gate-Prozess
Der Quality-Gate-Referenzprozess wird in der Abbildung 3 abgebildet:
Revise activity
[conditional go]
[conditional go]
[go]
Phase 1
Revise activity
[stop]
[major rework]
[go]
[go]
Phase 2
Phase N
[stop]
[stop]
[major rework]
[major rework]
Abbildung 3: Quality-Gate-Referenzprozess [12]
Der Referenzprozess besteht aus N Phasen und N Gates, die jeweils auf eine
Phase folgen. Wird eine Phase beendet, so wird sie anhand eines Quality Gates
bewertet. Dabei wird eine Quality-Gate-Sitzung abgehalten, die zu unterschiedlichen Ergebnissen führen kann.
Wenn alle Anforderungen erfüllt sind ([go]-Zweig), gilt das Projekt als bestanden
und tritt in die nächste Phase ein. Bei nicht vollständiger Erfüllung muss zusätzlich
nachgebessert werden ([conditional go]). Sind größere Mängel vorhanden, wird
die vorherige Phase wiederholt ([major rework]) oder aber das Projekt wird
endgültig gestoppt ([stop]). Ansonsten müssen in der folgenden Phase neue
Anforderungen erfüllt werden. Sind N Phasen erfolgreich beendet worden, so
endet das Projekt.
Abbildung 4 zeigt einen konkreten Quality-Gate-Prozess als Beispiel, in dem der
Referenzprozess an die gegebenen Projektbedingungen angepasst wurde. Diese
Anpassung wird auch „Tailoring“ genannt und in einem späteren Kapitel näher
erläutert. Der Prozess besteht aus drei Phasen und drei Gates. Die Anpassung
besteht darin, dass in diesem Fall das Weiterkommen bei geringen Mängeln
Masterarbeit: Christian Peucker
Seite 7
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
entfällt. Ein Bestehen der Phase kann nur erreicht werden, wenn auch alle
Anforderungen komplett erfüllt wurden.
[go]
Spezifikation
Coding
[stop]
[major rework]
[go]
[go]
Design
[stop]
[stop]
[major rework]
[major rework]
Abbildung 4: Ein konkreter Quality-Gate-Prozess [12]
Die Vorteile des Quality-Gate-Prozesses liegen besonders in der Einfachheit, da
formale Überprüfungen leicht vorgenommen und Checklisten auch von unerfahrenen Gatekeepern verwendet werden können.
2.3.2 Rollen, Artefakte und Aktivitäten
In dem Quality Gate Prozess können vier Rollen identifiziert werden: Team Expert,
Team Quality Agent, Gatekeeper und das Quality Management. Die Aufgaben
bzw. Aktivitäten der jeweiligen Rolle werden in der folgenden Tabelle dargestellt:
Rolle
Team Expert
(TE)
Person / Abteilung
• Mitglied des Teams
Team Quality
Agent (TQA)
•
•
Quality Agent des
Teams
ansonsten der
Teamleiter
Aufgaben / Aktivitäten
• ist bei der Quality GateSitzung anwesend
• besitzt Einspruchsrecht
•
•
•
•
•
Gatekeeper
•
•
•
Quality
Management
(QM)
•
•
stellt die Qualität der
Dokumente vor Abgabe sicher
bestimmt die TE
gibt die richtigen Dokumente
zum richtigen Zeitpunkt ab
ist bei der Quality GateSitzung anwesend
hat Einspruchsrecht
Quality Agent eines
anderen Teams
Delegierter Quality
Agent vom Quality
Management
Stakeholder
•
•
prüft die Dokumente
fällt in der Quality GateSitzung Entscheidung über
Fortgang des Projektes
Klassisches
Qualitätsmanagement
ansonsten
Gatekeeper
•
konfiguriert und maßschneidert
den Quality-Gate-Prozess
bestimmt die Gatekeeper
sammelt Managementdaten
•
•
Tabelle 1: Rollen und Aktivitäten beim Quality Gate
Zusätzlich zu den Rollen und deren Aufgaben gibt es im Quality-Gate-Prozess
noch drei verschiedene Artefaktklassen: Deliverables (Ergebnisse / Leistungen),
Checklisten und Protokolle. Die Deliverables sind im Normalfall einfache
Dokumente. Die Checklisten bestehen aus Aspekten, die die Deliverables
Masterarbeit: Christian Peucker
Seite 8
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
überprüfen, wogegen die Protokolle die getroffenen Entscheidungen und Ergebnisse in einem Quality Gate dokumentieren.
2.3.3 NetQGate
Im Rahmen einer Bachelorarbeit an der Universität Hannover von Jens Greive [16]
wurde die Webanwendung „NetQGate“ entwickelt. Diese Anwendung wurde
erstellt, um die aufwändigen realen Quality-Gate-Sitzungen virtuell zu
unterstützen. Dabei ist das System so aufgebaut, dass geforderte Dokumente bis
zu einer bestimmten Deadline von den Team-Mitgliedern im System abgelegt und
Checklisten zum Überprüfen der Dokumente von dem Quality-Management
erstellt und verwendet werden können. Mit diesem Tool sollen die ebenfalls
aufwändigen Terminabsprachen zwischen allen Beteiligten und der Aufwand der
Betreuer reduziert werden.
In einer späteren Masterarbeit von Daniel Scholz [33] wurden dann Erweiterungen
zum vorigen NetQGate-Konzept, wie z.B. das Tailoring (Anpassen) von
Checklisten auf das jeweilige Projektprofil, hinzugefügt.
2.4 Stage-Gate-Prozess von Cooper
Ein weiteres Modell, welches Quality Gates in der Softwareentwicklung umsetzt,
ist der Stage-Gate-Prozess von Robert G. Cooper [4]. Es ist ein konzeptionelles
und operatives Modell, um Produkte von der Idee bis zur Einführung leiten und
kontrollieren zu können. Ziel des Prozesses ist die Verbesserung der Effektivität
und Effizienz und die Risikominimierung bei der Entwicklung eines neuen
Produktes. Der Stage-Gate-Prozess besteht aus so genannten „Stages“ und
„Gates“, die im Folgenden näher erläutert werden sollen.
2.4.1 Stages
Beim Stage-Gate-Prozess wird der Entwicklungsprozess in eine vorher festgelegte
Anzahl von „Stages“ eingeteilt. Jedes Stage besteht aus parallelen Aktivitäten, die
von Menschen aus verschiedenen funktionalen Bereichen des Unternehmens
durchgeführt werden. Ein Stage ist somit vergleichbar mit einer Phase im
Entwicklungsprozess. In jeder der Phasen werden Leistungen und Ergebnisse
erzielt, die wichtig sind, um in folgende Phasen eintreten zu können. Im Normalfall
ist jede Phase teurer als die Vorige, daher kann der Prozess als inkrementell
angesehen werden.
2.4.2 Gates
Vor den einzelnen Stages kontrollieren so genannte „Gates“ den Prozess. Sie
werden in Meetings abgehalten und dienen als Entscheidungs- und
Qualitätskontrollpunkte, bei denen entschieden wird, ob das Eintreten in eine neue
Phase (Stage) ermöglicht wird oder nicht. Dieser Entscheidungspunkt wird in der
Literatur auch oft „go/kill“-Entscheidungspunkt genannt, da er sowohl für die
Weiterführung, aber auch für das Abbrechen eines Projektes verantwortlich sein
kann. Damit die Entscheidungen auch sinnvoll und angemessen sind, müssen
Gates gut strukturiert sein. Dafür benötigt man laut Cooper folgende
Hauptkomponenten:
Masterarbeit: Christian Peucker
Seite 9
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
1. Ergebnisse/Leistungen (engl. Deliverables)
Die Ergebnisse bzw. Leistungen werden im Voraus für jedes Gate definiert. Sie
beinhalten die Ergebnisse, die das Team und der Projektleiter während der
entsprechenden Entwicklungsphase erzielen und dann beim nächsten Gate
vorlegen müssen. Die Aktivitäten des Teams in einer Phase (Stage) müssen sich
daher genau auf diese Ergebnisse beziehen. Die Liste von Ergebnissen für ein
Gate ist die Menge an Zielen für das Team.
2. Kriterien (engl. Criteria)
Damit die Entscheidungsträger (Gatekeeper) sinnvolle Entscheidungen treffen
können, werden Kriterien zur Beurteilung benötigt. Die Kriterien überprüfen die
abgegebenen Ergebnisse und Leistungen des Teams. Daher müssen sie für die
beteiligten Personen einsehbar und verständlich formuliert sein, damit die
Erwartungen für die jeweilige Phase geklärt sind. Die Kriterien sind für gewöhnlich
in Checklisten formuliert, die von den Gatekeepern überprüft werden. Dabei gibt
es Kriterien, die bei jedem Gate verwendet werden, aber auch Kriterien, die von
Gate zu Gate verschieden sind. Desweiteren werden Kriterien in „must-meet“- und
„should-meet“-Kriterien unterschieden. „Must-meet“-Kriterien müssen bei der
Überprüfung erfüllt sein und können bei Nicht-Erfüllung ein Stoppen des Projektes
verursachen. „Should-meet“-Kriterien hingegen sind erwünschte Eigenschaften
des Projekts, jedoch ist ein „Nein“ noch kein kill-Kriterium.
3. Outputs
Outputs enthalten zum einen die Ergebnisse und Entscheidungen des GateMeetings und zum anderen einen Plan, der vorgibt, was als Nächstes zu tun ist
und welche Leistungen bis zum nächsten Gate erbracht werden sollen. Diese
Outputs dienen dazu, das Resultat des Gates deutlich festzulegen. Beim StageGate-Prozess gibt es vier mögliche Entscheidungen aus einem Gate-Meeting:
• „Go“: Das Projekt kann in die nächste Phase eintreten und die benötigten
Ressourcen wurden von den Gatekeepern festegelegt.
• „Kill“: Das Projekt wird gestoppt und es soll keine weitere Arbeit investiert
werden.
• „Hold“: Das Projekt hat das Gate erfolgreich bestanden, aber es stehen
nicht die nötigen Ressourcen zur Verfügung, da diese anderen Projekten
zugeordnet sind. Es wird solange zurückgestellt, bis wieder genügend
Ressourcen vorhanden sind.
• „Recycle“: Das Gate wurde nicht erfolgreich passiert, aber es darf
nachgebessert werden, indem man die Phase wiederholt und besser auf
die geforderten Leistungen eingeht.
Am Ende eines Gates gibt es auf jeden Fall eine Entscheidung, da es keine
Möglichkeit gibt, diese aufzuschieben.
Mit Hilfe der Darstellung in Abbildung 5 kann man die drei Hauptkomponenten
eines Gates in Zusammenhang bringen.
Deliverables
Criteria
Outputs
Abbildung 5: Zusammenhang der Gate-Komponenten
Masterarbeit: Christian Peucker
Seite 10
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Die Leistungen (Deliverables) werden mit Hilfe von Kriterien überprüft. Anhand
dieser Kriterien (Criteria) wird eine Entscheidung getroffen, die zu Ergebnissen in
Form von Outputs führen.
2.4.3 Stage-Gate-Prozess
Der Stage-Gate-Prozess ist ein Prozess, der nicht strikt auf die Entwicklung von
Software festgelegt ist, sondern für jede Art von Produktentwicklungen konzipiert
wurde. Abbildung 6 stellt einen typischen Stage-Gate-Prozess dar.
Discovery
Driving new Products to Market
Idea Screen
Gate 1 Second
Screen
Stage 1
Scoping
Gate 2
Go To
Development
Stage 2
Build
Business Case
Gate 3
Go To
Testing
Stage 3
Development
Gate 4
Go To
Launch
Stage 4
Testing &
Validation
Gate 5
Stage 5
Launch
Post-Launch
Review $
Abbildung 6: Stage-Gate-Prozess von Cooper
Die einzelnen Stages und Gates in der Abbildung werden nun näher erläutert:
Discovery Stage
Gute Ideen sind der Ausgangspunkt für die Entwicklung eines erfolgreichen
Produktes. Deshalb ist diese Phase zu Anfang des Stage-Gate-Prozesses wichtig
für alle Folgenden. Das Ziel dieser Phase ist es, den Markt auf Chancen und
Möglichkeiten zu untersuchen, um ein neues Produkt gewinnbringend unterzubringen.
Gate 1: Idea Screen
In diesem Gate wird entschieden, ob die Produkt-Idee gut genug ist, um auf dem
Markt zu bestehen. Bei einer „go“-Entscheidung wird das Projekt an dieser Stelle
geboren. In diesem Gate werden außerdem die „must-meet“ und „should-meet“
Kriterien festgelegt, welche sich z.B. mit der Nutzbarkeit und strategischen
Anpassung befassen. Finanzielle Kriterien werden in diesem Gate noch nicht
betrachtet.
Stage 1: Scoping
In dieser Phase liegt der Blickpunkt auf dem Ermitteln von technischen
Projektdetails. Außerdem steht eine vorausgehende Marktbeurteilung im
Vordergrund, in der z.B. Recherchen und Gespräche mit Schlüsselkunden
Masterarbeit: Christian Peucker
Seite 11
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
stattfinden. Ziel dieser Phase ist die Ermittlung von Marktgröße, Marktpotential
und eine erste oberflächliche Finanzierungsanalyse.
Gate 2: Second Screen
Das Second-Screen-Gate kann als eine Wiederholung des Gate 1 angesehen
werden, da das Projekt mit Hilfe von zusätzlich gewonnenen Informationen neu
bewertet wird. Die in Gate 1 festgelegten Kriterien werden noch einmal überarbeitet und neue Kriterien werden hinzugefügt. Wird das Gate erfolgreich
bestanden, so kommt das Projekt in eine aufwändigere Phase.
Stage 2: Building the Business Case
Stage 2 öffnet die Tür zur Entwicklung des Produktes und legt die
Produktdefinition fest. In dieser Phase werden der Zielmarkt, die Beschreibung
des Produktkonzepts, die Spezifikation, die Produktvorteile und die Festlegung der
Produktfeatures definiert. Die User-Requirements werden dabei auf technische
Realisierbarkeit untersucht. Ein erster Prototyp kann, falls erwünscht, erstellt
werden. Abschließend sollte ein detaillierter Finanzierungs- und Projektplan
festgelegt werden.
Gate 3: Go to Development
Dieses Gate ist das letzte Gate vor der eigentlichen Entwicklung des Produktes.
Somit ist es der letzte Entscheidungspunkt, an dem das Projekt gestoppt werden
kann, bevor die kostenintensiven Phasen bearbeitet werden. Außerdem werden
in dem Gate 3 die Produktdefinitionen festgehalten und das Team inkl. Teamleiter
festgelegt.
Stage 3: Development
Die Entwicklungsphase beschäftigt sich mit der Realisierung des
Entwicklungsplans und der physischen Entwicklung des Produktes. Daher ist
diese länger als die Vorherigen. Um dennoch eine Kontrolle über erzielte
Ergebnisse zu erhalten und die Phase in überschaubarere Teile zu splitten,
können Meilensteine eingesetzt werden. Diese sind jedoch nicht gleichzusetzen
mit Gates, da sie keine „go/kill“-Entscheidungen beinhalten. Am Ende der Phase
steht als Ergebnis ein getesteter Prototyp des Produktes zur Verfügung. Weiterhin
kann der Prototyp auch an potentielle Kunden weitergeleitet werden, um
entsprechendes Feedback zu erhalten. Ein neuer Finanzplan kann hier ebenfalls
festgelegt werden.
Gate 4: Go to Testing
In diesem Gate wird überprüft, ob alle Leistungen des erstellten Produkts
qualitätsbewusst durchgeführt wurden und konsistent mit der Spezifikation sind.
Außerdem wird untersucht, ob sich das Projekt noch im Finanzplan bewegt.
Stage 4: Testing and Validation
Hier wird die komplette Produktrealisierung genauer unter die Lupe genommen,
indem Tests und Validierungen durchgeführt werden. Zu der Produktrealisierung
gehört einerseits das Produkt selbst und andererseits der Produktionsprozess und
die Kundenakzeptanz. Stage 4 dient außerdem der Marktanalyse, indem
Markttests mit dem Produkt durchgeführt werden.
Masterarbeit: Christian Peucker
Seite 12
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Gate 5: Go to Launch
Dieses letzte Gate öffnet das Tor zur Einführung des Produktes auf dem Markt
und dessen Produktion. Dabei werden speziell die gewonnenen Ergebnisse und
Informationen aus der Testing- and Validation-Phase analysiert. Es wird
beispielsweise geprüft, wie der zu erwartende Gewinn zu beurteilen ist und ob die
Markteinführungspläne angemessen sind.
Stage 5: Launch
Die letzte Phase ist die Einführungsphase und bezieht die Durchführung des
Marketingeinführungs- und Produktionsplans ein. Nach Cooper ist das Risiko an
dieser Stelle des Prozesses jedoch gering, wenn alle vorherigen Phasen und
Gates eingehalten wurden.
Post-Launch Review
Einige Zeit nach der Markteinführung des Produkts folgt das „Post-Launch
Review“. In dieser Phase wird das Projekt beendet und z.B. analysiert, wie sich
das Produkt auf dem Markt durchgesetzt hat, welche Kosten dadurch entstanden
sind und wie die Prozessdurchführung im Projekt geklappt hat. Die daraus
gewonnenen Informationen können dann als Prozessweiterentwicklung für
zukünftige Projekte verwendet werden.
2.4.4 Die dritte Generation des Stage-Gate-Prozesses
Der bisher beschriebene Prozess stellte die zweite Generation des Stage-GateProzesses dar, der heutzutage große Verwendung findet. Die erste Generation
tauchte schon 1960 als „phased review process“ auf, welcher stark technikbezogen war. Nach jeder Phase wurde ein aufwändiges Review durchgeführt, um
zu überprüfen, ob die Aufgaben auch richtig erfüllt wurden.
Stage-Gate-Prozesse sind jedoch so aufgebaut, dass sie ständig weiterentwickelt
werden können. Cooper stellt daher noch eine dritte Generation vor, welche den
Prozess beschleunigt. Sein Konzept besteht aus sechs fundamentalen „F’s“, die
im Folgenden näher erläutert werden sollen.
Flexibility
Der Prozess soll möglichst flexibel gestaltet werden, um sich so gut wie möglich
an die gegebene Projektsituation anpassen zu können. So können Phasen und
Gates ausgelassen, gesplittet, kombiniert oder hinzugefügt werden. Dabei kann
das Risiko-Level einen ausschlaggebenden Hinweis geben, ob ein größerer oder
kleinerer Prozess benötigt wird. Bei kleinen Projekten mit geringerem Risiko
könnte ein schlankerer Prozess mit kombinierten Phasen und Gates sinnvoll sein,
um den Prozess zu beschleunigen. Bei großen Projekten sollte ggf. ein größerer
Prozess eingesetzt werden, um bestmögliche Qualität zu gewährleisten.
Fuzzy Gates
Der Begriff Fuzzy in diesem Zusammenhang kann mit “Fuzzy Logic” aus der
Mathematik verglichen werden. Auf den Stage-Gate-Prozess angewandt können
bspw. die Entscheidungen in den Gates nicht nur binäre Werte, also erfüllt oder
nicht erfüllt, sondern auch Status dazwischen annehmen. So kann ein Gate
bestanden werden, wenn auch nicht alle Leistungen erfüllt worden sind, aber der
Grad an Erfüllung über einem bestimmten Schwellenwert liegt. Die nicht erfüllten
Masterarbeit: Christian Peucker
Seite 13
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Leistungen können dann in der nachfolgenden Phase „nebenbei“ bearbeitet
werden. Der Begriff „Fuzzy“ wird in dem Kapitel 5.1 noch näher erläutert.
Fluidity
“Fluidity” meint, dass der Prozess weichere Übergänge zwischen den Phasen
bekommen soll. Um einen fließenden Übergang zu erreichen, werden Aktivitäten
aus der nächsten Phase schon begonnen, bevor die Vorherige beendet wurde.
Lange Bearbeitungszeiten für bestimmte Aktivitäten können so schon in der Phase
zuvor begonnen werden. Die einzelnen Phasen können sich somit an einigen
Stellen überlappen. Dieser Ansatz ist ähnlich zu dem Fuzzy-Ansatz, in dem einige
Aktivitäten in die nachfolgende Phase verschoben werden können.
Focus
Das Fokus-Konzept bedeutet, dass man bei vielen Projekten Priorisierungen
vornehmen muss, indem man bessere Projekte bevorzugt. Schwache Projekte
werden an den Gates aussortiert und die Ressourcen können so diesen
profitableren Projekten zugeordnet werden.
Facilitation
Für Erleichterung während des Stage-Gate-Prozesses kann ein spezieller
Prozess-Manager sorgen, der sicherstellt, dass der Prozess effizient und effektiv
arbeit. Er moderiert jede Gate-Sitzung, agiert als eine Art Schiedsrichter und stellt
sicher, dass die Gatekeeper die Regeln befolgen. Außerdem soll er die ProjektTeams unterstützen und für Prozessverbesserung sorgen. Gerade bei großen
Firmen ist dies ein full-time Job und sollte somit immer von einer Person
durchgeführt werden, die Überblick über alle Projekte besitzt.
Forever Green
Die Idee hier ist, dass der Stage-Gate-Prozess immer wieder weiterentwickelt
werden muss. Ein Problem z.B. ist es, dass Projekt-Mitglieder nicht immer zur
selben Zeit am selben Ort sein können, um ein Gate-Meeting abzuhalten. Dafür
kann eine web-basierte Softwarelösung gefunden werden, die die Kommunikation
zwischen den Mitgliedern unterstützt. Das bereits erwähnte NetQGate stellt eine
solche Softwarelösung dar.
Masterarbeit: Christian Peucker
Seite 14
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
2.5 V-Modell XT
Das V-Modell [24] ist ein Vorgehensmodell zum Planen und Durchführen von
Projekten. Dabei definiert es die in einem Projekt zu erstellenden Ergebnisse und
beschreibt die konkreten Vorgehensweisen, mit denen die Ergebnisse erarbeitet
werden. Außerdem werden die Verantwortlichkeiten innerhalb des Projekts
festgelegt. Es regelt also detailliert „Wer“ „Wann“ „Was“ in einem Projekt zu tun
hat.
Das V-Modell hat militärischen Ursprung und wurde erstmals 1993 im Sinne einer
„zivilen“ Fassung von der KBSt 1 erstellt. Aufgrund von neuen Softwareentwicklungsansätzen wurde 1997 eine Überarbeitung des Modells mit dem
Namen „V-Modell 97“ veröffentlicht, welches seitdem für jegliche Softwareentwicklung in der Bundesregierung zur Anwendung empfohlen wurde.
Das derzeitig aktuelle V-Modell XT wurde 2005 im Zuge von neuen Erkenntnissen
in der Softwareentwicklung erstellt. XT steht dabei für Extreme Tailoring, welches
die Möglichkeit der Anpassung an verschiedene Projekte und Organisationen
ermöglicht. Das Tailoring des V-Modells stellt ein Hauptkonzept des neuen
Modells dar und wird in einem späteren Abschnitt näher erläutert.
2.5.1 Zielsetzung
Die Durchführung des V-Modell XT verfolgt nachstehende Ziele:
•
Projektrisiken werden minimiert, indem das Modell standardisierte
Vorgehensweisen vorgibt, zugehörige Ergebnisse beschreibt und die
verantwortlichen Rollen festlegt. Dadurch wird die Planbarkeit des
Prozesses verbessert und die Projekttransparenz erhöht. Risiken werden
so schnell erkannt und können durch Steuerungsmaßnahmen eingedämmt
werden.
•
Das V-Modell XT stellt eine Verbesserung und Gewährleistung von Qualität
sicher. Durch definierte Zwischenergebnisse kann die Qualität schon
frühzeitig überprüft werden. Die Überprüfung kann durch die
Vereinheitlichung leichter und verständlicher durchgeführt werden.
•
Durch die Anwendung des V-Modells lassen sich der Aufwand und die
Kosten, die bei der Herstellung, dem Betrieb und der Pflege eines Systems
entstehen, besser einschätzen und steuern. Das Projekt ist somit
kalkulierbar und Kostenrisiken wird vorgebeugt.
•
Durch das festgelegte Modell wird die Kommunikation zwischen allen
Beteiligten verbessert. Bestandteile und Begrifflichkeiten werden durch das
V-Modell definiert und können so Reibungsverluste reduzieren.
1
KBSt: Koordinierungs- und Beratungsstelle der Bundesregierung für Informationstechnik in der
Bundesverwaltung
Masterarbeit: Christian Peucker
Seite 15
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
2.5.2 Aufbau
Der Aufbau wurde mit der Einführung des V-Modell XT grundlegend verbessert.
Um die Anpassbarkeit an konkrete Projekte mit speziellen Projekteigenschaften zu
gewährleisten, wurde das V-Modell in einzelne Bausteine zerlegt. Vordefinierte
Ablaufrahmen beschreiben, welche dieser Bausteine in einer konkreten
Projektkonstellation zum Einsatz kommen und in welcher Reihenfolge die
Ergebnisse zu erarbeiten sind.
Für die Struktur des V-Modells XT sind folgende Elemente von Bedeutung:
• Projekttypen
• Vorgehensbausteine
• Projektdurchführungsstrategien
• Entscheidungspunkte
Die einzelnen Elemente sollen nun näher erläutert werden:
Projekttypen
Nicht jedes Projekt läuft nach dem gleichen Schema ab. Daher muss ein Projekt
anhand der Projekteigenschaften in Projekttypen klassifiziert werden. Die
wichtigsten Merkmale zu einem Projekt sind der Projektgegenstand und die
Projektrolle.
Bei dem Projektgegenstand wird dabei zwischen Systementwicklung und
Einführung/Pflege eines organisationsspezifischen Vorgehensmodells unterschieden. Im Fall der Systementwicklung kann man aus fünf Systemtypen wählen
(siehe Abbildung 7).
Abbildung 7: Von den Projektmerkmalen zur Projektdurchführungsstrategie
Masterarbeit: Christian Peucker
Seite 16
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Die Projektrollen lassen sich in drei Klassen einteilen. Die erste Projektrolle ist
AG/AN, in der genau ein V-Modell-Projekt durchgeführt wird. In der Projektrolle
AG wird die Systemerstellung auf Grundlage von festgelegten Anforderungen an
einen oder mehrere Auftraggeber vergeben. In der letzten Klasse AN wird ein
Systementwicklungsprojekt auf Basis der vom Auftraggeber festgelegten
Anforderungen durchgeführt.
Aus dem Projektgegenstand und der Projektrolle ergeben sich dann vier mögliche
Projekttypen: Systementwicklungsprojekt AG, AN oder AG/AN und die Einführung
und Pflege eines organisationsspezifischen Vorgehensmodells.
Vorgehensbausteine
Die wesentlichen Inhalte des V-Modells sind in den modularen, aufeinander
aufbauenden Vorgehensbausteinen enthalten. Ein Vorgehensbaustein deckt eine
konkrete Aufgabenstellung ab, die während eines Projekts auftreten kann.
Innerhalb der Aufgabenstellung werden die zu erbringenden Produkte, die dafür
benötigten Aktivitäten und die mitwirkenden Rollen festgelegt. Jedes Produkt wird
von genau einer Aktivität erstellt, die jedoch in Teilaktivitäten aufgeteilt werden
kann. Eine Rolle kapselt eine Menge von Aufgaben und Verantwortlichkeiten, die
zu Beginn des Projekts einzelnen Personen zugeordnet werden. Jeder einzelne
Vorgehensbaustein ist in sich geschlossen und kann so einheitlich verwendet
werden.
Projektdurchführungsstrategien
Eine Projektdurchführungsstrategie definiert einen grundlegenden Rahmen für die
geordnete und nachvollziehbare Durchführung eines Projektes. Dabei bietet das
V-Modell für jeden Projekttyp mindestens eine geeignete Strategie an. Die
Strategie legt das „Wann“, d.h. die Reihenfolge der zu erstellenden Produkte bzw.
durchzuführenden Aktivitäten, fest.
Abbildung 7 zeigt die elf verschiedenen Produktdurchführungsstrategien, die im VModell zur Verfügung gestellt werden. Auf die einzelnen Strategien soll jedoch
nicht weiter eingegangen werden.
Entscheidungspunkte
Mit Hilfe der Produktdurchführungsstrategie wird die Reihenfolge der im Projekt zu
erreichenden Projektfortschrittsstufen vorgegeben. Jede dieser Stufen ist durch
einen Entscheidungspunkt markiert und zeigt den aktuellen Stand des Projektes.
Ein Entscheidungspunkt wird im Zusammenhang vom V-Modell als Meilenstein im
Projektablauf betrachtet. In Hinsicht auf Quality Gates stellen die
Entscheidungspunkte jedoch eher Gates dar. Für jeden Entscheidungspunkt im VModell ist eine Menge von Produkten definiert, die am Ende der Stufe fertig
gestellt sein müssen. Anhand der Produkte entscheidet das Management, ob die
Stufe als erfolgreich bewertet wird und das Projekt in die nächste Projektphase
eintreten darf.
Mit einer Projektdurchführungsstrategie besteht also die Möglichkeit,
Entscheidungspunkte in eine Ablaufreihenfolge zu bringen. Hierbei können
insbesondere
• Zyklen vorgegeben werden, d.h. es werden mehrmals die selben
Entscheidungspunkte durchlaufen,
Masterarbeit: Christian Peucker
Seite 17
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
•
•
mehrmals dieselben Entscheidungspunkte an unterschiedlichen Stellen in
der Projektdurchführungsstrategie verwendet werden und
parallele Abläufe durchgeführt werden.
Die Entscheidungspunkte legen zusammen mit den Produktdurchführungsstrategien das „Wann“ und „Was“ fest, d.h. wann welche Produkte fertig gestellt
sein müssen.
Abbildung 8: Entscheidungspunkte im V-Modell XT
Abbildung
8
zeigt
alle
im
V-Modell
grundlegend
vorgesehenen
Entscheidungspunkte. Anhand konkreter Projektmerkmale, des Projekttyps und
daraus resultierender Strategie wird das in der Abbildung dargestellte Modell
angepasst. Die Anpassung bzw. das Tailoring wird im folgenden Abschnitt
erläutert.
2.5.3 Klassifizierung / Tailoring
Das V-Modell XT ist so konzipiert worden, dass es in möglichst vielen
Projektkonstellationen anwendbar ist. Daher ist es notwendig, dass es an die
konkreten Projektbedingungen angepasst werden kann. Diese Anpassung
(Tailoring) kann der Anwender des Modells anhand der Angabe von
Projektmerkmalen vornehmen. Zu diesem Zweck wurde für das V-Modell XT
eigens ein Projektassistent entwickelt, der den Anwender beim Tailoring
unterstützt.
Abbildung 9: V-Modell XT Projektassistent - Projekttyp
Masterarbeit: Christian Peucker
Seite 18
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Abbildung 10: V-Modell XT Projektassistent – Anwendungsprofil
Wie in Abbildung 9 und Abbildung 10 dargestellt, wird das Projekt zunächst
anhand einer Liste mit vorgegebenen Projektmerkmalen charakterisiert. Das
komplette Anwendungsprofil legt automatisch den Projekttyp fest. Für jeden
Projekttyp gibt es verpflichtend und optional zu verwendende Vorgehensbausteine. Das Tailoring liefert am Ende eine oder mehrere Projektdurchführungsstrategien zur Auswahl, von denen der Anwender eine einzelne
oder eine Kombination auswählen kann. Dies wird in der Literatur im
Zusammenhang des V-Modells oft „statisches Tailoring“ genannt, da hier eine
feste Strategie festgelegt wird.
Zusätzlich können jedoch während der Projektlaufzeit Vorgehensbausteine
hinzugefügt bzw. entfernt werden. Ausnahmen sind dabei die verpflichtenden
Bausteine. Dieser Vorgang wird „dynamisches Tailoring“ genannt.
Abbildung 11: V-Modell XT - Tailoring-Metamodell
Masterarbeit: Christian Peucker
Seite 19
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Abbildung 11 zeigt das allgemeine Tailoring-Metamodell des V-Modell XT. Dabei
wird für jeden Projekttyp dargestellt, welche Vorgehensbausteine verpflichtend
oder optional und welche Projektdurchführungsstrategien möglich sind. Ein
Projekttyp besteht aus bestimmten Auswahlkriterien, die durch Werte in den
Projektmerkmalen charakterisiert werden. Ebenso wird die Anwendbarkeit von
Vorgehensbausteinen und Projektdurchführungsstrategien durch konkrete Werte
bestimmt.
2.6 Quality-Gate-Konzept von Pfeifer / Schmidt
Das Quality-Gate-Konzept von Pfeifer/Schmidt [31] stellt eine Vorgehensweise
des Projektmanagements für die Entwicklung von softwareintensiven Systemen
dar. Mit diesem Konzept sollen eine höhere Produktqualität erreicht und Kosten,
vor allem bei der Systemintegration, eingespart werden.
Pfeifer/Schmidt möchten mit ihrem Konzept insbesondere verhindern, dass durch
mangelnde Synchronisation der Projektergebnisse während der Projektphasen
Fehler und Unklarheiten in spätere Phasen verschleppt werden. Diese Fehler
werden meist bei der Integration zum Gesamtsystem offenbart und sind nur mit
großem Aufwand zu korrigieren. Darum sind die frühen Phasen von größter
Bedeutung für den Erfolg des Projekts. Durch die Einführung eines Modells soll
dem Projekt eine klare Struktur gegeben werden.
Abbildung 12: Synchronisation durch Quality Gate nach Pfeifer/Schmidt
Abbildung 12 zeigt einen Teil eines technischen Prozesses, in dem es mehrere
Entwicklungsstränge gibt. In diesem Beispiel benötigt das Produkt Entwicklungen
aus der Mechanik, Elektronik und der Software. Die Stränge driften innerhalb der
einzelnen Phasen auseinander. Dieser Effekt ist jedoch gewollt, da dadurch
kreative Freiräume entstehen, die für optimale Lösungen genutzt werden können.
Das Quality Gate stellt dabei ein Messpunkt dar, an dem bei Phasenbeginn
definierte Zwischenergebnisse überprüft werden. Außerdem sorgt ein Gate für die
Zusammenführung der Entwicklungsstränge, damit diese nicht zu weit
auseinander driften. Die Bewertung erfolgt, wie bereits in den anderen QualityGate-Modellen mit Hilfe von Checklisten. Ein Projekt kann nur dann weitergeführt
werden, wenn das Gate die Freigabe erteilt.
Masterarbeit: Christian Peucker
Seite 20
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Abbildung 13: Quality-Gate-Plan nach Pfeifer/Schmidt
In Abbildung 13 ist der komplette Entwicklungsprozess eines technischen Systems
beispielhaft dargestellt. Dabei wird der Prozess in 6 Phasen, die jeweils durch
Quality Gates unterteilt werden, aufgeteilt. Neu in diesem Zusammenhang sind die
Synchronisationspunkte in den einzelnen Phasen. Diese können je nach Bedarf
und Projektgegebenheit neben den Quality Gates definiert werden, um
Zwischenergebnisse zu synchronisieren. Sie dienen außerdem der Bewertung des
Projektfortschritts und werden oft als Previews bezeichnet, da sie eine Projektion
auf das kommende Quality Gate darstellen.
Für den Erfolg eines Projekts sind nach Pfeiffer/Schmidt klar definierte messbare
Ziele, die systematische Synchronisation von Zwischenergebnissen und eine
kontinuierliche Fortschrittsbewertung von zentraler Bedeutung. Abbildung 14 zeigt
eine dafür erarbeitete 4-stufige Vorgehensweise, die in jeder Projektphase zu
durchlaufen ist.
Abbildung 14: 4-stufige Quality-Gate-Vorgehensweise von Pfeiffer/Schmidt
1
Nach dem Durchschreiten des vorhergehenden Gates müssen die
Ergebnisse, die am Ende dieser Phase vorliegen sollen, möglichst
feingranular definiert werden. Dazu werden messbare Erfüllungskriterien
festgelegt und innerhalb einer Checkliste dokumentiert.
2
Im 2. Schritt wird die Planung für die Phase hinsichtlich
durchzuführender Aufgaben, Kompetenzen, Verantwortlichkeiten und
einzusetzender Entwicklungsmethoden vorgenommen. Außerdem
werden Synchronisationspunkte festgelegt.
3
Der 3. Schritt befasst sich mit der Durchführung der geplanten
Ergebnisse aus dem zweiten Schritt. Während der Durchführung wird
die Reife der Ergebnisse von den Entwicklern selbst anhand der
Checkliste bewertet.
Masterarbeit: Christian Peucker
Seite 21
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
4
Im abschließenden Schritt erfolgt die Abnahme der Ergebnisse, die mit
Hilfe eines Quality-Gate-Reviews durchgeführt wird. Die Bewertung
erfolgt mit Hilfe der Checkliste.
Pfeifer/Schmidt legen in ihrem Modell ebenso dar, dass es in dem Entwicklungsprozess sinnvoll ist, weitere technische Reviews durchzuführen mit dem Ziel, auf
inhaltlicher Ebene Mängel oder Fehler zu finden.
2.7 ABB Gate Modell
ABB steht für Asea Brown Boveri und ist ein Konzern der Elektrotechnik mit Sitz in
Zürich. Der Konzern hat ein Modell für eigene Zwecke konzipiert, welches auf die
eigenen Erfahrungen in der Produktentwicklung zurückgreift.
Das ABB Gate Modell definiert acht Gates, in denen Geschäftsentscheidungen
getroffen werden. Das Modell kann in verschiedenen Entwicklungstypen eingesetzt werden, z.B. bei der Softwareentwicklung, Hardwareentwicklung, aber
auch im Marketing.
Im Gegensatz zu den bisher beschriebenen Modellen definiert das ABB Gate
Modell keine Phasen bzw. Stages. Trotzdem orientiert es sich am Stage-GateProzess von Cooper. Es setzt voraus, dass das gewählte SDLM (Software
Business Lifecycle Model) die benötigten Phasen beinhaltet. Dabei stellen die
Ergebnisse aus den Aktivitäten während der Entwicklung die nötigen
Informationen für das jeweilige Gate zur Verfügung.
Gate
Name des Gates
Start Project
Start Project Planning
Start Execution
Confirm Execution
Start Introduction
Release Product
Close Project
Retrospective Investigation
Abbildung 15: Gates im ABB Gate Modell [6]
Masterarbeit: Christian Peucker
Seite 22
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Abbildung 15 stellt die einzelnen Gates des ABB-Gate-Modells dar. In den ersten
sechs Gates (0 bis 5) wird durch Entscheidungspunkte festgelegt, ob die
Entwicklung fortgeführt werden soll oder nicht. Gate 6 und 7 werden verwendet,
um das Entwicklungsprojekt zu beenden und Erfahrungen zu sammeln.
In der folgenden Tabelle 2 soll nun auf die einzelnen Gates näher eingegangen
werden:
Gate 0
Der Input für Gate 0 besteht aus einer Durchführbarkeitsstudie und
einer Marktanalyse, die Chancen, Wettbewerber und Risiken
analysiert.
Gate 1
Am Gate 1 wird der Rahmen für die Entwicklung abgesteckt. Dabei
werden z.B. die Funktionen und Features des Produkts definiert, die
für die Planung des Projekts zum Nutzen sein können.
Gate 2
Am Gate 2 wird das Projekt geplant, indem Requirements,
Leistungen, Zeit- & Kostenabschätzungen, Prozeduren für die
Qualitätserhaltung, Risikomanagement usw. besprochen und
definiert werden.
Gate 3
Am Gate 3 sollen alle größeren Risiken festgestellt und die
technischen Lösungen erarbeitet werden.
Gate 4
Am Gate 4 werden alle geforderten Funktionen und Features
implementiert. Das Produkt soll anschließend für den Test auf dem
Markt bereit sein.
Gate 5
Am Gate 5 soll das Produkt fertig für den Markt bereit stehen.
Gate 6
Am Gate 6 soll die Entwicklung beendet sein und das Produkt an die
Produktion weitergegeben werden.
Gate 7
Am Gate 7 wird das Projekt ausgewertet und überprüft, in welcher
Weise dieses erfolgreich auf dem Markt positioniert werden kann.
Tabelle 2: Beschreibung der Gates des ABB-Gate-Modells
Beim ABB Gate Modell gibt es zwei verschiedene Rollen: Gate Owner und Gate
Assessor. Der Gate Owner ist die Person, die die Verantwortung und Autorität hat,
zu entscheiden, ob ein Produkt entwickelt wird oder nicht. Weiterhin ist er für die
Finanzierung des Projektes und die Verfügbarkeit der benötigten Ressourcen
zuständig. Die Hauptaufgaben des Gate Assessor bestehen darin, das Produkt im
Interesse des Gate Owners zu überprüfen und das Ergebnis der Beurteilung in
einer Gate Sitzung zu verkünden. Der Gate Assessor wird vom Gate Owner
benannt. Dabei wird im Normalfall eine Person ernannt, die nicht Teil des
Projektes ist, um Objektivität zu gewährleisten.
Der Prozess, der am Gate ausgeführt wird, besteht aus zwei Aktivitäten. Zum
einen aus der Gate-Beurteilung und zum anderen aus der Gate-Sitzung. Für die
Beurteilung werden die erstellten Dokumente, eine Checkliste und Interviews mit
den Projekt-Stakeholdern benötigt. Die Beurteilung selbst kann sich dann über
Masterarbeit: Christian Peucker
Seite 23
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
einen längeren Zeitraum, z.B. eine Woche, erstrecken. Als Ergebnis des Gates
wird ein Bericht erstellt, der sich auf die Checklistenpunkte des aktuelles Gates
bezieht. Dieser Bericht wird allen Beteiligten des Gate-Meetings schon vor der
Sitzung zur Verfügung gestellt, damit diese sich vorbereiten können. In der GateSitzung wird entschieden, ob das Projekt weitergeführt, gestoppt, erstmal
angehalten oder die vorige Phase wiederholt werden soll. Anschließend werden
alle Stakeholder über die Entscheidung informiert.
Masterarbeit: Christian Peucker
Seite 24
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
3 Quality-Gate-Metamodell
In diesem Abschnitt wird ein konzeptionelles Metamodell für Quality Gates
eingeführt. Zuvor muss jedoch definiert werden, was genau ein Metamodell ist und
welche Vorteile durch die Metamodellierung entstehen.
3.1 Was ist ein Metamodell?
Bevor auf ein spezielles Metamodell für Quality Gates eingegangen werden kann,
muss geklärt werden, was ein Metamodell ist und wozu es in der Softwareentwicklung verwendet werden kann. Nach Wikipedia [40] ist ein Meta-Modell
folgendermaßen definiert:
„Modelle, die beschreiben, wie Modelle gebaut werden, nennt man
Metamodelle“
Ein Metamodell beschreibt ein Modell selbst, indem es die Elemente des Modells
und ihre Zusammenhänge untereinander aufzeigt. Das Metamodell ist Teil der 4Schichten-Metamodellarchitektur, die in Abbildung 16 dargestellt wird.
Abbildung 16: 4-Schichten-Metamodellarchitektur nach Stahl/Völter [36]
Die 4-Schichten-Architektur ist ein Standard der Object Management Group
(OMG 2 ) und legt eine Modellhierarchie fest, die die einzelnen Modellarten
definiert. Sie ist z.B. zentral für das Verständnis der Unified Modeling Language
(UML). Dabei besteht die 4-Schichten-Architektur aus folgenden Elementen:
M3: Meta-Metamodell
Dies ist die Infrastruktur der Metamodellarchitektur und definiert die Sprache
zur Spezifikation von Metamodellen. Prinzipiell lassen sich weitere Schichten
oberhalb des Meta-Metamodells definieren, jedoch wird dies nicht durch eine
M4-Schicht beschrieben. Stattdessen hat OMG festgelegt, dass alle
2
OMG (Object Management Group), www.omg.org
Masterarbeit: Christian Peucker
Seite 25
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Modellierungskonstrukte der M3-Schicht als Instanzen von sich selbst definiert
werden.
M2: Metamodell
Das Metamodell ist eine Instanz des Meta-Metamodells und definiert die
Sprache zur Beschreibung der Modelle. Diese Schicht ist z.B. das zentrale
Element der UML.
M1: Modell
Das Modell ist eine Instanz des Metamodells und definiert die Sprache zur
Beschreibung der Domäne.
M0: Objekte
Objekte sind eine Instanz des Modells und beschreiben die Ausprägungen
einer bestimmten Domäne.
Die 4-Schichten-Architektur anhand eines Beispiels:
Abbildung 17: Beispiel für 4-Schichten-Architektur [14]
In der Abbildung 17 kann man nun gut erkennen, wie die einzelnen Schichten in
der 4-Schichten-Architektur konkret aussehen können. Die oberste Ebene
beschreibt die Oberklasse der Metamodelle, indem sie alle Instanzen
zusammenfasst. In der Ebene M2 werden Instanzen vom Meta-Metamodell
gebildet, die aus einer Klasse, einer Assoziation und einem Attribut bestehen.
Schicht M1 wird dann noch konkreter, indem eine Klasse „Person“ mit dem Attribut
„name“ und eine Klasse „Auto“ mit dem Attribut „typ“, die über eine Assoziation
verbunden sind, erstellt wird. In der untersten Ebene M0 werden nun spezielle
Ausprägungen der aus dem Modell festgelegten Instanzen dargestellt und durch
eine Assoziation verbunden: Eine Person mit dem Namen „Alex“ und ein Auto vom
Typ „Golf“.
Masterarbeit: Christian Peucker
Seite 26
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
3.1.1 Vorteile von Metamodellen
Metamodelle haben einige Vorteile, die im Folgenden näher erläutert werden
sollen.
Beim Modellieren eines Sachverhaltes ist nicht nur das am Ende erstellte Modell
selbst entscheidend, sondern auch das während des Modellierungsprozesses
aufgebaute Verständnis spielt eine große Rolle. So kann es vorkommen, dass
Dinge, die zuvor nicht intuitiv klar waren, dadurch deutlicher werden oder aber
Probleme durch das Metamodell erst aufgedeckt werden, an die keiner zuvor
gedacht hat.
Ein zweites Argument kann in der besseren Vergleichbarkeit von Metamodellen
gesehen werden, da Metamodelle eine abstrakte Syntax verwenden, um Modelle
einheitlich zu beschreiben.
3.2 Konzeptionelles Metamodell für Quality Gates
In dem vorigen Kapitel hat man bereits gesehen, dass es eine Menge an QualityGate-Ansätzen in der Softwareentwicklung gibt. Diese Ansätze sind von den
Grundzügen sehr ähnlich aufgebaut. An einigen Stellen jedoch unterscheiden sie
sich, indem sie zwar das gleiche meinen, aber andere Begriffe für den gleichen
Sachverhalt verwenden.
Im Folgenden soll nun ein konzeptionelles Metamodell für Quality Gates
vorgestellt werden, welches das Problem der unterschiedlichen Terminologie
aufgreifen und lösen soll. Dabei wurden zum einen die Prozesse aus dem vorigen
Kapitel, aber auch Prozesse, die speziell in Firmen eingesetzt werden, aber an
dieser Stelle aus Anonymitätsgründen nicht näher erläutert werden dürfen, als
Grundlage verwendet. Das daraus entwickelte Metamodell stellt sozusagen die
M2-Ebene in der 4-Schichten-Metamodellarchitektur dar. Die einzelnen QualityGate-Ansätze befinden sich eine Ebene unter der Metamodellschicht auf Ebene
M1 und sind als Instanzen der M2-Schicht anzusehen.
Bei dem Metamodell handelt es sich um ein konzeptionelles Modell.
Konzeptionelle Modelle repräsentieren allgemeines Wissen über die Realität und
werden verwendet, um konkrete Konzepte innerhalb einer bestimmten Domain
darzustellen. Das Modell selbst beinhaltet einzelne Sachverhalte und
Informationen, zwischen denen Relationen bzw. Assoziationen bestehen.
Das konzeptionelle Metamodell für Quality Gates wird mit Hilfe eines UMLKlassendiagramms dargestellt. Dabei wird ein Konzept mit Hilfe einer Klasse
beschrieben, welche das Stereotyp «Konzept» besitzt. Relationen können somit
durch UML mit Assoziationen, Generalisierungen und ähnlichem visualisiert
werden.
Zunächst soll nun das Modell im Überblick vorgestellt und die Relationen zwischen
den einzelnen Klassen anschließend näher erläutert werden.
Masterarbeit: Christian Peucker
Seite 27
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
3.2.1 Das konzeptionelle Metamodell im Überblick
«Konzept»
Protokoll
«Konzept»
Checkliste
«Konzept»
Projektvertreter
*
1
«Konzept»
Lieferant
1..*
besteht
aus
ist
beteiligt
«Konzept»
Kriteriendefinition
1..*
1..*
liefert
«Konzept»
Kriterium
wird erstellt
1..*
1..*
1
beinhaltet
*
1 «Konzept»
Gate Review
1
wird durchgeführt in
1..*
1
1
1..*
1
1
«Konzept»
Entscheidungsfindung
«Konzept»
Ergebnis
1
«Konzept»
Ziel
1
1
1
1
1
«Konzept»
Gate
1..*
1
besteht aus
«Konzept»
Gate Netzwerk
1
*
«Konzept»
Vorbedingung
ist verantwortlich
ist
beteiligt
1..*
«Konzept»
Gate Manager
1
erstellt
ist
beteiligt
«Konzept»
Handlungsempfehlung
1..*
1
erstellt
1
1
1
1..*
0..*
«Konzept»
Ressource
«Konzept»
0..* Entscheidung
1..*
gibt frei
«Konzept»
go-Entscheidung
«Konzept»
hold-Entscheidung
1
fällt
«Konzept»
conditional-goEntscheidung
1..*
1..*
«Konzept»
Gatekeeper
«Konzept»
kill-Entscheidung
1..*
1
«Konzept»
Gate Status
prüft
«Konzept»
repeat-GateEntscheidung
Abbildung 18: Das konzeptionelle Metamodell für Quality Gates
In dem konzeptionellen Metamodell aus der Abbildung 18 wird das Konzept der
Anpassung (bzw. Tailoring) nicht berücksichtigt. Die Anpassung steht in Relation
zu vielen Klassen des Modells und würde der Übersichtlichkeit des Metamodells
schaden. Deshalb wird das beschriebene Metamodell im nächsten Abschnitt in
Pakete eingeteilt und detailliert beschrieben. Anschließend werden die
Beziehungen der Pakete zum Paket „Anpassung“ dargestellt.
Masterarbeit: Christian Peucker
Seite 28
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
3.2.2 Das konzeptionelle Metamodell im Detail
Paket „Struktur“
Abbildung 19 zeigt das Paket „Struktur“ mit dem Ausschnitt der Metamodellierung
für das einzelne Gate. Das Gate selbst stellt den Mittelpunkt der Modellierung dar.
1
«Konzept»
Ziel
1
1
1
«Konzept»
Vorbedingung
«Konzept»
Gate
1..*
1
besteht aus
«Konzept»
Gate Netzwerk
1
ist verantwortlich
1..*
«Konzept»
Gate Manager
1
erstellt
1
«Konzept»
Gate Status
Abbildung 19: Metamodell Paket: „Struktur“
Zunächst einmal ist die Rolle des Gate Managers direkt am Gate beteiligt. Der
Gate Manager ist der Kopf des Gates und verantwortlich für die Überwachung und
Erstellung des Gate Status und der rechtzeitigen Einhaltung der Gate
Anforderungen. Er beruft das Gate Review ein und fungiert als dessen Moderator.
Dabei ist er zuständig für die Verteilung der nötigen Dokumente und den
reibungslosen Ablauf des Reviews.
Der Gate Status stellt den aktuellen Zustand des Gates dar. Er gibt z.B. an, ob
sich das Gate noch innerhalb der Entscheidungsfindung befindet oder diese
bereits abgeschlossen ist.
Ein Gate besteht weiterhin aus einer Vorbedingung und einem Ziel. Die
Vorbedingung muss erfüllt sein, damit überhaupt in das Gate eingetreten werden
kann. Das Einreichen der benötigten Dokumente könnte beispielsweise eine
Vorbedingung sein. Jedes Gate hat außerdem ein Ziel, welches zum Ende des
Gates erreicht werden soll. Über das Erreichen des Ziels wird innerhalb des Gate
Reviews durch die Überprüfung der Ergebnisse entschieden.
Das Gate Netzwerk besteht aus einem oder mehreren Gates. Dadurch können mit
Hilfe des Metamodells konkrete Prozesse mit unterschiedlicher Anzahl Gates
modelliert werden. Auch deren Reihenfolge und Häufigkeit der Verwendung kann
unterschiedlich aussehen.
Masterarbeit: Christian Peucker
Seite 29
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Paket „Entscheidung“
Abbildung 20 betrachtet nun näher das Paket „Entscheidung“ mit dem Gate
Review und der Entscheidungsfindung. Das Gate Review stellt, wie bereits
erwähnt, das Gate Meeting dar, in dem eine formale Prüfung der Ergebnisse aus
der vorigen Softwareentwicklungsphase stattfindet.
«Konzept»
Protokoll
«Konzept»
Projektvertreter
*
1
ist
beteiligt
wird erstellt
1
beinhaltet
1
*
«Konzept»
Gate Review
1
«Konzept»
Entscheidungsfindung
Abbildung 20: Metamodell Paket: „Entscheidung”
Am Gate Review beteiligt sind die jeweiligen Projektvertreter. Als Projektvertreter
werden z.B. die Team Experts und die Team Quality Agents angesehen. Die
Team Experts sind Mitglieder des Entwicklungsteams und haben somit die
Erfüllung von Requirements und die Erstellung von Ergebnissen zur Aufgabe. Sie
sind bei der Sitzung anwesend und haben ein Einspruchsrecht. Die Team Quality
Agents sind die Teamleiter und stellen die Qualität der Ergebnisse vor ihrer
Abgabe sicher. Sie geben die Dokumente rechtzeitig ab und können die Team
Experts benennen. Während der Sitzung können die Team Quality Agents
ebenfalls Einspruch einlegen.
Innerhalb des Gate Reviews findet der Prozess der Entscheidungsfindung statt.
Während der Entscheidungsfindung können verschiedene Verfahren eingesetzt
werden, die diese unterstützen.
Zum einen können Checklisten eingesetzt werden, die Kriterien in Form von
Fragen enthalten und mit dessen Hilfe die Ergebnisse überprüft werden. Solch
eine Frage kann dann mit „Ja“ oder „Nein“ beantwortet werden. Eine Möglichkeit
der Entscheidungsfindung könnte z.B. sein, zuvor festzulegen, wie viel Fragen mit
„Ja“ beantwortet werden müssen, um das Gate zu bestehen. Dieser Ansatz ist
jedoch problematisch, da einige Kriterien wichtiger sind als andere und eine
Gewichtung von Nöten wäre.
Ein anderes Verfahren ist die Nutzung eines Scoring-Modells. Beim ScoringModell werden die Kriterien anhand von Beurteilungsskalen bewertet. Beispiele
sind numerische Skalen von 0-10 oder Skalen in der Form von „sehr gut“ bis „sehr
schlecht“, die jedoch wieder in numerische Werte konvertiert werden können. Der
Vorteil liegt in der feineren Bewertung von Kriterien.
Masterarbeit: Christian Peucker
Seite 30
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Um die Vorteile der einzelnen Verfahren zu nutzen, bietet es sich an, beide zu
verbinden. Bei den „must-meet“-Kriterien, die erfüllt sein müssen, können
Checklisten verwendet werden. Dabei müssen bei der Überprüfung alle Kriterien
mit „Ja“ beantwortet werden. Bei den „should-meet“ Kriterien verwendet man ein
Scoring-Modell. Die einzelnen Kriterien sollten nur noch nach Wichtigkeit
gewichtet werden, um am Ende mit den Werten aus der Skala und der
Gewichtung eine Gesamtbewertung berechnen zu können. Ein zuvor festgelegter
Schwellenwert, der für das Bestehen des Gates erreicht werden muss, kann somit
die Entscheidungsfindung unterstützen.
Während des Gate Reviews wird ein Protokoll erstellt, in dem aufgezeichnet wird,
wer am Review zu welchem Zeitpunkt teilgenommen hat. Außerdem wird
festgehalten, welche Prüfkriterien erfüllt worden sind und wie die Entscheidung der
Gatekeeper ausgefallen ist. Das Protokoll kann von allen Beteiligten eingesehen
werden, um Missverständnissen entgegenzuwirken und nachträglichen
Diskussionen vorzubeugen.
Paket „Steuerung“
Im Paket „Steuerung“ werden die verschiedenen Möglichkeiten der Entscheidung
in einem Gate Review beschrieben.
«Konzept»
Handlungsempfehlung
1..*
1
erstellt
1
1
0..*
«Konzept»
Ressource
1..*
0..1 «Konzept»
gibt frei Entscheidung
«Konzept»
go-Entscheidung
«Konzept»
hold-Entscheidung
1
fällt
«Konzept»
conditional-goEntscheidung
1..*
«Konzept»
Gatekeeper
«Konzept»
kill-Entscheidung
«Konzept»
repeat-GateEntscheidung
Abbildung 21: Metamodell Paket: „Steuerung“
An der Entscheidung beteiligt sind ein oder meist mehrere Gatekeeper. Die
Gatekeeper spielen innerhalb eines Gates die größte Rolle. Wie man bereits in
den einzelnen Konzepten der Quality Gates sehen konnte sind sie vor allem für
die Überprüfung der Dokumente bzw. Ergebnisse zuständig. Ein Gatekeeper kann
gleichzeitig auch Team Quality Agent eines anderen Teams, Qualitätsbeauftragter
vom Management oder auch Stakeholder sein. Die Gatekeeper treffen in dem
Gate Review eine Entscheidung über den Fortgang des Projektes. Dabei gibt es
folgende Möglichkeiten:
•
Die go-Entscheidung wird getroffen, wenn bei der Überprüfung der
Dokumente bzw. Ergebnisse alle Ziele und Kriterien der Checkliste erfüllt
worden sind. Das Projekt kann somit in die nächste Phase der Software-
Masterarbeit: Christian Peucker
Seite 31
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
entwicklung eintreten und bekommt neue Vorbedingungen für das nächste
Gate.
•
Eine hold-Entscheidung bedeutet, dass zwar alle Kriterien für das
Weiterkommen erfüllt worden sind, aber das Projekt zunächst zurückgestellt
wird. Diese Entscheidung kann beispielsweise auftreten, wenn es noch
andere Projekte gibt, die eine höhere Priorität besitzen und somit vorgezogen
werden, oder aber nicht mehr genügend Ressourcen für das Projekt zur
Verfügung stehen.
•
Die conditional-go-Entscheidung wird verwendet, wenn zwar einige Kriterien
nicht erfüllt wurden, diese aber nicht von immenser Wichtigkeit sind. Diese
Anforderungen müssen aber nachgeliefert werden und werden beim
nächsten Gate erneut überprüft.
•
Wenn für den Fortgang des Projektes wichtige Kriterien nicht erfüllt wurden,
gilt das Gate als nicht bestanden und die vorherige Phase muss wiederholt
werden. Diese Entscheidung nennt man repeat-Entscheidung. Nach der
Wiederholung der Phase werden die verbesserten Ergebnisse in einem
neuen Gate nochmals überprüft und bewertet.
•
Für den Fall, dass ein Gate mehrmals nicht bestanden wurde, kann das
Projekt mit Hilfe der kill-Entscheidung durch die Gatekeeper endgültig
gestoppt werden. Weitere Gründe für das Stoppen des Projekts sind fehlende
finanzielle Mittel oder aber wenn das Projekt nicht mehr die Zielsetzung des
Unternehmung verfolgt.
Die Klasse „Ressource“ beschreibt, dass im Fall des erfolgreichen Bestehens des
Gates durch eine positive Entscheidung, Ressourcen für die nächste Phase
freigegeben werden. Ressourcen sind z.B. Mitarbeiter, die Zeit in das Projekt
investieren oder aber auch finanzielle Mittel, die die Weiterführung des Projekts
erst möglich machen. Ein ähnlicher Ansatz wird bei Cooper durch den Begriff
„Priorisierung“ verfolgt, der besagt, dass das aktuelle Projekt eine Priorität im
Vergleich zu allen anderen laufenden Projekten bekommt. Auf dessen Basis wird
entschieden, welche Ressourcen im Projekt eingesetzt werden.
Nach einer Entscheidung werden Handlungsempfehlungen erstellt und an die
beteiligten Rollen weitergegeben. Sie beinhalten Aufgaben, Tipps und Vorgaben
für das weitere Vorgehen innerhalb des Projekts. Handlungsempfehlungen können
auch gegeben werden, wenn z.B. eine repeat-Entscheidung gefällt wurde und das
Gate wiederholt werden muss.
Paket „Inhalt“
Abbildung 22 zeigt das Paket „Inhalt“. Dort wird speziell die Modellierung des
Kriteriums und dessen Verbindung zu dem Gate und dem Ergebnis dargestellt.
Diese Beziehung kann als Dreierbeziehung angesehen werden, da im Gate mit
Hilfe einer Menge von Kriterien die abgegebenen Ergebnisse untersucht werden.
Dafür sind mindestens ein Ergebnis und ein Kriterium erforderlich. Im Normalfall
werden jedoch viele Ergebnisse mit Hilfe von vielen Kriterien untersucht.
Masterarbeit: Christian Peucker
Seite 32
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Eine Menge von Kriterien bildet eine Checkliste, die zur Überprüfung von den
Gatekeepern verwendet wird. Dabei muss die Checkliste mindestens ein Kriterium
beinhalten. Die Kriteriendefinition stellt die Aktivität zur Bestimmung von
relevanten Prüfkriterien und einzuhaltenden Schwellwerten dar.
«Konzept»
Checkliste
besteht
aus
«Konzept»
Kriteriendefinition
«Konzept»
Lieferant
1..*
1..*
1..*
liefert
«Konzept»
Kriterium
1..*
1..*
1..*
«Konzept»
Ergebnis
1
«Konzept»
Struktur::Gate
1..*
«Konzept»
Steuerung::Gatekeeper
prüft
1..*
Abbildung 22: Metamodell Paket: „Inhalt“
Für die Prüfung der Ergebnisse ist, wie schon bereits zuvor erwähnt, der Gatekeeper zuständig.
An dem Ergebnis ist noch die Rolle der Lieferanten beteiligt. Die Lieferanten sind
sozusagen diejenigen, die das Dokument oder das Ergebnis erstellen. Für die
fristgerechte Abgabe der Ergebnisse ist der Team Quality Agent verantwortlich.
Paket „Anpassung“
pflegt
«Konzept»
Gate Management 1..*
0..1
«Konzept»
Regelwerk
1
1
bedient sich aus
1
mit
Hilfe
von
1
«Konzept»
Tailoring
1
basiert auf
1
1
1
«Konzept»
1 Projektmetamodell
nimmt
vor
1
«Konzept»
Prozesstailorer
Abbildung 23: Metamodell Paket: „Anpassung“
Masterarbeit: Christian Peucker
Seite 33
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Abbildung 23 stellt das Paket „Anpassung“ dar. Die Modellierung des Tailorings ist
in der Übersicht am Anfang des Kapitels noch nicht berücksichtigt und wird nun in
diesem Paket näher erläutert.
Das Projektmetamodell stellt die Basis für das Tailoring dar und enthält
Informationen über das jeweilige Projekt. Diese Informationen dienen als
Eingabeparameter, auf dessen Grundlage eine Anpassung an die spezifischen
Projektmerkmale vorgenommen wird.
Die Anpassung wird mit Hilfe eines Regelwerks durchgeführt. Das Regelwerk
kann sowohl Regeln, als auch Bewertungen umfassen, die mit den
Projektinformationen verglichen werden. Bewertungen von Kriterien geben an, in
welchen speziellen Projekten es sinnvoll ist diese Kriterien einzusetzen. Sie gehen
z.B. der Frage nach, ob Kriterien eher bei kleinen Projekten sinnvoll oder doch nur
in großen Projekten einsetzbar sind.
Am Tailoring-Konzept sind zwei Rollen beteiligt: Prozesstailorer und das Gate
Management. Das Gate Management ist für die Erstellung und Pflege des
Regelwerkes zuständig. Es legt Regeln und Bewertungen anhand von
Erfahrungen aus vorherigen Projekten fest. Der Prozesstailorer ist für das
Anpassen des Prozesses an das jeweilige Projekt zuständig. Grundlage für die
Anpassung ist das Regelwerk.
Paketabhängigkeiten
In Abbildung 24 werden nun die Abhängigkeiten zwischen den einzelnen Paketen
dargestellt. Die Pakete „Inhalt“, „Struktur“, „Steuerung“ und „Entscheidung“ sind
alle abhängig vom Paket „Anpassung“, da eine Anpassung in allen Paketen
vorgenommen werden kann.
Inhalt
Struktur
Anpassung
Steuerung
Entscheidung
Abbildung 24: Paketabhängigkeiten zum Tailoring
Beispielsweise kann eine Anpassung der Checkliste aus dem Paket „Inhalt“
vorgenommen werden, indem nur Kriterien in die Checkliste aufgenommen
werden, die auch für das spezielle Projekt relevant sind. Eine Anpassung kann
auch im Paket „Entscheidung“ bei dem Protokoll oder den Projektvertretern
erfolgen. Beispielsweise kann die Größe des Projekts entscheiden, wie viel und
welche Art von Projektvertretern bei einem Prozess eingesetzt werden sollen und
Masterarbeit: Christian Peucker
Seite 34
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
wie genau das Protokoll auszusehen hat. Weiterhin kann auch die Anzahl der
eingesetzten Gatekeeper aus dem Paket „Struktur“ anhand der Projektgröße
festgemacht werden. Weitere Tailoringmöglichkeiten werden im Kapitel 4.4
diskutiert.
3.2.3 Konzeptionelles Metamodell: Übersicht (Paketdarstellung)
An dieser Stelle erscheint, der Vollständigkeit halber, erneut die Darstellung des
konzeptionellen Metamodells als Übersicht. In diesem Fall jedoch mit der
richtigen, dafür aber etwas unübersichtlichen Darstellung, mit Angabe der
Paketnamen vor den Klassennamen.
Weiterhin ist jedoch das Paket „Anpassung“, wie zuvor begründet, nicht integriert.
«Konzept»
Entscheidung::Protokoll
«Konzept»
Inhalt::Checkliste
«Konzept»
Entscheidung::Projektvertreter
*
1
besteht
aus
1
1
liefert
1..*
*
«Konzept»
Entscheidung:: 1
Gate Review
1
«Konzept»
Entscheidung::
Entscheidungsfindung
1..*
«Konzept»
Inhalt::Kriterium
wird erstellt
beinhaltet
1..*
1..*
ist
beteiligt
1
«Konzept»
«Konzept»
Inhalt::Kriteriendefinition Inhalt::Lieferant
1..*
«Konzept»
1..*
Inhalt::Ergebnis
wird durchgeführt in
1..*
1
1
1
«Konzept»
Struktur::Ziel
1
1
1
1
1..*
1
«Konzept»
«Konzept»
Struktur::Gate Netzwerk
besteht aus
Struktur::Gate
*
«Konzept»
Struktur::Vorbedingung
1
1
ist verantwortlich1..*
«Konzept»
Struktur::Gate Manager
1
erstellt
ist
beteiligt
«Konzept»
Steuerung::Handlungsempfehlung
ist
beteiligt
1
«Konzept»
Struktur::Gate Status
1..*
1
erstellt
«Konzept»
Steuerung::
Ressource
1
1
1
0..*
«Konzept»
1..*
0..*
1
gibt frei Steuerung::Entscheidung
«Konzept»
Steuerung::
go-Entscheidung
«Konzept»
Steuerung::
hold-Entscheidung
1..*
fällt
«Konzept»
Steuerung::conditional-goEntscheidung
1..*
«Konzept»
1..*
Steuerung::Gatekeeper
«Konzept»
Steuerung::
kill-Entscheidung
1..*
prüft
«Konzept»
Steuerung::repeat-GateEntscheidung
Abbildung 25: Konzeptionelles Metamodell (Paketübersicht)
Masterarbeit: Christian Peucker
Seite 35
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
3.2.4 Konzeptionelles Metamodell: Proof-of-Concept
Anhand der folgenden Tabelle 3 soll nun als Beispiel der Stage-Gate-Prozess von
Cooper mit Hilfe des zuvor beschriebenen Metamodells abgebildet werden. Die
einzelnen Bausteine werden in der Tabelle nach dem jeweiligen Paket aufgeführt.
Es wird außerdem beschrieben, ob dieser Baustein im Stage-Gate-Prozess von
Cooper verwendet wird oder ob ggf. eine andere Bezeichnung Verwendung findet.
Die letzte Spalte gibt die Bewertung (Bew.), d.h. den Grad der Ausgestaltung,
visuell wieder. Die verwendeten Symbole haben folgende Bedeutung:
“nicht ausgestaltet”: der Baustein ist nicht im Stage-Gate-Prozess
von Cooper berücksichtigt bzw. beschrieben
“teilweise ausgestaltet”: der Baustein ist nicht vollständig im StageGate-Prozess von Cooper berücksichtigt, d.h., dass Teile innerhalb
des Bausteins nicht einbezogen sind
“ausgestaltet“: der Baustein wird synonym oder mit einer anderen
Bezeichnung im Stage-Gate-Prozess von Cooper verwendet
Steuerung
Struktur
Paket Baustein
Stage-Gate-Prozess von Cooper
Bew.
Gate
wird synonym verwendet
Gate Netzwerk
Cooper beschreibt ein Modell mit fünf Gates,
es sind jedoch auch mehr oder weniger
möglich
Gate Manager
die Aufgabe des Gate-Managers übernimmt
der Projektleiter
Gate Status
Vorbedingung
nicht explizit erwähnt
nicht explizit erwähnt
Ziel
die Liste an zu erreichenden Ergebnissen für
ein Gate ist die Menge an Zielen für ein
Team
Gatekeeper
überprüft Ergebnisse (bei Stage-Gate
“Deliverables”
genannt)
anhand
von
Checklisten
Ressource
die
Ressourcen
werden
Gatekeepern festgelegt
Handlungsempfehlung
nicht explizit erwähnt
•
Entscheidung
•
•
Masterarbeit: Christian Peucker
von
den
die go-, hold- und kill-Entscheidung wird
synonym verwendet
conditional-go-Entscheidung ist nicht
vorhanden (bei kleineren Fehlern muss
Gate wiederholt werden)
reapeat-Gate-Entscheidung
wird
„recycle-Entscheidung” genannt
Seite 36
Entscheidung
Inhalt
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Checkliste
vorhanden (Liste von Kriterien)
Kriterium
vorhanden (“Criteria” genannt), unterteilt in
“must-meet”- und “should-meet”-Kriterien
Kriteriendefinition
nicht explizit erwähnt
Ergebnis
“Deliverables” genannt
Lieferant
die Aufgabe des Lieferanten übernehmen
das Team und der Projektleiter
Gate Review
“Gate-Meeting” genannt
Entscheidungsfindung
die Entscheidungsfindung findet während
des Gate-Meetings durch die Gatekeeper
statt
Protokoll
nicht explizit erwähnt
Projektvertreter
Projektvertreter sind aufgeschlüsselt
„Team“ und „Projektleiter“
in
Anpassung
Tailoring
Projektmetamodell
Regelwerk
nicht vorhanden
Gate Management
Prozesstailorer
Tabelle 3: Proof-of-Concept am Beispiel des Stage-Gate-Prozesses
Masterarbeit: Christian Peucker
Seite 37
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
4 Tailoring von Softwareprozessen
Kapitel 4 beschäftigt sich näher mit dem Begriff „Tailoring“, speziell im
Zusammenhang mit Softwareprozessen. Dabei wird nicht nur auf den Begriff des
Tailorings selbst, sondern auch auf den Ablauf und die am Tailoring beteiligten
Rollen eingegangen. Am Ende wird dargestellt, wie in den einzelnen Bausteinen
das Tailoring aussehen kann.
Einige der folgenden Definitionen und Beschreibungen sind an Jan Ittner
angelehnt, der sich innerhalb seiner Dissertation [19, 20] mit dem Thema
„Tailoring“ beschäftigt hat.
4.1 Definition „Tailoring“
Wie man bereits im zweiten Kapitel dieser Arbeit erkennen konnte, gibt es
verschiedene Quality-Gate-Konzepte. Oft entscheidet man sich unternehmensintern für einen dieser Ansätze oder verwendet einen Eigenen. Was passiert
jedoch, wenn das verwendete Konzept nicht zu einem bestimmten Projekt passt?
Das Ziel ist es also, sich von Prozessen in „Einheitsmaßen“ zu lösen, und sich
flexibleren Varianten von Prozessen zuzuwenden, die an die Erfordernisse des
aktuellen Projekts angepasst werden können. Diese Art der Anpassung wird auch
„Tailoring“ genannt.
Definition „Prozess-Tailoring“ (nach Jan Ittner [19, 20]):
„Prozess-Tailoring ist das Anpassen eines Prozessmodells zur Erstellung
einer Prozessbeschreibung, die für ein spezielles Projekt geeignet ist.“
Das Tailoring kann als Konfigurationsaufgabe angesehen werden. So, wie ein
Schneider (engl. tailor) einen Anzug auf seinen Träger anpasst, bedeutet das
Zurechtschneidern eines Prozesses, ihn passend für das aktuelle Projekt zu
machen. Kein Schneider denkt sich für jeden Anzug ein neues Schnittmuster aus,
sondern verwendet Bestehende und gleicht sie den Maßen des Kunden an. Beim
Prozesstailoring wird ähnlich vorgegangen, indem ein allgemeines Prozessmodell
an ein Projekt angepasst wird.
4.2 Ablauf
Referenzprozess
Projekt-Informationen
Tailoring-Regeln
Tailoring des Prozesses
Projektspezifischer
Prozess
Erfahrungen
Abbildung 26: Tailoring eines projektspezifischen Prozesses
Masterarbeit: Christian Peucker
Seite 38
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Die Abbildung 26 zeigt den generellen Ablauf beim Tailoring eines Prozesses.
Für die Anpassung werden mehrere Eingaben benötigt:
• Referenzprozess,
• Projekt-Informationen,
• Tailoring-Regeln und
• Erfahrungen.
Der Referenzprozess gibt einen Prozess vor, auf dessen Grundlage Anpassungen
vorgenommen werden sollen. Referenzprozesse können z.B. die in Kapitel 2
beschriebenen Quality Gate Prozesse, wie der Stage-Gate-Prozess von Cooper
oder das V-Modell XT sein.
Um eine projektspezifische Anpassung durchführen zu können, werden
Informationen über das Projekt selbst benötigt. Dabei sind z.B. die Projektgröße,
eingesetzte Technologien innerhalb des Projekts oder der Projekttyp wichtige
Daten für das Tailoring.
Tailoring-Regeln sind ebenfalls ein wichtiger Bestandteil. Sie enthalten Wissen
von Personen, die genügend Erfahrungen mit Prozessen haben, welche unter
verschiedenen Projektkonstellationen zum Einsatz gekommen sind. Auf Grundlage dieses Wissens wird die Anpassung des Projektes durchgeführt.
Ein weiterer wichtiger Eingabeparameter sind Erfahrungen, die bei
vorhergehenden Projekten und Prozessen gesammelt wurden und somit als neue
Informationen oder auch Tailoring-Regeln in den neuen Prozess mit einfließen
können. Auf diese Weise entsteht ein qualitäts- und prozessverbessernder
Erfahrungskreislauf. Auf einen speziellen Erfahrungskreislauf – dem Quality
Improvement Paradigm (QIP) – wird in Kapitel 5.3 genauer eingegangen.
Auf Grundlage der Eingabeinformationen wird dann das Tailoring des Prozesses
vorgenommen. Dabei kann der Referenzprozess durch Verändern, Entfernen und
Hinzufügen von Aktivitäten oder Artefakten an den Prozess angepasst werden. Es
ist jedoch denkbar, dass nicht alle Aktivitäten und Artefakte verändert werden
dürfen. Als Ausgabe bekommt man dann einen projektspezifisch angepassten
Prozess.
4.3 Rollen beim Tailoring
Das Tailoring eines Prozesses ist eine schwierige Aufgabe, da es viele komplexe
Standardprozessmodelle gibt. Noch schwieriger wird es, wenn keine ausreichende
Erfahrung mit Prozessmodellen vorliegt. Für das Prozesstailoring werden daher
zwei Wissensquellen benötigt, die durch zwei Rollen beschrieben werden.
Zum einen gibt es die Rolle des Gate Managements, die auch häufig als
Prozessmodellierer bezeichnet wird. Diese besitzt langfristiges Wissen über
Prozesse und kann daher einschätzen, wann verschiedene Praktiken und
Werkzeuge für das aktuelle Projekt angemessen sind oder nicht. Das Gate
Management besitzt also die nötige Erfahrung, um Tailoring-Regeln aufzustellen.
Die Erfahrung wächst dabei mit jeder Projektdurchführung.
Masterarbeit: Christian Peucker
Seite 39
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Die andere Wissensquelle, der Prozesstailorer, weist kurzfristiges Wissen über
den Kontext und die Beschaffenheit des aktuellen Projekts auf. Er stellt die
Projekt-Informationen als Eingabeparameter für das Prozesstailoring zur
Verfügung. Im Gegensatz zum Gate Management muss der Prozesstailorer nicht
über eine so große Erfahrung verfügen.
4.4 Tailoring basierend auf Bausteinen
Tabelle 4 zeigt exemplarisch, welche Möglichkeiten des Tailorings je nach
Projekteigenschaft in einzelnen Bausteinen bestehen können. Dabei können
Bausteine entweder komplett weggelassen werden oder aber die Anpassung wird
innerhalb des Bausteins selbst vorgenommen.
Paket Baustein
Struktur
Gate
Netzwerk
Tailoringmöglichkeiten
Beim Gate Netzwerk kann die Anzahl der im Netzwerk
enthaltenen Gates angepasst werden. Außerdem kann
man, wie beim V-Modell XT, unterschiedliche
Durchführungsstrategien für ein Gate wählen.
Die Wahl des Gate Managers kann sich nach seinem
Know-How und seiner Erfahrung richten. Dabei könnte
z.B. das Wissen über eingesetzte Technologien
Gate Manager
entscheidend sein. Außerdem können seine Aufgaben
bei größeren Projekten auf mehrere Personen aufgeteilt
werden.
Vorbedingung
Ziel
Die Größe und Wichtigkeit des Projekts können
ausschlaggebend dafür sein, ob für ein Gate mehrere
oder ob überhaupt Vorbedingungen und Ziele benötigt
werden.
Entscheidung
Nicht alle Entscheidungen sind auch in jedem
Projektzusammenhang sinnvoll. So können einzelne
Entscheidungs-Bausteine beim Quality Gate ausgelassen
werden. Z.B. kann die „conditional-go-Entscheidung“
entfallen, wenn man verhindern möchte, dass Gates auch
mit kleineren Fehlern in die nächste Phase des Projektes
eintreten dürfen. Jedoch ist auch die Anpassung
innerhalb einer Entscheidung möglich, indem bspw. bei
der go-Entscheidung der Toleranzschwellenwert der
Entscheidung bestimmt wird. Liegt der Schwellenwert
hoch, so ist das Eintreten in die nächste Phase des
Projekts schwerer zu erreichen.
Steuerung
Gatekeeper
Bei der Rolle des Gatekeepers kann z.B. deren Anzahl
angepasst werden. Bei kleineren Projekten sind z.B.
weniger Gatekeeper erforderlich als bei größeren. Ferner
können auf Grundlage ihrer Erfahrungen Anpassungen
vorgenommen werden. Für manche Projekte reicht
eventuell auch ein Gatekeeper, der noch keinen großen
Erfahrungsschatz besitzt.
Masterarbeit: Christian Peucker
Seite 40
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Kriterium
Bei den Kriterien kann hinsichtlich des Untersuchungsgegenstandes (Was soll überprüft werden?) getailored
werden. Dabei wird unterschieden, ob alle Dokumente
oder nur Teile davon und ob Aktivitäten und deren
Ergebnisse überprüft werden sollen.
Kriteriendefinition
Je nach Projekteigenschaften kann die Kriteriendefinition
ausführlich oder weniger ausführlich durchgeführt
werden. Einzelne Schritte bei der Definition von Kriterien
können dabei entfallen.
Lieferant
Bei der Lieferung des Ergebnisses durch den Lieferanten
kann unterschieden werden, auf welche Weise die
Lieferung durchzuführen ist. Dabei kann die Lieferung
z.B. online oder persönlich erfolgen.
Gate
Review
Beim Gate Review kann getailored werden, welche und
wie viele Personen an der Gate-Sitzung teilnehmen.
Weiterhin können einzelne Schritte bei der Durchführung
der Sitzung je nach Projekt durchgeführt werden oder
nicht. Bspw. kann ein Kickoff als einleitendes Treffen
projektspezifisch hilfreich sein, um grundsätzliche
Vorgehensweisen, Aufgabenverteilungen und einen
Zeitplan festzulegen.
Protokoll
Beim Protokoll kann dessen Genauigkeit angepasst
werden. Ist es notwendig alle Aktivitäten zu protokollieren
oder reicht es aus, die Entscheidungsfindung am Ende zu
dokumentieren? Außerdem kann in speziellen Situationen
ganz auf ein Protokoll verzichtet werden.
Projektvertreter
Auch die Erfahrung der Projektvertreter kann je nach
Projektkonstellation verschiedenartig benötigt werden.
Ferner
können
unterschiedliche
Profile
bzw.
Wissensbereiche der Projektvertreter benötigt werden.
Z.B.
erfordert
ein
Projekt
größeres
betriebswirtschaftliches Hintergrundwissen als ein anderes.
Entscheidung
Inhalt
Checkliste
Es kann eine allgemeine Checkliste erstellt werden, die
alle möglichen Kriterien enthält. Für ein spezielles Projekt
muss diese Checkliste angepasst werden. Als sinnvoll
erachtete Kriterien werden übernommen, als nicht
sinnvoll erachtete Kriterien dagegen nicht.
Tabelle 4: Tailoringmöglichkeiten bei den einzelnen Bausteinen
Masterarbeit: Christian Peucker
Seite 41
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
5 Das Quality-Gate-Tailoringkonzept
Dieses Kapitel stellt das im Verlauf dieser Masterarbeit verwendete
Tailoringkonzept dar. Zunächst werden die Grundlagen der Fuzzy-Logik
aufgezeigt. Mit Hilfe eines Beispiels wird dann erläutert, wie die Fuzzy-Logik beim
Tailoring von Quality Gates angewandt wird und welche Aufgaben den TailoringRollen zugeordnet werden. Eine anschließende Diskussion über den Ansatz soll
Probleme und Schwierigkeiten des Algorithmus aufdecken. Am Ende wird das
Quality Improvement Paradigm (QIP) eingeführt.
5.1 Fuzzy Logik
Der Mensch hat im Vergleich zur Maschine die Gabe, Gegenstände anhand
unsicherer bzw. unscharfer Informationen zu beschreiben und zu bestimmen.
Experten vertrauen somit bei Problemlösungen oft auf ihren Menschenverstand.
Ein Computer kann nicht mit Hilfe der „einfachen Logik“ und derartigen
Informationen arbeiten, da er genaue Daten benötigt, um Entscheidungen treffen
zu können.
Die „einfache Logik“ wird in der Literatur „Bool’sche Logik“ genannt. Die Bool’sche
Logik verwendet harte Unterscheidungen, indem jedes Element entweder Mitglied
der Menge (1 bzw. „wahr“) ist oder nicht (0 bzw. „falsch“). Mathematisch gesehen
wird also die Menge {0,1} abgebildet. Ein kleines Beispiel soll die Problematik der
Bool’schen Logik aufzeigen: Ein Fahrzeug ab 150 km/h wird als „schnell“ definiert.
Wie ist jedoch ein Fahrzeug mit 149 km/h zu bezeichnen? Mit Hilfe der Bool’schen
Logik ist dieses Fahrzeug als nicht schnell einzustufen. Der normale
Menschenverstand sagt uns aber, dass dieses Fahrzeug trotzdem noch „schnell“
ist. Dabei arbeiten wir mit unscharfen Ausdrücken, wie „etwas“, „ca.“, „sehr“ oder
„ein bisschen“. Mit Hilfe dieser Ausdrücke können anschließend unscharfe Regeln
aufgestellt werden.
Beispiel für eine Regel:
„Wenn es ein bisschen zu kalt ist, muss die Heizung ein wenig stärker aufgedreht
werden“
Diese Form von Regeln kann der Computer jedoch nicht verstehen.
Zur Lösung dieses Problems hat L. A. Zahdeh, ein Professor für Elektrotechnik an
der University of California, bereits 1965 die Fuzzy-Set-Theorie entwickelt. Etwas
später wurde für diese Theorie dann der Begriff „Fuzzy Logik“ von George P.
Lakoff eingeführt. Die Fuzzy Logik erweitert die zweiwertige Bool’sche Logik auf
das Intervall [0,1], wodurch auch Werte zwischen 0 und 1 angenommen werden
können.
In der Abbildung 27 kann man den Vergleich von Bool’scher und Fuzzy Logik
anhand von Untermengen darstellen. In der linken Grafik kann man erkennen,
dass die Fuzzy-Untermenge die Bool’sche um Elemente erweitert. Die rechte
Grafik deutet an, dass Fuzzy-Werte auch Werte zwischen 0 und 1 annehmen
können. Beim Fahrzeug-Beispiel können nun Fahrzeuge, die 149 km/h schnell
fahren z.B. als „fast schnell“ bezeichnet werden.
Masterarbeit: Christian Peucker
Seite 42
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Abbildung 27: Vergleich Bool'scher- und Fuzzy-Untermengen
Die Fuzzy Logik wird in der Praxis im Bereich der Steuerungs- und
Regelungstechnik verwendet. Aus diesem Grund werden im Folgenden die
Konzepte der Fuzzy Logik als Einstieg anhand einer Heizungssteuerung
beispielhaft dargestellt.
5.1.1 Linguistische Terme und linguistische Variablen
Eine linguistische Variable ist eine Variable, deren Werte durch sprachliche
Begriffe festgelegt sind. Die Menge der möglichen Werte der linguistischen
Variablen werden als Terme bezeichnet.
Beispiel:
Linguistische Variable
Temperatur
Linguistische Terme
• eiskalt
• kalt
• lauwarm
• heiß
5.1.2 Zugehörigkeitsfunktionen
Zugehörigkeitsfunktionen sind Funktionen, die auf das Intervall [0,1] abbilden. Sie
definieren den Wert, der einem linguistischen Term zugewiesen wird.
Abbildung 28: Zugehörigkeitsfunktion in der Bool'schen Logik
In der Abbildung 28 ist eine Zugehörigkeitsfunktion für die Heizungssteuerung in
der Bool’schen Logik dargestellt. Man kann gut erkennen, dass z.B. die
Raumtemperatur von 10°C nicht zu der Menge des linguistischen Terms „warm“,
dafür aber zur Menge des Terms „kalt“ gehört.
Masterarbeit: Christian Peucker
Seite 43
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Abbildung 29: Zugehörigkeitsfunktion in der Fuzzy Logik
Die Zugehörigkeitsfunktion in der Fuzzy Logik lässt sich wie in Abbildung 29
darstellen. Nun können auch Werte zwischen 0 und 1 angenommen werden. Bei
16°C ist die Außentemperatur zu y=0.5, d. h. 50%, kalt und zu 50% warm.
Üblich bei der Erstellung von Zugehörigkeitsfunktionen sind Trapez-, Dreiecksund Singleton-Funktionen, die in der nachfolgenden Abbildung dargestellt sind.
Abbildung 30: Übliche Zugehörigkeitsfunktionen
Erlaubt sind jedoch alle Funktionen, die auf das Intervall [0,1] abbilden.
5.1.3 Logische Operatoren auf unscharfe Mengen
So wie bei den scharfen Mengen sind auch bei unscharfen Mengen folgende
Operationen möglich:
• Vereinigung
• Durchschnitt
• Komplement
Die folgende Abbildung 31 stellt zwei Funktionen dar, die jeweils einen
linguistischen Term repräsentieren.
Abbildung 31: Fuzzy-Funktionen A und B
Diese beiden Funktionen können nun mit Hilfe der Operationen miteinander
verknüpft werden:
Masterarbeit: Christian Peucker
Seite 44
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Für die Vereinigung gilt, dass Funktion
C = A ODER B ist.
mathematisch:
fC = f A∨ B = max( f A , f B )
Für den Durchschnitt gilt, dass Funktion
C = A UND B ist.
mathematisch:
fC = f A∧ B = min( f A , f B )
Für das Komplement gilt, dass Funktion
C = NICHT (A ODER B)
mathematisch:
f C = f A∨ B = 1 − max( f A , f B )
Tabelle 5: Logische Operatoren auf unscharfen Mengen
5.1.4 Fuzzy-Controller
Bei einem Fuzzy-Controller handelt es sich um ein System, dass nicht, wie es
vermuten lässt, mit unsicheren, sondern mit scharfen Informationen arbeitet. Der
Fuzzy-Controller baut jedoch auf Fuzzy Logik auf. Abbildung 32 zeigt einen FuzzyController.
Abbildung 32: Aufbau eines Fuzzy-Controllers
Ein Fuzzy-Controller besteht aus den folgenden drei Schritten:
• Fuzzifizierung
• Fuzzy-Inferenz
• Defuzzifizierung
Masterarbeit: Christian Peucker
Seite 45
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Das Fuzzy-System erhält einen scharfen Eingangswert (z.B. Temperatur) und
liefert einen scharfen Ausgangswert zurück. Im Kern des Controllers – der FuzzyInferenz – wird mit unscharfen Informationen und einer Regelbasis gearbeitet.
Daher sind zuvor eine Fuzzifizierung und anschließend eine Defuzzifizierung
nötig, um scharfe Werte in Fuzzy-Werte und umgekehrt umzurechnen.
In den folgenden Kapiteln soll nun genauer auf die einzelnen Schritte des FuzzyControllers eingegangen werden. Die Beschreibungen werden durch das Beispiel
der Heizungssteuerung gestützt.
5.1.5 Fuzzifizierung
Der erste Schritt des Fuzzy-Controllers besteht in der Fuzzifizierung der scharfen
Eingangswerte. Fuzzifizierung bezeichnet die Zuordnung der Eingangswerte zu
den Fuzzy-Mengen mit Hilfe der Zugehörigkeitsfunktion.
Beispiel:
In der Abbildung 33 ist die Zugehörigkeitsfunktion für die Temperaturregelung
eines Heizungsventils dargestellt. Diese ordnet Raumtemperaturwerten
linguistische Terme zu, die zu einem bestimmten Grad erfüllt sind.
Abbildung 33: Fuzzifizierung der Eingangswerte
Nehmen wir nun eine Raumtemperatur von 17°C an. Somit bekommt man zu
dieser Temperatur die Fuzzy-Messwerte: 0.25 „kalt“ und 0.75 „warm“. D.h. also,
dass die Temperatur zu 25% kalt und zu 75% warm ist.
Diese Messwerte werden anschließend in der Fuzzy-Inferenz verwendet.
5.1.6 Fuzzy-Inferenz
Die Fuzzy-Inferenz bildet den Kern des Fuzzy-Controllers. Dabei werden spezielle
Fuzzy-Regeln verwendet, um mit unscharfen Informationen arbeiten zu können.
Wenn man nicht spezielle Fuzzy-Regeln aufstellen würde, müsste man Regeln für
alle Eingabewerte erstellen. Dies ist jedoch in vielen Fällen nicht möglich. Alle
Fuzzy-Regeln zusammen bilden dann die Regelbasis. Die Regeln haben
folgenden Aufbau:
WENN <Fuzzy Aussage> DANN <Fuzzy Aussage>
Dabei bezeichnet die erste Fuzzy Aussage im „WENN“-Teil die Prämisse bzw. den
Zustand und die zweite Aussage im „DANN“-Teil die Konklusion bzw.
Schlussfolgerung.
Masterarbeit: Christian Peucker
Seite 46
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Bevor man aber die Fuzzy-Regeln aufstellen kann, benötigt man eine zweite
Funktion, die die Output-Menge angibt. Diese ist wichtig, um Schlussfolgerungen
ziehen zu können.
In unserem Beispiel kann die Output-Funktion wie in der Abbildung 34 dargestellt
werden.
Abbildung 34: Funktion der Output-Menge in der Fuzzy-Inferenz
Die Funktion bezeichnet zwei Zustände: „kaum offen“ und „sehr offen“. Diese
geben prozentual an, wie weit das Heizungsventil geöffnet ist.
Nun können folgende Fuzzy-Regeln aufgestellt werden:
Regel 1:
Regel 2:
WENN Temperatur-ist-kalt
WENN Temperatur-ist-warm
DANN Heizventil-ist-sehr-offen
DANN Heizventil-ist-kaum-offen
Die Regeln verbinden auf diese Weise einzelne Funktionen aus der
Zugehörigkeitsfunktion (s. Abbildung 33) mit einzelnen Funktionen aus der OutputMenge (s. Abbildung 34). Für unseren Menschenverstand sind diese Regeln auch
intuitiv verständlich, denn wenn die Raumtemperatur als kalt bezeichnet wird,
dann muss die Heizung höher gestellt werden. Bei warmer Raumtemperatur muss
sie dementsprechend verringert werden.
Nun müssen die Fuzzy-Regeln, die die Funktionen miteinander verbinden, noch in
Bezug zu dem Ergebnis aus der Fuzzifizierung gebracht werden. Dieser Vorgang
wird Implikation genannt. Dabei gibt es mehrere Verfahren, von denen zwei an
dieser Stelle näher erläutert werden.
Mamdani-Implikation
Die meist verwendete Methode ist die Mamdani-Implikationen, die auch häufig als
„Max / Min“-Methode bezeichnet wird. Bei dieser Methode geht man davon aus,
dass die Konklusion maximal den Zugehörigkeitsgrad der Prämisse hat. Anders
ausgedrückt heißt das, dass die ermittelten Werte aus der Fuzzifizierung auf die
Funktion der Output-Menge abgetragen werden.
In der Abbildung 35 wird der Vorgang der Mamdani-Implikation näher erläutert.
Masterarbeit: Christian Peucker
Seite 47
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Abbildung 35: Mamdani-Implikation
Auf der linken Seite der Grafik kann man noch einmal die
Zugehörigkeitsfunktionen für „kalt“ und „warm“ und deren Werte bei einer
Raumtemperatur von 17°C erkennen. Zur Erinnerung: Die Funktion „kalt“ hat den
Wert 0.25 und die Funktion „warm“ hat den Wert 0.75 angenommen.
Diese Werte werden nun mit Hilfe der Regeln auf die jeweilige Output-Funktion
übertragen. Regel 1 verbindet die Zugehörigkeitsfunktion „kalt“ mit der OutputFunktion „sehr offen“. Durch die Übertragung des y-Wertes 0.25 auf die OutputMenge erhält man die rot dargestellte Fläche, die durch die Schnittpunkte mit der
Output-Funktion festgelegt wird. Gleichermaßen kann man die Regel 2 anwenden,
die die Zugehörigkeitsfunktion „warm“ mit der Output-Funktion „kaum offen“
verbindet. Bei dem ermittelten Wert von 0.75 ergibt sich die blau dargestellte
Fläche des Graphen.
Im anschließenden Schritt bietet sich intuitiv an, beide Funktionen mit Hilfe des
ODER-Operators zu vereinigen. Die Vereinigung der Funktionen zeigt Abbildung
36.
Abbildung 36: Konklusionsmenge zweier Regeln durch Mamdani-Implikation
Die resultierende Funktion ist das Ergebnis der Fuzzy-Inferenz. In diesem Beispiel
wurden zwei Regeln verwendet. An dieser Stelle soll aber auch kurz dargestellt
werden, dass es möglich ist, eine derartige Funktion aus beliebig vielen Regeln zu
erstellen. Dabei können die Regeln außerdem auch noch mehrere Prämissen
beinhalten, die dann mit der Verknüpfung „UND“ oder aber „ODER“ verbunden
Masterarbeit: Christian Peucker
Seite 48
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
sind. Bei der UND-Verknüpfung wird dann das Minimum der jeweiligen
Eingabewerte der Prämissen auf die Output-Funktion übertragen. Bei der ODERVerknüpfung wird stattdessen das Maximum verwendet.
Eine Regel mit zwei Prämissen und einer Konklusion könnte so aussehen:
WENN Temperatur-ist-kalt UND Luftfeuchtigkeit-ist-gering
DANN Heizventil-ist-weit-offen
Die Implikation würde dann folgendermaßen aussehen:
„Feuchtigkeit“
„Temperatur“
1
1
0.5
1
„sehr offen“
MIN
„kalt“
0.5
0.5
„gering“
0
20 °C
14
17°C
0
20
40
%
50
100 %
23%
Abbildung 37: Mamdani-Inferenz mit zwei Prämissen
Der höhere y-Wert der Luftfeuchtigkeit wird aufgrund der UND-Verknüpfung nicht
verwendet, sondern nur, wenn die Prämissen mit ODER verknüpft werden.
Larsen’s Implikation
An Stelle der Mamdani-Implikation kann auch die Larsen’s Implikation verwendet
werden. Diese Implikation wird häufig als „Max / Prod“-Methode bezeichnet, da die
Output-Funktion, im Gegensatz zur Mamdani-Implikation, mit dem aus der
Fuzzifizierung gewonnenen y-Wert multipliziert wird.
Abbildung 38 zeigt die Larsen’s Implikation und dessen Unterschied zur MamdaniImplikation.
Abbildung 38: Larsen's Implikation
Masterarbeit: Christian Peucker
Seite 49
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Dadurch ändert sich die Konklusionsmenge entsprechend der Abbildung 39.
Abbildung 39: Konklusionsmenge durch Larsen’s Implikation
Man kann sehen, dass sich in diesem Beispiel die resultierende Funktion im
Vergleich zur Mamdani-Implikation nur leicht unterscheidet.
5.1.7 Defuzzifizierung
Das Resultat der Fuzzy-Inferenz muss im letzten Schritt in einen scharfen
Ausgangwert zurückgeführt werden. Dieser Vorgang wird als „Defuzzifizierung“
bezeichnet. Es gibt eine Reihe von Defuzzifizierungs-Methoden, deren Basis
empirische Ergebnisse und heuristische Methoden bilden. Im Folgenden soll aber
nur auf die Wichtigsten eingegangen werden.
Die ersten drei Methoden betrachten die Maxima der Ergebnisfunktion aus der
Fuzzy-Inferenz, d. h. diejenigen Zugehörigkeitsfunktionen, die den größten in der
Fuzzifizierung ermittelten y-Wert haben. Die Methoden unterscheiden sich
folgendermaßen:
Left of Maximum (LoM)
Mean of Maximum (MoM)
Right of Maximum (RoM)
bezeichnet das ganz links liegende Maximum
bezeichnet das in der Mitte liegende Maximum
bezeichnet das ganz rechts liegende Maximum
Abbildung 40: Left-, Mean- und Right-of-Maximum-Methode
Anhand der Abbildung kann man die Unterschiede der Methoden genau erkennen.
Als scharfen Ausgangswert bekommt man im Falle der „Left of Maximum“–
Methode als Ergebnis, dass man bei einer Raumtemperatur von 17°C das
Heizungsventil zu 10% öffnen soll. Bei der „Mean of Maximum“-Methode beträgt
der Ausgangswert 27% und bei der „Right-of-Maximum“-Methode bereits 44%. An
diesem Beispiel kann man sehen, dass die Wahl einer dieser Methoden schon
große Ergebnisunterschiede hervorruft. Ein Nachteil ist außerdem, dass nur die
Maxima der Gesamtfunktion betrachtet werden ohne zu prüfen, wie die restliche
Funktion aufgebaut ist. Dadurch, dass in den meisten Fällen nur eine OutputMasterarbeit: Christian Peucker
Seite 50
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
funktion und damit auch nur eine Regel betrachtet wird, kommt man oft zu
ungenauen Ergebnissen. Vorteil dieser Methoden ist die leichte Berechnung.
Aus diesen Gründen wird in den meisten Fällen eine genauere Methode
angestrebt. Eine dieser Methoden ist die „Schwerpunktmethode“, die in der
Literatur auch als „Center-of-Gravity“ (CoG) bezeichnet wird. Die Schwerpunktmethode berechnet den Flächenschwerpunkt der Ergebnisfunktion.
Abbildung 41 stellt die Center of Gravity – Methode beispielhaft dar.
Abbildung 41: Schwerpunktmethode bzw. "Center of Gravity" (CoG)
Wie man sieht, erhält man als Ergebnis den scharfen Ausgangswert von 38%. Der
entscheidende Nachteil dieser Methode ist die Berechnung des Schwerpunktes.
Für die Berechnung muss die Fläche unter der Funktion mit Hilfe von Integralen
bestimmt werden. Die Bestimmung der Funktion und der Fläche ist jedoch sehr
aufwendig. Gerade bei komplizierteren Funktionen ist der Aufwand der Ermittlung
sehr groß. Daher soll an dieser Stelle nicht näher darauf eingegangen werden. Ein
weiterer Nachteil der Methode ist, dass z.B. bei sich stark überlappenden Flächen
die Berechnung der Ergebnisfunktionen ungenau ist.
Stattdessen soll nun die „Center-of-Maximum“-Methode genauer erläutert
werden. Bei dem Center-of-Maximum-Verfahren werden die Mean-of-MaximumWerte der einzelnen beteiligten Output-Funktionen ermittelt und entsprechend
gewichtet. Anschließend wird deren Mittel berechnet. Um sich eine genauere
Vorstellung machen zu können, soll das Verfahren Schritt für Schritt anhand der
Abbildung 42 erklärt werden.
Abbildung 42: Center-of-Maximum-Methode (CoM)
Zunächst einmal müssen die MoM’s der beteiligten Output-Funktionen berechnet
werden. In unserem Beispiel gibt es folgende zwei MoM’s:
x1 = 27 und x2 = 73
Masterarbeit: Christian Peucker
Seite 51
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Diese Werte werden jeweils nun mit der „Höhe“ der Maxima, also den ermittelten
y-Werten, gewichtet. Dort bekommen wir die α -Gewichtungen:
α1 = 0.75 für das MoM x1 ,
α 2 = 0.25 für das MoM x2
Die ermittelten gewichteten MoM’s werden aufsummiert und anschließend über
die Summe der α -Werte normiert.
Allgemein sieht die zugehörige mathematische Formel folgendermaßen aus:
r
CoM =
α k ⋅ xk
∑
k =1
r
αk
∑
k =1
Formel 1: Berechnungsformel des Center of Maximum
mit r: Anzahl der Output-Funktionen.
Im Beispiel erhält man folgende Berechnung:
CoM =
0.75 ⋅ 27 + 0.25 ⋅ 73
= 38.5
0.75 + 0.25
Als scharfen Ausgangswert erhält man also das, wie in der Abbildung 42 auch
dargestellte, Center of Maximum von 38,5%. Wie man am Ergebnis erkennen
kann liegt dieser Wert in diesem Fall nicht weit entfernt von dem ermittelten Wert
aus der Schwerpunktmethode. Die Berechnung ist jedoch viel leichter durchzuführen.
Zur Bewertung der Defuzzifizierungs-Methoden soll Tabelle 6 als Übersicht
dienen:
RechenVorteile
Nachteile
aufwand
Left of Maximum
• leicht zu berechnen
• liefert in den meisten
sehr
Mean of Maximum
Fällen ungenaue
niedrig
Werte
Right of Maximum
Center of Gravity
• liefert oft gute Werte • Flächenberechnung
sehr aufwendig
• ungenau, wenn viele
hoch
Überlappungen
vorhanden sind
Center of
• liefert gute
Maximum
niedrig
Ergebnisse
Tabelle 6: Bewertung der Defuzzifizierungs-Methoden
Masterarbeit: Christian Peucker
Seite 52
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
5.2 Anwendung des Fuzzy-Ansatzes auf das Tailoring für Quality
Gates
In diesem Abschnitt der Arbeit soll zunächst dargestellt werden, warum der FuzzyLogik Ansatz für das Tailoring von Quality Gates eingesetzt werden kann. Nach
der Begründung folgt ein Beispiel, welches speziell auf Quality Gates bezogen ist.
Dieses Beispiel zeigt, wie das Tailoring auch später im Programm vollzogen wird.
Anschließend werden Probleme aufgezeigt, die beim Tailoring auftreten können,
und welche Aufgaben den beteiligten Rollen zugeordnet werden.
5.2.1 Gründe für den Einsatz der Fuzzy Logik beim Tailoring
Im vorigen Kapitel wurde die Fuzzy-Logik mit dessen Konzepten eingeführt. Die
Fuzzy-Logik wird in der Praxis im Bereich der Steuerungs- und Regelungstechnik
verwendet. An dieser Stelle soll nun geklärt werden, warum die Fuzzy-Logik auch
beim Tailoring von Quality Gates hilfreich sein kann.
Wie schon beim Fuzzy-Konzept erwähnt, gehört ein Element in der klassischen
Mengenlehre entweder zu einer Menge oder nicht. Dieser Ansatz entspricht der
Bool’schen Logik. Das Problem dabei ist die dadurch vorhandene Schärfe. Ein
kleines Beispiel soll die Problematik unterstützen:
Es soll eine Software erstellt werden, die ein Budget von 20.000 € nicht
überschreiten soll. In der Bool’schen Logik wäre die Lösung einfach: falls die
aktuellen Kosten der Software gleich oder unter 20.000 € liegen wird das Projekt
weiterhin durchgeführt, wenn jedoch die Kosten die 20.000 €-Marke überschreiten,
muss das Projekt eingestellt werden. Wie ist es jedoch zu bewerten, wenn ein
Projekt am Ende 20.001 € benötigt? Würde man das Projekt in der Realität wegen
einem Euro nicht trotzdem durchführen? Die Fuzzy-Logik arbeitet, wie
beschrieben, mit unscharfen Mengen, so dass minimale Abweichungen nicht
gleich zum Ausschluss zu der Menge führen.
Diese Problematik kann nun auf das Tailoring von Quality Gates am Beispiel einer
Checkliste übertragen werden. Eine Checkliste beinhaltet Kriterien, deren
Verwendung jedoch nicht für jedes Projekt und Gate sinnvoll ist. Ein TailoringAlgorithmus muss eine Entscheidung treffen, welche Kriterien in einer speziellen
Projektkonstellation sinnvoll sind oder nicht, um eine optimale Checkliste erstellen
zu können. Verwendet der Algorithmus die Bool’sche Logik so können Kriterien
verworfen werden, obwohl sie eventuell doch sinnvoll gewesen wären. Deshalb ist
der Einsatz einer Fuzzy-Logik, die eine nicht so scharfe Entscheidung darstellen
kann, sinnvoller.
In Kapitel 4.4 wurde beschrieben, welche Möglichkeiten in den einzelnen
Bausteinen bestehen, um dort ein Tailoring vorzunehmen zu können. Es stellt sich
aber die Frage, ob die unscharfe Berechnung auch bei allen Bausteinen sinnvoll
ist. Wie bereits beschrieben, kann das Tailoring von Checklisten mit Hilfe des
Fuzzy-Ansatzes durchgeführt werden. Betrachtet man jedoch den Baustein „Gate
Netzwerk“, bei dem die Anzahl der enthaltenen Gates angepasst werden kann,
würde eine Bool’sche Betrachtungsweise ausreichen, da ein Gate entweder im
Netzwerk enthalten ist oder nicht. Bei Bausteinen, die eine Rolle beschreiben, wie
der Gatekeeper, die Projektvertreter oder der Gate Manager, bietet sich wiederum
der Fuzzy-Ansatz an, da z.B. die Erfahrung der Rollen unscharf betrachtet werden
Masterarbeit: Christian Peucker
Seite 53
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
kann. Wie sich aber noch im Verlauf der Arbeit zeigen wird, stellt die
unterschiedliche Betrachtungsweise kein Problem dar, weil sich mit Hilfe des
Fuzzy-Ansatzes auch bool’sche Funktionen realisieren lassen.
5.2.2 Quality-Gate-Tailoring am Beispiel
Nachdem die Verwendung des Fuzzy-Logik-Ansatzes motiviert wurde, soll nun ein
speziell auf Quality Gates ausgelegtes Beispiel erläutert werden. Dieses Beispiel
zeigt, was genau im Hintergrund des in dieser Arbeit erstellten TailoringAssistenten passiert, indem es den Algorithmus erläutert. Der Algorithmus und das
Beispiel verwenden die Methode der Mamdani-Implikation bei der Fuzzy-Inferenz,
da es sich hierbei laut Literatur um die meist verwendete Methode handelt. Bei der
anschließenden Defuzzifizierung wird die Center-of-Maximum-Methode angewandt, weil sie einerseits gute Ergebnisse liefert und andererseits wenig
Rechenaufwand benötigt.
Für die Darstellung des Algorithmus kann das Tailoring am Beispiel einer
Checkliste dargestellt werden. Voraussetzung für die Anpassung ist die Angabe
von Projekteigenschaften. Mit Hilfe dieser Projekteigenschaften wird dann ein
Kriterium bewertet. In diesem Beispiel werden zwei Projektmerkmale betrachtet.
Zum einen die Teamgröße des Projekts und zum anderen die Projektgröße.
Später im Assistenten gibt es weitere Merkmale, die ein Projekt beschreiben. Die
Teamgröße wird als Anzahl von Personen, die Projektgröße als „Lines of Code“
(LOC) angegeben. Den Merkmalen wird nun beispielhaft ein vom Prozesstailorer
angegebener Wert zugeordnet:
Teamgröße: 35 Personen
Projektgröße: 85.000 Zeilen 3 (LOC)
Nun wird ein einzelnes Kriterium der Checkliste darauf untersucht, ob es unter den
gegebenen Projekteigenschaften sinnvoll ist, dieses zur Checkliste hinzuzufügen
oder nicht. Das Kriterium heißt in diesem Fall:
„Das Layout der Dokumente ist konsistent“
1. Schritt: Fuzzifizierung (Teamgröße)
Zunächst wird das Projektmerkmal „Teamgröße“ betrachtet. Wie man in dem
Fuzzy-Logik Kapitel sehen konnte benötigt man dazu erst einmal eine
Zugehörigkeitsfunktion, die das jeweilige Projektmerkmal beschreibt. Die
Zugehörigkeitsfunktion für die Teamgröße ist in Abbildung 43 dargestellt.
Abbildung 43: Zugehörigkeitsfunktion für die Teamgröße
3
Das Beispiel beruht auf der Annahme eines kleinen bis mittelgroßen Unternehmens. Bei anderen
Unternehmensgrößen kann die Anzahl der LOC erheblich variieren.
Masterarbeit: Christian Peucker
Seite 54
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Die Teamgröße besteht in diesem Fall aus drei linguistischen Termen: „klein“,
„mittel“ und „groß“, die mit Hilfe von Funktionen beschrieben werden. Eine
Besonderheit ist, dass die Funktion für den Term „groß“ für alle Werte größer
gleich 40 den Wert 1 annimmt. Betrachtet man nun den vom Prozesstailorer
angegebenen scharfen Eingangswert von 35 Teammitgliedern kann man die
folgenden y-Werte für die linguistischen Terme aus der Funktion durch die
Schnittpunkte ablesen:
„klein“ =
„mittel“ =
„groß“ =
0
0.3
0.5
2. Schritt: Fuzzy-Inferenz (Teamgröße)
Weiterhin benötigt man für die Bewertung des Kriteriums die Angabe der OutputFunktion (Abbildung 44) und die Regeln, die die Zugehörigkeitsfunktion und die
Output-Funktion miteinander verbinden. Diese Regeln sehen folgendermaßen
aus:
Regel 1: WENN Teamgröße = klein DANN Kriterium = nicht enthalten
Regel 2: WENN Teamgröße = mittel DANN Kriterium = evtl. enthalten
Regel 3: WENN Teamgröße = groß DANN Kriterium = enthalten
Abbildung 44: Output-Funktion für Teamgröße und Kriterium
In der Output-Funktion (Abbildung 44) sind die Funktionen für die Bewertung des
Kriteriums und des Merkmals „Teamgröße“ dargestellt. Außerdem im Graphen
enthalten sind die Flächen, die durch Übertragung der ermittelten y-Werte aus der
Zugehörigkeitsfunktion und durch die Mamdani-Implikation entstanden sind.
3. Schritt: Defuzzifizierung (Teamgröße)
Abbildung 45: Bewertung des Kriteriums nach der Teamgröße
Masterarbeit: Christian Peucker
Seite 55
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Im letzten Schritt, der Defuzzifizierung, wird das Center of Maximum mit Hilfe der
Mean of Maxima der beiden Output-Funktionen gebildet (s. Abbildung 45).
Berechnung des Center of Maximum (nach Formel S.52):
CoM Teamgröße =
0.3 ⋅ 50 + 0.5 ⋅ 80
= 68
0.3 + 0.5
Aus dem Ergebnis kann gefolgert werden, dass das Kriterium bei einer
Teamgröße von 35 Personen zu 68% für die Projekt-Checkliste sinnvoll ist.
Nachdem das Kriterium an der Teamgröße bewertet wurde, muss in gleicher
Weise die Bewertung für die „Projektgröße“ vorgenommen werden.
1. Schritt: Fuzzifizierung (Projektgröße)
Die Zugehörigkeitsfunktion für dieses Merkmal besitzt fünf Funktionen, die die
Projektgröße von „sehr klein“ bis „sehr groß“ charakterisiert (Abbildung 46).
Abbildung 46: Zugehörigkeitsfunktion für die Projektgröße
Das Ablesen der Schnittpunkte für den scharfen Eingangswert von 85.000 Lines of
Code, die vom Prozess-Tailorer festgelegt wurden, mit den einzelnen Funktionen
ergibt folgendes Ergebnis:
„sehr klein“
„klein“
„mittel“
„groß“
„sehr groß“
=
=
=
=
=
0
0
0.25
0.5
0.5
2. Schritt: Fuzzy-Inferenz (Projektgröße)
Nun benötigt man wiederum Regeln, die die Zugehörigkeitsfunktionen mit den
Output-Funktionen des Kriteriums verbinden. Da es fünf linguistische Terme gibt,
werden dementsprechend auch folgende fünf Regeln aufgestellt:
Regel 1:
Regel 2:
Regel 3:
Regel 4:
Regel 5:
WENN
WENN
WENN
WENN
WENN
Projektgröße = sehr klein
Projektgröße = klein
Projektgröße = mittel
Projektgröße = groß
Projektgröße = sehr groß
Masterarbeit: Christian Peucker
DANN
DANN
DANN
DANN
DANN
Kriterium = sehr wenig
Kriterium = wenig
Kriterium = mittel
Kriterium = viel
Kriterium = sehr viel
Seite 56
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Die Output-Funktion, die die Bewertung für das Kriterium anhand der Projektgröße
darstellt kann man in folgendem Graphen erkennen:
Abbildung 47: Output-Funktion für Projektgröße und Kriterium
In der Abbildung sind wieder die y-Werte aus dem Fuzzifizierungs-Schritt
abgetragen. Betroffen sind drei Output-Funktionen, die dann mit Hilfe der
Mamdani-Implikation drei Flächen (grau, grün und gelb) in dem Graphen bilden.
Die Flächen selbst überlappen sich zum Teil.
3. Schritt: Defuzzifizierung (Projektgröße)
Im letzten Schritt muss nun wieder ein scharfer Ausgangswert ermittelt werden.
Dadurch werden die Mean of Maxima der drei aus der Fuzzy-Inferenz ermittelten
Funktionen und anschließend das Center of Maximum berechnet (s. Abbildung
48).
Abbildung 48: Bewertung des Kriteriums nach der Projektgröße
Berechnung des Center of Maximum:
0.25 ⋅ 50 + 0.5 ⋅ 75 + 0.5 ⋅ 92,5
= 77
CoM Teamgröße =
0.25 + 0.5 + 0.5
Ergebnis der Berechnung ist, dass es zu 77% sinnvoll ist bei einer Projektgröße
mit 85.000 Lines of Code das Kriterium in die Checkliste aufzunehmen.
Gesamtergebnis
Aus den vorherigen Berechnungen hat man nun ein einzelnes Kriterium nach den
zwei Projektmerkmalen „Teamgröße“ und „Projektgröße“ bewertet. Die Ergebnisse
bzw. die Center of Maxima aus diesen Berechnungen müssen jetzt in eine
Gesamtbewertung einfließen. Dazu bildet man jedoch nicht einfach den Mittelwert
der beiden CoM’s, sondern man verwendet, wie zuvor in der Einzelberechnung,
die CoM-Formel (S. 52) mit den MoM’s und deren Gewichtung aus beiden
Merkmalen.
Masterarbeit: Christian Peucker
Seite 57
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Abbildung 49 zeigt zunächst die resultierende Funktion aus der Fuzzy-Inferenz
beider betrachteten Merkmale.
Abbildung 49: Gesamtbewertung des Kriteriums nach Team- & Projektgröße
Dabei bilden insgesamt fünf MoM’s mit deren α -Gewichtungen die folgende
Berechnung:
0.25 ⋅ 50 + 0.5 ⋅ 75 + 0.5 ⋅ 92,5 + 0.3 ⋅ 50 + 0.5 ⋅ 80
CoM Teamgröße =
= 73, 44
0.25 + 0.5 + 0.5 + 0.3 + 0.5
Das Ergebnis kann nun derart interpretiert werden, dass das betrachtete Kriterium
zu ca. 73% bei einer Teamgröße von 35 Personen und Projektgröße von 85.000
Lines of Code für die Checkliste sinnvoll ist.
Wie man in der Abbildung 49 auch sehr gut an den gestrichelten Linien erkennen
kann, kommt es schon bei den beiden im Beispiel betrachteten Projektmerkmalen
zu erheblichen Überlappungen. Diese Überlappungen würden bei der Verwendung der Center-of-Gravity-Methode schon zu ungenaueren Ergebnissen
führen.
Dieses Beispiel zeigt, wie das Tailoring einer Checkliste anhand der Bewertung
eines Kriteriums durchgeführt werden kann. Für das Tailoring der gesamten
Checkliste müssen natürlich viel mehr Kriterien betrachtet und bewertet werden.
Ein zweites Beispiel soll darstellen, dass nicht nur das Tailoring einer Checkliste
möglich ist, sondern auch andere Tailoring-Bausteine angepasst werden können.
Es betrachtet die Rolle des Gatekeepers und zeigt eine Tailoringmöglichkeit auf,
die schon zuvor in Kapitel 4.4 beschrieben wurde. Beim Gatekeeper spielt die
Erfahrung im Umgang mit Projekten eine sehr große Rolle. So ist es gerade bei
großen Projekten mit entsprechend vielen Projektvertretern und zu überprüfenden
Dokumenten notwendig, einen erfahrenen Gatekeeper einzusetzen. Bei kleineren
Projekten können hingegen Erfahrungen gesammelt werden.
Der spätere Assistent behandelt das Tailoring beim Gatekeeper jedoch auf die
gleiche Weise, wie beim tailorn einer Checkliste. In diesem Fall jedoch verwendet
man Aussagen, die wie Kriterien behandelt werden. Für den Gatekeeper kann so
folgende Aussage formuliert werden:
„Der Gatekeeper muss über eine große Erfahrung verfügen“
Betrachten wir nun wieder die Projektgröße mit der Zugehörigkeitsfunktion aus
Abbildung 46 und dem Eingabewert von 85.000 Lines of Code. Die Schnittpunkte
der Funktion bleiben, wie zuvor:
Masterarbeit: Christian Peucker
Seite 58
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
„sehr klein“
„klein“
„mittel“
„groß“
„sehr groß“
=
=
=
=
=
0
0
0.25
0.5
0.5
Die Regeln ändern sich nur minimal, da sie auf die oben genannte Aussage
bezogen werden:
Regel 1:
Regel 2:
Regel 3:
Regel 4:
Regel 5:
WENN
WENN
WENN
WENN
WENN
Projektgröße = sehr klein
Projektgröße = klein
Projektgröße = mittel
Projektgröße = groß
Projektgröße = sehr groß
DANN
DANN
DANN
DANN
DANN
Aussage = sehr wenig
Aussage = wenig
Aussage = mittel
Aussage = viel
Aussage = sehr viel
Im Gegensatz zum ersten Beispiel ändert sich jedoch die Bewertung der Aussage
in Form der Output-Funktion.
Abbildung 50: Output-Funktion für das Tailoring beim Gatekeeper
Wie in Abbildung 50 dargestellt, erhält man nun durch Abtragen der y-Werte die
Schnittpunkte mit den Funktionen „mittel“, „viel“ und „sehr viel“.
Abbildung 51: Bewertung der Aussage nach der Projektgröße
Dabei entsteht wiederum eine Ergebnisfläche mit drei Mean-of-Maxima, die in
Abbildung 51 abgebildet sind. Auf diese wird nun die Formel zur Berechnung des
Center-of-Maximums (Formel 1) angewandt:
CoM Projektgröße =
0.25 ⋅ 63, 75 + 0.5 ⋅ 85 + 0.5 ⋅ 97,5
= 85, 75
0.25 + 0.5 + 0.5
Das Ergebnis sagt aus, dass für die gegebene Projektgröße der Gatekeeper zu
ca. 86% große Erfahrung besitzen sollte. Der Prozesstailorer kommt bei diesem
Ergebnis zu dem Schluss, dass es sinnvoll ist erfahrene Gatekeeper einzusetzen.
Masterarbeit: Christian Peucker
Seite 59
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Auf diese Weise können nun alle möglichen Aussagen in allen Bausteinen
bewertet werden. Das Ergebnis gibt Aufschluss darüber, ob die Aussage in einer
bestimmten Projektkonstellation als sinnvoll erachtet wird.
5.2.3 Interpretation des Fuzzy-Ergebnisses (Filter)
Der Tailoring-Algorithmus, wie er zuvor anhand eines Beispiels erläutert wurde,
liefert als Ausgabe einen scharfen prozentualen Wert, der die Zugehörigkeit des
jeweiligen Kriteriums zum Quality Gate angibt. Doch was kann der Prozesstailorer
mit diesen Werten anfangen? Bei großen Werten an die 100% und kleinen Werten
gegen 0% ist die Entscheidung noch einfach zu treffen. Aber wie sind die anderen
Ergebnisse zu bewerten?
Diese Werte müssen also im letzten Schritt noch interpretiert werden. Dazu kann
ein bis zu 5-stufiger Filter mit Hilfe von Ampelfarben eingesetzt werden. Die
Ampelfarben signalisieren dem Prozesstailorer sofort visuell, ob ein Kriterium für
das Quality Gate als sinnvoll, als nicht sinnvoll oder als nicht ad hoc bewertbar
angesehen wird. Jeder Farbe wird ein prozentualer Bereich zugeordnet. Der
gängigste Filter besteht aus den bekannten Ampelfarben rot, gelb und grün. Da in
manchen Fällen ein 3-stufiger Filter zu ungenau ist, kann z.B. stattdessen ein 5stufiger eingesetzt werden. Dazu werden zusätzlich noch die Farben orange und
hellgrün verwendet. Beispielsweise kann folgender Filter festgelegt werden:
Farbe
rot
orange
gelb
hellgrün
grün
von
0%
30%
40%
60%
70%
bis
29%
39%
59%
69%
100%
Beispiel
Tabelle 7: Beispiel für einen Filter
Das Beispiel in der Tabelle 7 zeigt die Darstellung, die auch später im TailoringAssistenten verwendet wird. Der Tailorer erkennt auf den ersten Blick die farbliche
Einstufung des Kriteriums, kann aber trotzdem die genauen Ausgangswerte
erkennen und selbst eine Entscheidung treffen.
5.2.4 Aufgaben der Tailoringrollen
Im Kapitel 4.3 wurden die beim Tailoring beteiligten Rollen des Gate
Managements (bzw. Prozessmodellierers) und des Prozesstailorers bereits
beschrieben. Nachdem nun die Funktionalität des Tailoring-Algorithmus näher
erläutert wurde, können nun die Aufgaben für diese Rollen genauer spezifiziert
werden.
Aufgrund des Erfahrungsschatzes hat das Gate Management innerhalb des
Tailorings die Aufgabe die Tailoring-Regeln, d.h. die zur Bewertung eines
Kriteriums benötigten Funktionen, aufzustellen. Dazu gehören zum einen die
Zugehörigkeitsfunktionen für die Projektmerkmale und zum anderen die OutputFunktionen, die einem Kriterium für jedes Merkmal zugeordnet werden. Weiterhin
muss das Gate Management die Regeln erstellen, die beide Funktionen
miteinander verbinden. Die Aufstellung der Funktionen ist eine schwierige
Masterarbeit: Christian Peucker
Seite 60
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Aufgabe, da man genau wissen muss, wie sich eine bestimmte Funktion auf die
Bewertung des Kriteriums bei einem speziellen Projektprofil auswirkt. Das Gate
Management benötigt daher fundiertes Wissen über die Funktionsweise des
Tailoring-Algorithmus. Außerdem ist ein gutes mathematisches Hintergrundwissen
von Vorteil. Einige Schwierigkeiten, die bei der Erstellung der Funktionen auftreten
können, werden im nächsten Abschnitt, bei der Diskussion des TailoringAnsatzes, dargestellt.
Der Prozesstailorer hat stattdessen eine leichtere Aufgabe zu bewältigen. Er
verwendet lediglich den Tailoring-Assistenten, um das Quality-Gate-Tailoring
durchzuführen, ohne genau wissen zu müssen, was im Hintergrund passiert.
Dabei muss der Tailorer die Charakteristika des aktuellen Projektes im TailoringAssistenten angeben. Nach dem Ausführen des Tailoring-Algorithmus besteht
eine weitere Aufgabe darin, unbewertete Kriterien nachträglich selbst zu bewerten.
Am Ende wird das Ergebnis in einer Übersicht angezeigt.
5.2.5 Diskussion des Tailoring-Ansatzes
In diesem Kapitel wird nun der beschriebene und durch Beispiele erklärte
Tailoring-Ansatz näher diskutiert. Dabei werden Hinweise, Probleme und
Schwierigkeiten des Fuzzy-Konzeptes erläutert und ggf. Lösungsansätze vorgeschlagen.
Das Mengen-Problem bei der Bestimmung von Funktionen
Das größte und schwerwiegendste Problem des Algorithmus ist die Bewertung der
Kriterien in Form von mathematischen Funktionen. Wie man an dem Beispiel für
das Fuzzy-Tailoring sehen konnte, benötigt man für die Bewertung eines
Kriteriums zum einen eine Zugehörigkeitsfunktion für jedes Projektmerkmal (z.B.
Projektgröße und Teamgröße). Zum anderen erfordert es für jedes Kriterium und
jeweils jedes Merkmal eine weitere Output-Funktion. Ein kleines Rechenbeispiel
soll die Problematik präziser darstellen:
Angenommen der Tailoring-Assistent besteht aus 15 Merkmalen. Nun soll eine
Checkliste, die insgesamt 30 Kriterien beinhaltet, getailored werden. Für das
Tailoring werden zunächst 15 Zugehörigkeitsfunktionen für die Projektmerkmale
beansprucht. Für die Bewertung jedes der 30 Kriterien benötigt man zusätzlich
15 ⋅ 30 = 450 Output-Funktionen. Insgesamt erfordert der Tailoring-Algorithmus
also 465 mathematische Funktionen, die vom Gate Management bzw.
Prozessmodellierer festgelegt werden müssen. Natürlich muss man
berücksichtigen, dass dieser Vorgang nicht in einem Schritt durchgeführt wird,
sondern sich über die Zeit hinweg aus den Erfahrungen mit Projekten ergibt.
Dabei muss man sich vor Augen führen, dass jedes zusätzlich eingefügte
Projektmerkmal 30 neue Outputfunktionen und eine Zugehörigkeitsfunktion
erfordert. Andersherum benötigt man beim Einfügen eines weiteren Kriteriums
immerhin 15 neue Outputfunktionen. Für diese Problematik gibt es leider keinen
nahe liegenden Lösungsansatz.
Masterarbeit: Christian Peucker
Seite 61
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Das 100%-Bewertungs-Problem
Ein entscheidender Prüfstein für die Bewertung eines Kriteriums liegt in der
richtigen Wahl der entsprechenden Funktion. Schon kleine Änderungen an dem
Verlauf der Funktionen können in bestimmten Situationen großen Einfluss auf das
Ergebnis des Tailoring-Vorgangs besitzen. Gerade bei Kriterien einer Checkliste
kommt es vor, dass manche dieser Kriterien in jedem Quality Gate sinnvoll sind.
Daher muss man für diese eine Funktion angeben, die in jedem Fall eine 100%ige
Übereinstimmung als Ergebnis liefert. Aber wie sieht so eine Funktion aus?
Nehmen wir als Beispiel (Abbildung 52) die Funktionen aus dem Kapitel 5.2.2
(Quality-Gate-Tailoring am Beispiel) für die Teamgröße an.
Abbildung 52: Beispiel-Funktion für das 100%-Bewertungs-Problem
Die beiden Funktionen sind, wie im Beispiel, mit folgenden Regeln verbunden:
Regel 1: WENN Teamgröße = klein DANN Kriterium = nicht enthalten
Regel 2: WENN Teamgröße = mittel DANN Kriterium = evtl. enthalten
Regel 3: WENN Teamgröße = groß DANN Kriterium = enthalten
Man nimmt an, dass bei der Wahl von 50 Personen für die Teamgröße am Ende
eine Bewertung von 100% als Ergebnis herauskommen wird. Als Ergebnis
bekommt man jedoch eine Bewertung von 85%. Wie kommt es zu diesem
Ergebnis?
Zunächst einmal bekommt man, wie erwünscht, aus der Zugehörigkeitsfunktion
(obere Fkt.) für den scharfen Eingangswert von 50 den y-Wert 1 geliefert.
Überträgt man diesen auf die Bewertungs-Output-Funktion für das Kriterium
(untere Fkt.) erhält man schließlich die grüne Fläche als Ergebnisfläche. Auf diese
Fläche wird die Center-of-Maximum-Methode angewandt, die die Mitte der
Maxima ermittelt. Es wird also die Mitte zwischen 70 und 100, also genau 85
ermittelt.
Wie sieht nun aber eine Output-Funktion für das Kriterium aus, die in diesem Fall
100% liefern würde?
Masterarbeit: Christian Peucker
Seite 62
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Abbildung 53: Lösungsfunktionen
Abbildung 53 stellt zwei mögliche Funktionen dar. Die linke Funktion zeigt einen
Singleton, der für alle ermittelten y-Werte aus der Zugehörigkeitsfunktion das
Ergebnis von 100% liefert. Für den Fall, dass ein Kriterium nie enthalten sein soll,
kann die Singleton-Funktion bei 0% verwendet werden. Die rechte Funktion
dagegen ergibt nur 100%, wenn der y-Wert den Maximal-Wert von 1 erreicht.
Ansonsten gibt es auch Abstufungen davor.
Das Problem bei der Darstellung von bool’schen Funktionen
Wie in der vorherigen Problemdiskussion gesehen, besteht die Möglichkeit, das
Ergebnis durch Singleton-Funktionen zu beeinflussen. Damit kann man z.B. von
vornherein festlegen, dass, unabhängig von der Teamgröße, das Ergebnis einen
bestimmten Wert hat. Wie kann man jedoch bool’sche Funktionen darstellen, die
aussagen, dass ein Kriterium bis zu einer Teamgröße von 24 Personen zu 0%
sinnvoll und ab 25 Personen zu 100% sinnvoll erscheinen soll?
Abbildung 54: Beispiel für die Darstellung einer bool'schen Funktion
Um das Beispiel darzustellen, muss die linke Funktion aus Abbildung 54 zur
Zugehörigkeitsfunktion hinzugefügt werden. Die Output-Funktion (rechte Fkt.) stellt
wieder einen Singleton bei 100% dar. Beide Funktionen müssen anschließend mit
Hilfe einer Regel verbunden werden. Der Assistent bekommt für Eingaben unter
25 Personen keinen y-Wert geliefert, da es keinen Schnittpunkt mit der Funktion
gibt. Der Assistent liefert als Ergebnis in diesem Fall 0%. Wenn Eingaben ab 25
Personen angegeben werden, erhält man den y-Wert von 1 und erhält durch
Übertragung auf die Output-Funktion als Ergebnis 100%.
Das Höhe-Problem
Bei der Erstellung von Output-Funktionen kann der Prozessmodellierer auch die
Höhe der einzelnen Funktionen festlegen. Abbildung 55 stellt die veränderte
Output-Funktion aus Abbildung 52 mit der halben Höhe dar.
Masterarbeit: Christian Peucker
Seite 63
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Abbildung 55: Beispiel-Output-Funktion für Höhe-Problem
Die Veränderung der Höhe kann jedoch zu einem Problem führen. Wird ein y-Wert
größer 0.5 ermittelt (z.B. bei einer Teamgröße von 23 Personen), so kann kein
Schnittpunkt mit der Output-Funktion ermittelt werden. Der Algorithmus liefert in
solchen Fällen 0% als Ergebnis.
Wie in diesem Abschnitt gesehen, können bei der Erstellung der Funktionen einige
Probleme auftreten. Diese muss der Prozessmodellierer bei der Wahl der
Funktionen beachten, damit die Bewertung für die Kriterien auch wie gewünscht
interpretiert wird.
5.3 Quality Improvement Paradigm (QIP)
Im Kapitel 4 wurde beschrieben, dass die Erfahrung, die innerhalb eines jeden
Projektes gesammelt wird, zur Verbesserung des Tailoringprozesses eingesetzt
werden kann. Für den entstehenden Erfahrungskreislauf kann der QIP-Ansatz
verwendet werden.
Das Quality Improvement Paradigm (QIP) [27] ist ein Ansatz zur kontinuierlichen
Verbesserung und systematischen Durchführung von Software-Projekten. Das
QIP-Modell wurde von Victor Basili entwickelt und 1984 erstmals veröffentlicht. Es
beschreibt, wie Erfahrungen prozessbegleitend gesammelt, ausgewertet und
aufbereitet werden können, um sowohl für laufende als auch für nachfolgende
Projekte verbessernd eingesetzt zu werden.
Die Softwareentwicklung ist naturgemäß evolutionär und jede Projektumgebung ist
verschieden. Aus diesem Grund kann man Prozessverbesserung nur schwer
durch statistische Kontrolle erreichen. Das QIP geht von der Prämisse aus, dass
alle Projektumgebungen und zu erstellenden Produkte verschieden sind.
Das Ziel des QIP-Modells ist die Erfassung und Aufbereitung von positiven, aber
auch negativen Erfahrungen, die während eines Projektes gesammelt werden, um
die Auswertung der Erfahrungen in anderen Projektumgebungen wiederverwenden zu können. Der Ansatz der „wiederverwendbaren Erfahrungen“ ist
vergleichbar mit dem „Code Reuse“–Ansatz.
Masterarbeit: Christian Peucker
Seite 64
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
5.3.1 QIP-Zyklus
Das QIP-Modell beinhaltet zwei Feedback-Zyklen – der organisatorische und der
projektspezifische Zyklus. Abbildung 56 stellt beide Zyklen innerhalb des QIPModells näher dar.
Abbildung 56: Quality-Improvement-Paradigm-Zyklus [7]
Der kleinere, projektspezifische Feedback-Zyklus („project learning“) stellt
Informationen während der Ausführung eines Projektes bereit, die der
Projektkontrolle dienen. Diese Informationen sind nützlich, um auftretende
Probleme rechtzeitig erkennen zu können und unterstützen das Erreichen der
Projektziele.
Der größere, organisatorische Feedback-Zyklus („corporate learning“) enthält das
Feedback, das der gesamten Software-Organisation nach Beendigung des
Projektes zur Verfügung steht. Es werden Unterschiede und Gemeinsamkeiten
zwischen den Daten, die während des Projektes gesammelt wurden und den
Daten, die in einer Erfahrungsdatenbank („experience base“) abgelegt wurden,
ermittelt. Dadurch können neue Erfahrungen in die Erfahrungsdatenbank
einfließen. Der organisatorische Feedback-Zyklus ist in sechs Phasen eingeteilt.
Phase 1: „Charakterisieren und Verstehen“
Ziel der ersten Phase des QIP-Modells ist die Charakterisierung des aktuellen
Projekts, um ein Verständnis für das Projekt und dessen Ansprüche aufzubauen.
Mit diesen Charakteristika werden in der Erfahrungsdatenbank Erfahrungen
identifiziert, die Ähnlichkeiten zu den Prozessen des Projekts aufweisen, um diese
möglicherweise wiederverwenden zu können.
Phase 2: „Ziele setzen“
In der zweiten Phase werden Ziele für eine erfolgreiche Projektdurchführung und
-verbesserung gesetzt. Diese Ziele sollen möglichst quantitativ und messbar sein,
um zuverlässige Daten zu bekommen. Zur Überprüfung dieser Ziele, während der
Masterarbeit: Christian Peucker
Seite 65
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Durchführung des Projektes, werden Maße festgelegt. Beispiele für solche Maße
sind die Anzahl und Art der Fehler, die bei einer Inspektion gefunden wurden.
Phase 3: „Prozesse, Methoden und Werkzeuge auswählen“
In diesem Schritt werden für das Projekt geeignete Prozesse, Methoden und
Werkzeuge gewählt. Die Entscheidung basiert auf der Charakterisierung des
Projekts aus der ersten Phase und auf der Zielsetzung der zweiten Phase. Ziel der
Phase ist ein Projektplan, der es erlaubt, die Projektziele zu erreichen.
Phase 4: „Prozessausführung“
Die vierte Phase des organisatorischen Feedback-Zyklus beinhaltet die
Ausführung des Prozesses, d.h. der Ablauf des Projekts wird entsprechend dem
erstellten Projektplan durchgeführt. Diese Phase wird durch den
projektspezifischen Zyklus beschrieben. Der projektspezifische Feedback-Zyklus,
der zeigt, wie sich das Projekt selbst steuert und verbessert, ist in drei Aktivitäten
unterteilt:
1. „Prozess ausführen“
Bei der Prozessausführung wird das Produkt erstellt und zu definierten
Zeitpunkten Daten über den Prozess gesammelt.
2. „Ergebnisse analysieren“
Die gesammelten Daten werden im nächsten Schritt in Hinsicht auf die
gesetzten Ziele analysiert, indem sie z.B. mit Soll-Daten verglichen
werden.
3. „Prozess mit Feedback unterstützen“
Die aus der Analyse gewonnenen Ergebnisse können in den Prozess
einfließen, um ihn zu verbessern. Beispielsweise können bei einem nicht
zufriedenstellenden Soll/Ist-Datenvergleich frühzeitig Konsequenzen für
das Projekt, noch während der Projektdurchführung, gezogen werden.
Phase 5: „Ergebnisse analysieren“
In der fünften Phase des QIP-Modells wird der Projektablauf und das
Projektergebnis analysiert und bewertet. Dabei werden in der Analyse Vorschläge
für spätere Projekte entwickelt und sowohl positive als auch negative Erfahrungen
aus dem Projekt ausgewertet. Anschließend werden diese Erfahrungen und
Vorschläge formuliert. Eine mögliche Erfahrung ist z.B., dass für die gegebenen
Projektcharakteristika die angewandte Inspektionstechnik weniger effektiv ist als
erwartet.
Phase 6: „Verpacken und Erfahrung speichern“
Die sechste und abschließende Phase des organisatorischen Feedback-Zyklus
beinhaltet die Aufbereitung und das „Verpacken“ der gewonnenen Erfahrungen.
Die Erfahrungen werden in der Erfahrungsdatenbank zur späteren Nutzung
abgelegt.
Um eine aussagekräftige Erfahrungsdatenbank zu erhalten sind jedoch einige
Zyklus-Iterationen nötig. Solch eine Datenbank ist allerdings nie vollständig und
bedarf dauernder Aktualisierung und Aufbereitung mit neu gewonnenen
Erfahrungen.
Masterarbeit: Christian Peucker
Seite 66
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
5.3.2 QIP-Bezug zum Tailoring
Beim Tailoring spielt die kontinuierliche Prozessverbesserung ebenfalls eine große
Rolle. Die für das Tailoring wichtigen Funktionen für die Kriterien und
Projektmerkmale werden vom Prozesstailorer aus den Erfahrungen verschiedener
vorhergehender Projekte gebildet.
Das QIP-Modell kann bei der Erstellung dieser Funktionen helfen, indem durch die
beschriebene Sammlung und Auswertung von Erfahrungen während der
Durchführung des Projektes eine Erfahrungsdatenbank erstellt wird. Der Prozesstailorer muss entsprechend neu gewonnener Erfahrungen die Funktionen des
Tailoring-Algorithmus anpassen, um dabei bessere Ergebnisse zu erzielen.
Am Anfang einer Erfahrungssammlung kann der Prozesstailorer Annahmen auf
Grundlage seiner eigenen Erfahrungen treffen und Funktionen erstellen, die für ihn
sinnvoll erscheinen. Innerhalb eines Projektes kann dann entschieden werden, ob
ein vom Tailoring-Algorithmus für sinnvoll erschienenes Kriterium in diesem
spezifischen Projekt auch wirklich sinnvoll ist. Wenn nicht, kann dies als neue
Erfahrung aufgenommen und im Algorithmus berücksichtigt werden. Auf der
anderen Seite kann während des Projektes aber auch der Fall auftreten, dass ein
vom Algorithmus nicht gewähltes Kriterium doch sinnvoll gewesen wäre. Auch
diese Erfahrung muss in die Erfahrungsdatenbank einfließen, um den Algorithmus
zu verbessern.
Eine andere Möglichkeit bei der anfänglichen Erstellung der Funktionen bietet der
„Best-Practise“-Ansatz. Dort geht man zunächst davon aus, dass alle Bewertungen zu den Kriterien bzw. Aussagen am Anfang gleichwertig behandelt
werden. So kann das Ergebnis eines ersten Tailorings so aussehen, dass alle
Kriterien eine Bewertung von 100% bekommen. Durch den Erfahrungskreislauf
werden dann die Bewertungen nach und nach angepasst.
Eine Erfahrungsdatenbank ist jedoch von Organisation zu Organisation
verschieden. Somit können auch Daten, die im Tailoring-Assistent gespeichert
sind und speziell an eine Organisation angepasst wurden, nicht einfach ohne
erneute Anpassungen für ein anderes Unternehmen übernommen werden.
Beispielsweise wird bei einer großen Software-Firma ein „großes Team“ anders
charakterisiert sein als bei einem kleineren Unternehmen.
Die Erstellung einer „experience base“ ist somit ein aufwendiger Prozess und
benötigt kontinuierlich neue Erfahrungen.
Masterarbeit: Christian Peucker
Seite 67
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
6 Realisierung
In diesem Kapitel wird näher auf die Realisierung des Assistenten für das Tailoring
von Quality Gates eingegangen. Zunächst wird beschrieben, welche Software zum
Einsatz kommt. Der Aufbau und das Vorgehen des Assistenten mit den
verwendeten Konzepten aus der Fuzzy-Logik werden anschließend kurz erläutert.
Ein Datenbankschema soll zusätzlich unterstützend den Aufbau des Programms
demonstrieren. Am Ende dieses Kapitels wird der entstandene Assistent mit Hilfe
von Screenshots dargestellt.
6.1 Eingesetzte Software
Der innerhalb dieser Arbeit entstandene Tailoring-Assistent ist als Java-SwingAnwendung realisiert. Dabei wurde für die Implementierung Java in der Version 5
verwendet [21].
Als Java-Enticklungsumgebung wird „eclipse“ [10] eingesetzt. Eclipse ist ein
Open-Source-Projekt und eine der weit verbreitetsten Entwicklungsumgebungen
für Java. Durch die offene plugin-basierte Struktur kann es aber auch für andere
Programmiersprachen und unterschiedlichen Entwicklungsaufgaben eingesetzt
werden.
Zur Speicherung der Datenbestände wird eine Apache Derby Datenbank in der
Version 10.2.2.0 verwendet [1]. Apache Derby ist eine frei verfügbare und leicht
gewichtige relationale Datenbank. Sie ist komplett in Java implementiert und
standardmäßig als Java DB in der neuen Java 6 Plattform enthalten. Daher ist es
ein großer Vorteil, dass Derby direkt in die Java-Applikation eingebettet werden
kann. Derby zielt besonders auf Anwendungen ab, die kein großes EnterpriseDatenbank-System benötigen, wie z.B. kleinere Stand-alone-Lösungen oder kleine
Webseiten. Ein weiterer großer Vorteil von Derby ist der geringe Speicherbedarf
von ca. 3 MB.
6.2 Aufbau und Vorgehen beim QGT-Assistenten
Ein Ziel dieser Arbeit ist es, ein Tool zu erstellen, das
die in den vorigen Kapiteln vorgestellten Konzepte
realisiert. Der Quality-Gate-Tailoring-Assistent (QGTAssistent) setzt dabei das in Kapitel 5 vorgestellte
Tailoringkonzept um.
Um das Tailoring eines Quality Gates mit dem
Assistenten durchführen zu können, muss der User drei Schritte durchführen:
1. Projektprofil festlegen
2. Tailoring-Konfiguration anpassen
3. Gesamtergebnis anzeigen lassen
Im ersten Schritt gibt der Benutzer über eine Eingabemaske die Eigenschaften
des anzupassenden Projekts an.
Masterarbeit: Christian Peucker
Seite 68
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Aufbauend auf dem angegebenen Projektprofil kann anschließend das Tailoring
mit Hilfe eines Fuzzy-Controllers (s. Abbildung 32) durchgeführt werden. Die
angegebenen Daten bilden dabei die scharfen Eingangswerte für die
Fuzzifizierung. Bei der nachfolgenden Fuzzy-Inferenz wird die MamdaniImplikation verwendet (s. Kapitel 5.1.6). Der nach der Defuzzifizierung ermittelte
Ausgangswert wird vom Algorithmus mit Hilfe eines Filters bewertet. Diese
Bewertung wird dem Benutzer im 2. Schritt in Form eines Baumes, nach TailoringBausteinen kategorisiert, angezeigt. Jedes Kriterium besitzt dann eines der drei
Zustände „enthalten“, „nicht enthalten“ und „unbewertet“, die zeigen, ob ein
Kriterium im entsprechenden Baustein verwendet werden soll oder nicht.
Unbewertete Kriterien müssen vom Benutzer nachträglich bewertet werden. Bei
der Defuzzifizierung wurde die „Center-of-Maximum“-Methode angewandt.
Im dritten und letzten Schritt bekommt der Benutzer das Gesamtergebnis des
Tailorings in einer Übersicht angezeigt.
6.3 Datenbankschema
Wie bereits erwähnt, wird zur Datenhaltung die Datenbank Derby von Apache
verwendet. Für die Speicherung der Daten werden die in dem Datenbankschema
aus Abbildung 57 dargestellten Tabellen benötigt.
rule
attribute
att_function
id
name
scale_from
scale_till
step
unit
category
id
id_att
id_function
name
id
id_att_function
id_crit_function
functions
category
crit_function
id
name
id
id_att
id_crit
id_function
name
criteria
id
description
tailoring_category
id
left_
middleleft
middleright
right_
height
filter
filter_description
tailoring_category
id
description
id
name
id
tailoring_category
p_from
p_till
id_filter_description
Abbildung 57: Datenbankschema
Im Folgenden sollen nun die benötigten Tabellen und deren Funktionen
tabellarisch erläutert werden:
Masterarbeit: Christian Peucker
Seite 69
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Tabelle
attribute
category
criteria
tailoring_category
att_function
crit_function
functions
rule
filter
filter_description
Funktion
Speichert die einzelnen Projektmerkmale, wie z.B.
“Projektgröße” und “Teamgröße”, anhand deren das
Projektprofil spezifiziert wird
Beinhaltet die Kategorien für die Projektmerkmale.
Beispiele
für
Kategorien
sind
„Allgemeine
Projektangaben“ und „Technologie“. Die einzelnen
Merkmale aus der Tabelle attribute werden einer
Kategorie zugeordnet.
speichert einzelne Kriterienbeschreibungen
Speichert die Beschreibungen der Tailoring-Bausteine,
die als Kategorie für die Kriterien eingesetzt werden.
Die einzelnen Kriterien aus criteria werden jeweils
einer Tailoring-Kategorie zugeordnet.
In dieser Tabelle wird jedem Merkmal eine
Zugehörigkeitsfunktion zugeordnet, die aus mehreren
Funktionen (functions) bestehen kann.
Diese Tabelle verbindet jedes Kriterium und Merkmal
mit einer Output-Funktion. Diese Funktion bildet die
eigentliche Bewertung des Kriteriums für ein
bestimmtes Merkmal.
Beinhaltet die Speicherung der mathematischen
Funktionen durch Angabe von vier x-Werten. Mit Hilfe
dieser vier Punkte können alle möglichen Trapezformen
dargestellt werden.
Speichert die Fuzzy-Regeln, die Zugehörigkeitsfunktionen mit Output-Funktionen verknüpfen.
Enthält den für jede Tailoring-Kategorie speziell
festgelegten Filter mit der Angabe, in welchen
prozentualen Intervallen welcher Filter verwendet wird.
Gibt die Farbbeschreibung möglicher Filter an. Als
Standard sind fünf Filterbeschreibungen angegeben:
„rot“, „orange“, „gelb“, „hellgrün“, „grün“
Tabelle 8: Datenbank-Tabellenübersicht
6.4 Beschreibung des Assistenten
An dieser Stelle soll nun auf das Programm und dessen Bedienung für den
Benutzer eingegangen werden. Dabei werden die einzelnen Funktionalitäten des
Quality-Gate-Tailoring-Assistenten anhand von Screenshots beschrieben. Dazu
wird auf die drei Schritte des Tailoring-Vorgangs aus Kapitel 6.2 Bezug
genommen (Projektprofil festlegen, Tailoring-Konfiguration anpassen, Gesamtergebnis anzeigen lassen).
In der Abbildung 58 kann man den Aufbau des Tailoring-Assistenten nach dem
Start erkennen. Auf der linken Seite befindet sich die Navigation mit den Buttons,
mit dessen Hilfe der Benutzer zwischen den einzelnen Schritten des TaloringVorgangs wechseln kann. Auf der rechten Seite ändert sich je nach gewähltem
Schritt der Inhalt des Fensters.
Masterarbeit: Christian Peucker
Seite 70
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Abbildung 58: Startbildschirm mit Eingabe des Projektprofils
Die Abbildung zeigt weiterhin, dass die Navigation aus den vier Buttons
Projektprofil ( ), Tailoring ( ), Ergebnis ( ) und Editieren ( ) besteht. Die
ersten drei stellen die zuvor beschriebenen Schritte des Tailoring-Vorgangs dar,
wobei zu Anfang Schritt 2 und 3 deaktiviert sind. Der vierte Button ist zum
Editieren der Bewertungen in der Datenbank, auf dessen Grundlage das Tailoring
basiert, gedacht.
Im Folgenden sollen nun die einzelnen Schritte und die Benutzerinteraktionen im
Assistenten nacheinander vorgestellt werden.
6.4.1 Projektprofil angeben
Nach dem Start des Assistenten befindet sich der Benutzer gleich im 1. Schritt des
Tailoring-Vorgangs – dem Projektprofil (Abbildung 58). Der rechte Teil des
Fensters gliedert sich in zwei Bereiche: dem Info-Bereich ( ) und der Eingabemaske ( ).
Der Info-Bereich stellt Informationen als Hilfe für den Benutzer bereit, damit er
weiß, in welchem Schritt des Tailorings er sich befindet und welche Aufgaben ihn
erwarten.
Die Eingabemaske besteht aus einer Menge an Tabs (bzw. Reitern), die die
einzelnen Projektmerkmale nach einzelnen Kategorien anordnet. Beispielsweise
befinden sich unter den „Allgemeinen Projektangaben“ die Merkmale
„Projektgröße“ und „Teamgröße“ mit deren jeweiligen Maßeinheiten. Der User
bzw. Prozess-Tailorer hat nun in diesem ersten Schritt die Aufgabe, das Projekt,
für das er ein Tailoring durchführen möchte, anhand der vorgegebenen Merkmale
zu bewerten. Dazu gibt er die jeweiligen Eigenschaften des Projekts, z.B. mit Hilfe
eines Sliders, an.
Masterarbeit: Christian Peucker
Seite 71
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Um Merkmale aus der Tailoring-Berechnung auszuschließen, können diese mit
Hilfe der Checkboxen ( ) aktiviert bzw. deaktiviert werden.
Wenn der User alle nötigen Informationen zum Projekt angegeben hat, kann er in
den zweiten Schritt – das „Tailoring“ – übergehen. Voraussetzung ist jedoch, dass
mindestens ein Merkmal bewertet wurde (Checkbox aktiviert), damit der TailoringButton ( ) aktiviert wird, da ohne Projektangaben kein Tailoring durchgeführt
werden kann. Es müssen jedoch nicht alle Merkmale bewertet werden.
6.4.2 Tailoring-Konfiguration anpassen
Nachdem das Projektprofil erstellt wurde, gelangt der User über den „Tailoring“Button in den 2. Schritt des Tailoring-Vorgangs. Mit Hilfe der im Profil
angegebenen Daten und der in der Datenbank gespeicherten Bewertungen hat
der Assistent eine Liste mit bewerteten Kriterien gegliedert nach TailoringBausteinen erstellt, die in einem Baum dargestellt werden (s. Abbildung 59).
Abbildung 59: Übersicht der Tailoring-Konfiguration
Die einzelnen Tailoring-Bausteine, wie die Checkliste, das Gate Netzwerk usw.,
sind wiederum in Tabs eingeteilt. Jeder dieser Tabs beinhaltet Kriterien für die
jeweilige Kategorie. Vor dem Namen eines Kriteriums befindet sich die Bewertung
auf Grundlage der in Kapitel 5 vorgestellten Fuzzy-Logik. Der scharfe
Ausgangswert der Fuzzy-Logik wird in einem Kasten prozentual dargestellt. Dieser
Wert sagt aus, zu welchem Prozentsatz das Kriterium beim gegebenen
Projektprofil sinnvoll ist. Durch einen Doppelklick auf ein Kriterium werden durch
Aufklappen des Baumes die Unterbewertungen für die einzelnen Merkmale
angezeigt. Dieses Feature gibt dem Benutzer die Übersicht, wie die
Gesamtbewertung zustande gekommen ist und welche Merkmale speziell dafür
verantwortlich sind.
Masterarbeit: Christian Peucker
Seite 72
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Die Farbe des Kastens vor einem Kriterium repräsentiert den gewählten Filter (s.
Kap. 5.2.3) und kann die Farben rot, orange, gelb, hellgrün und grün annehmen.
Vor dem Filter werden drei mögliche Vorselektionen mit Hilfe der Icons ? ,
und
dargestellt. Die Vorselektion
ist gewählt, wenn das Kriterium im grünen
Filterbereich liegt und somit vom Tailoring-Algorithmus als „sehr sinnvoll“
eingestuft wird. Als „nicht sinnvoll“ werden alle Kriterien mit Hilfe der Vorselektion
markiert, die im roten Filterbereich liegen. Bei prozentualen Werten um die
50% (orange, gelb, hellgrün), bei denen der Tailoring-Algorithmus nicht genau
bewerten kann, ob das Kriterium in speziellen Fällen vielleicht doch sinnvoll sein
könnte, wird das Kriterium mit Hilfe des Symbols ? markiert. Nun hat der Benutzer
die Aufgabe, alle Kriterien, die mit einem ? markiert sind, selbstständig zu
bewerten. Als Unterstützung dient die prozentuale Angabe aus dem Fuzzy-LogikAlgorithmus. Der Benutzer kann mit einem Rechtsklick auf das jeweilige Kriterium
mit Hilfe eines Kontext-Menüs auswählen, ob das Kriterium aktiviert ( ) oder
deaktiviert ( ) werden soll.
Aber nicht nur unsichere Kriterien können nachträglich vom Benutzer gesondert
bewertet werden. Auch die vom Algorithmus schon vorselektierten Kriterien
können im nachhinein auf die beschriebene Weise bewertet werden, da in
manchen Situationen z.B. als nicht sinnvoll markierte Kriterien für den Tailorer für
sinnvoll gehalten werden können. Beispielsweise könnte ein für den Tailorer
unwichtigeres Merkmal für die schlechte Gesamtbewertung des Kriteriums
verantwortlich sein.
Auf diese Weise kann der User interaktiv die vom Algorithmus vorgegebene
Tailoring-Konfiguration nach seinen Wünschen nachträglich anpassen. Um sich
das Gesamtergebnis des Tailorings anzeigen lassen zu können, müssen jedoch
alle mit ? bewerteten Kriterien vom Tailorer bewertet werden.
6.4.3 Tailoring-Gesamtergebnis anzeigen
Abbildung 60: Anzeige des Tailoring-Gesamtergebnis
Masterarbeit: Christian Peucker
Seite 73
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Die Abbildung 60 zeigt den dritten Schritt des Tailoring-Vorgangs. In diesem
letzten Schritt werden alle zuvor gewählten Kriterien noch einmal nach der
jeweiligen Tailoring-Kategorie (Baustein) aufgelistet. Die Liste stellt das
Gesamtergebnis des Tailorings auf Grundlage der im Projektprofil angegebenen
Informationen dar. Das Ergebnis selbst beinhaltet diejenigen Kriterien, die für das
Quality Gate benötigt werden.
6.4.4 Bearbeitung der Bewertungen aus der Datenbank
Der Tailoring-Algorithmus verwendet den in Kapitel 5 beschriebenen Fuzzy-LogikAnsatz. Wie man dort anhand eines Beispiels erkennen konnte, benötigt man für
jedes Kriterium und Merkmal eine Bewertung in Form einer Funktion. Diese
Bewertungen sind in einer Datenbank gespeichert. Da im Laufe der Zeit durch
kontinuierliche Qualitätsverbesserung (s. QIP) neue Erfahrungen in den TailoringVorgang einfließen, müssen Bewertungen angepasst, neu eingefügt oder gelöscht
werden können. Der Assistent soll dabei möglichst dynamisch anpassbar sein, so
dass auch eine Anpassung des Projektprofils nach den Wünschen des
Prozesstailorers ermöglicht werden soll.
Diese Möglichkeiten sind unter dem Menüpunkt „Editieren“ realisiert. Dort können
dann mit Hilfe des „bearbeiten“-Buttons zunächst Kriterien, Kategorien und
Merkmale bearbeitet oder erstellt werden. Abbildung 61 zeigt diese
Bearbeitungsmöglichkeiten.
Abbildung 61: Bearbeiten von Kategorien, Merkmalen und Kriterien
Möglichkeiten der Bearbeitung:
Bearbeitung der (Ober-)Kategorien für die Merkmale
Bearbeitung von Merkmalen
Bearbeitung der Tailoring-Kategorie, die Kriterien enthalten
Bearbeitung der Kriterien
Kategorie bearbeiten/einfügen/löschen
Abbildung 62: Kategorie bearbeiten/einfügen/löschen
Masterarbeit: Christian Peucker
Seite 74
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Abbildung 62 stellt das Dialogfenster für die Bearbeitung von Kategorien dar.
Dabei können die Beschreibungen von vorhandenen Kategorien, die für die
Einteilung der Projektmerkmale zuständig sind, angepasst oder neue Kategorien
erstellt werden. Weiterhin können Kategorien gelöscht werden. Dies ist jedoch nur
möglich, wenn keine Merkmale mehr für diese Kategorie vorhanden sind.
Merkmal bearbeiten/einfügen/löschen
Abbildung 63: Merkmale bearbeiten/einfügen/löschen
Bei der Bearbeitung eines Merkmals muss zunächst in einer Combobox gewählt
werden, in welcher Kategorie die Merkmale bearbeitet werden sollen (Abbildung
63). Je nach gewählter Kategorie werden die darin enthaltenen Projektmerkmale
angezeigt. Für jedes Merkmal müssen der Name, ein Skala-Intervall, die
Schrittgröße und eine Einheit festgelegt werden. Die Skala benötigt dazu
numerische Werte, die angeben, welche Angaben im Projektprofil festgelegt
werden können. Wird bei der rechten Grenze des Intervalls kein Wert gewählt, so
können beliebig hohe Werte angenommen werden. „Schritt“ gibt die Schrittweite
beim Slider an. Die Einheit beschreibt die Maßeinheit des Merkmals, auf die sich
die numerischen Werte beziehen. Es können, wie bei den Kategorien auch, neue
Merkmale hinzugefügt und vorhandene bearbeitet oder gelöscht werden.
Tailoring-Kategorie bearbeiten/einfügen/löschen
Abbildung 64: Tailoring-Kategorien bearbeiten/einfügen/löschen
Masterarbeit: Christian Peucker
Seite 75
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Die Bearbeitung der Tailoring-Kategorie (Abbildung 64) funktioniert in gleicher
Weise, wie die Kategoriebearbeitung für die Merkmale. Einziger Unterschied ist
die Möglichkeit der Anzeige des zur Tailoring-Kategorie gehörigen Filters. Wird
eine neue Tailoring-Kategorie eingefügt, wird automatisch ein neuer StandardFilter (rot, gelb, grün) angelegt. Das Löschen einer Tailoring-Kategorie ist nur
möglich, wenn keine Kriterien in dieser Kategorie vorhanden sind.
Filter bearbeiten/einfügen/löschen
Abbildung 65: Filter bearbeiten/einfügen/löschen
In der Abbildung 65 sind die Einstellungsmöglichkeiten des Filters dargestellt. Dort
kann zunächst eine von maximal fünf Farben gewählt werden. Anschließend wird
mit Hilfe eines Intervalls angegeben, in welchem Prozentbereich dieser Filter
gelten soll. Dabei ist darauf zu achten, dass alle Prozentwerte von 0 bis 100%
abgebildet werden.
Kriterium bearbeiten/einfügen/löschen
Abbildung 66: Kriterien bearbeiten/einfügen/löschen
Beim Editieren von Kriterien (Abbildung 66) wird zunächst wieder die
entsprechende Tailoring-Kategorie gewählt. Innerhalb der gewählten Kategorie
können Kriterien bearbeitet und gelöscht oder neue Kriterien eingefügt werden.
Masterarbeit: Christian Peucker
Seite 76
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Bearbeiten der Fuzzy-Funktionsgraphen
Abbildung 67: Anzeige und Bearbeitung der Fuzzy-Funktionen und Regeln
Masterarbeit: Christian Peucker
Seite 77
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Nachdem nun Kategorien, Merkmale und Kriterien angelegt wurden, benötigt man
nun noch die für den Fuzzy-Algorithmus benötigten Fuzzy-Funktionen. Dazu wählt
man, wie in Abbildung 67 zu sehen ist, zunächst eine Kategorie und ein Merkmal
aus ( ). Anschließend werden dem Benutzer zum einen die gespeicherten Daten
der Funktion tabellarisch ( ) und zum anderen mit Hilfe eines Graphen visuell
angezeigt ( ). Jede Funktion besteht aus vier Punkten und einer Höhe. Mit Hilfe
der vier Punkte (nur x-Werte) können dann alle erforderlichen Trapez-Funktionen
für die Fuzzy-Funktionen erstellt werden. Bei Sonderfällen, wie z.B. der „Peak“Funktion (Dreiecksfunktion, siehe , blaue Funktion), besitzen Punkt 2 und 3 den
gleichen x-Wert. Durch Angabe dieser Punkte und einer maximalen Höhe von 1
kann der User die Zugehörigkeitsfunktionen für die Merkmale erstellen. Für die
Punkte 3 und 4 kann auch „Inf“ (Infinity = Unendlich) gewählt werden, damit auch
, rote
Funktionen bis ins Unendliche dargestellt werden können (siehe
Funktion). Zur besseren Übersicht entspricht die Farbe der Funktionen im
Graphen die der Textfarbe der Funktionen-ID (Fkt.-ID) in der Tabelle.
Bei der Erstellung einer neuen Funktion bekommt diese automatisch eine neue ID
zugewiesen, die später bei der Erstellung der Regeln benötigt wird.
Wurde bei den Comboboxen auch eine Tailoring-Kategorie und ein Kriterium
gewählt, so wird dafür die entsprechende Output-Funktion zum gewählten Attribut
angezeigt ( ).
Dort kann der User ebenfalls die Output-Funktionen je nach Bewertung des
Kriteriums anpassen. Im Unterschied zu den Zugehörigkeitsfunktionen sind die
wählbaren x-Werte auf den prozentualen Bereich 0 bis 100 beschränkt. Deshalb
sind offene Funktionen mit x-Werten bis Unendlich nicht möglich.
Im letzten Schritt muss der Benutzer noch die Fuzzy-Regeln erstellen ( ), indem
er die einzelnen Trapez-Funktionen aus den beiden Graphen miteinander
verknüpft. Die Verknüpfung wird mit Hilfe der Funktionen-IDs (Fkt.-ID) der beiden
Funktionen vorgenommen, die man in der tabellarischen Darstellung ablesen kann
und in den Comboboxen für die Regeln vorgegeben sind.
Der QGT-Assistent geht bei der Bewertung von einem minimalistischen Ansatz
aus, d.h. gibt es für die Kriterien keine Bewertungsfunktionen, so werden sie auch
nicht im Ergebnis berücksichtigt.
Bei der Bearbeitung der Funktionen für die Merkmale muss beachtet werden, dass
die Änderungen für alle Kriterien gelten, da die Merkmalsfunktionen immer gleich
bleiben. Für die Kriterien jedoch muss jeweils für jedes Merkmal eine neue
Funktion erstellt werden.
Weiterhin ist zu beachten, dass beim Editieren von Datenbankeinträgen der zuvor
angegebene Tailoring-Vorgang verloren geht, da die Änderungen in der
Datenbank auch Änderungen im Tailoring-Algorithmus hervorrufen.
Masterarbeit: Christian Peucker
Seite 78
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
7 Zusammenfassung & Ausblick
In diesem abschließenden Abschnitt werden zunächst Schwierigkeiten, die bei der
Erstellung der Arbeit aufgetreten sind, aufgezeigt. Weiterhin werden Möglichkeiten
zur Erweiterung des Tailoring-Ansatzes und des QGT-Assistenten beschrieben.
Anschließend schließt die Arbeit mit einer Bewertung und einem Fazit ab.
7.1 Schwierigkeiten
Während der Bearbeitung der Masterarbeit sind stellenweise Probleme und
Schwierigkeiten aufgekommen, die es zu bewältigen galt.
Eine Schwierigkeit lag in der Erstellung des konzeptionellen Metamodells. Die
Problematik schlug sich besonders darin nieder, die verschiedenen Quality-GateKonzepte zu vereinen. Schon kleine Änderungen im Modell zogen automatisch
Änderungen an anderen Stellen nach sich. Die Modellierung eines Metamodells
kann somit zu verschiedenen Ergebnissen führen. Außerdem ist ein solches
Metamodell nie wirklich „fertig“ oder „perfekt“. Viele Stellen sind deshalb auch jetzt
noch diskussionswürdig und können verschiedene Betrachtungsweisen nach sich
ziehen.
Problematisch war auch die Übertragung des Fuzzy-Logik-Ansatzes auf das
Tailoring von Quality Gates. Die Fuzzy-Logik selbst wird, wie beschrieben, im
Normalfall in der Steuerungs- und Regelungstechnik verwendet. Daher galt es zu
analysieren, wie die Fuzzy-Logik angewendet wird und wie daraus ein TailoringAlgorithmus erstellt werden kann. Das führte zwischenzeitlich zu falschen
Ansätzen und einer daraus resultierenden Kompletterneuerung des Algorithmus.
7.2 Ausblick & Erweiterungsmöglichkeiten
Das in dieser Arbeit verwendete Tailoringkonzept, das die Fuzzy-Logik als
Grundlage verwendet, kann auf unterschiedliche Weise erweitert und verbessert
werden. In diesem Abschnitt sollen nun einige dieser Möglichkeiten, sowohl für
den Tailoring-Algorithmus als auch für den QGT-Assistenten, dargestellt werden.
Beim Algorithmus musste entschieden werden, welche der verwendeten Konzepte
sich am besten für die vorliegende Situation eignen. Wie man im Kapitel 5.1, das
die Grundlagen der Fuzzy-Logik vorstellt, sehen kann, bietet die Fuzzy-Logik auch
noch andere Möglichkeiten. Eine Entscheidung war die Verwendung der
Mamdani-Implikation bei der Durchführung des zweiten Schrittes – der FuzzyInferenz. Eine Erweiterungsmöglichkeit wäre die Verwendung der Larsen’s
Implikation. Anschließend könnte betrachtet werden, wie sich die Änderungen im
Ergebnis des Tailorings auswirken.
Bei der Defuzzifizierung ist die Entscheidung für die Center-of-Maximum-Methode
gefallen, da sie intuitiv die besten Ergebnisse liefert und der Berechnungsaufwand
relativ gering ist. Doch erst in der Praxis wird sich zeigen, ob die Ergebnisse auch
bei größeren Bewertungsmengen den Erwartungen entsprechen. Alternativ könnte
man zum Vergleich eine andere Defuzzifizierungs-Methode wählen, wobei die
Masterarbeit: Christian Peucker
Seite 79
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Schwerpunktmethode andere und eventuell bessere Ergebnisse liefern könnte, mit
dem Nachteil der komplexen und aufwendigeren Berechnung.
Die entscheidende Bewertungsgrundlage des Tailoring-Algorithmus sind die
Fuzzy-Funktionen. In dieser Arbeit wurden, der Einfachheit halber, lediglich
trapezförmige Funktionen oder Spezialisierungen davon zugelassen. Als
Erweiterungsoption sind jedoch auch viele andere Darstellungsformen der FuzzyFunktionen vorstellbar, wie Parabel-, Wurzel- oder auch Logarithmusfunktionen.
Dabei wäre zu untersuchen, in welchen Fällen die Wahl dieser Funktionen sinnvoll
ist.
Eine weitere Verbesserungsmöglichkeit, bezogen auf den Tailoring-Algorithmus,
ist die Verwendung von Gewichtungen bei den Projektmerkmalen. Mit Hilfe der
Gewichtung könnte der Prozesstailorer festlegen, wie wichtig ihm ein bestimmtes
Projektmerkmal bei der Bewertung ist. Beispielsweise könnte so die Projektgröße
als wichtiger eingestuft werden als die Teamgröße.
Auch die Erstellung und Verwendung von Fuzzy-Regeln kann ausgebaut werden.
Dazu könnte man mehrere Regeln miteinander verbinden. Jedoch steigert das
Verbinden mehrerer Regeln die Komplexität und muss daher auch als kritisch
angesehen werden.
Erweiterungen und Verbesserungen sind jedoch nicht nur beim Algorithmus
möglich, sondern auch beim QGT-Assistenten. Der Assistent, der innerhalb dieser
Arbeit entstanden ist, ist eine erste Version, der die Vorgehensweise des
beschriebenen Fuzzy-Logik-Ansatzes demonstrieren soll. Eine Möglichkeit der
Erweiterung ist das Speichern und Öffnen von Tailoringkonfigurationen. Dadurch
gehen durchgeführte Tailoring-Vorgänge nicht mehr verloren und könnten später
noch eingesehen oder modifiziert werden.
Wünschenswert ist weiterhin die Implementation einer Export-Funktion, um
gewonnene Ergebnisse z.B. in einem XML-Format speichern und weiterverwenden zu können.
7.3 Bewertung und Fazit
In diesem Abschnitt soll geklärt werden, wie der Einsatz von Fuzzy-Logik für das
Tailoring von Quality Gates zu bewerten ist.
Die Erstellung der Zugehörigkeits- und Output-Funktionen ist die größte
Herausforderung beim Tailoring. Dabei stellt sich die Frage, wie der Aufwand im
Verhältnis zum Gewinn steht. Schon bei einer kleinen Anzahl an Kriterien und
Projektmerkmalen benötigt man sehr viele Bewertungen in Form von
mathematischen Funktionen. Bei der Erstellung dieser Funktionen sind viele Dinge
zu beachten, damit am Ende auch das erwartete Ergebnis resultiert. Der
Prozessmodellierer bzw. das Gate Management benötigt dafür einen großen
Erfahrungsschatz, der die Durchführung von vielen Quality-Gate-Projekten
benötigt. Man muss sich bewusst sein, dass kleine Änderungen an den
Funktionen schon zu großen Änderungen im Gesamtergebnis führen können. Der
Aufwand, speziell am Anfang, ist also als extrem hoch einzustufen.
Masterarbeit: Christian Peucker
Seite 80
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Wie kann jedoch der Gewinn beurteilt werden? Das kann sicherlich erst die Praxis
zeigen, indem der QGT-Assistent kontinuierlich durch Erfahrungskreisläufe mit
neuen Daten versorgt wird. Dies ist jedoch ein langwieriger Prozess. Aus diesen
Gründen wird der Einsatz in kleineren Unternehmen mit wenigen Projekten nur
wenig Sinn machen. Erst wenn die Erfahrungen aus vielen Projekten in den
Prozess einfließen, ist es denkbar, dass am Ende eine Datenbasis entsteht, aus
der sinnvolle Ergebnisse gewonnen werden können.
Masterarbeit: Christian Peucker
Seite 81
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
8 Anhang
8.1 Verwendete Kriterien und Projektmerkmale im QGTAssistenten
Die folgende Liste enthält Projektmerkmale, die aus dem Softwareprojekt des
Fachgebiets Software-Engineering der Universität Hannover stammen und im
QGT-Assistenten als Beispieldaten übernommen wurden.
Allgemeine Projektangaben
• Projektgröße
•
Teamgröße
Technologie
• J2EE
•
PHP
•
C++
•
C#
•
.Net
•
Delphi
•
Java
Software-Architektur
• Client-Server
•
Peer-To-Peer
•
Distributed Computing
•
Eventbasierte Systeme
•
Blackboard
•
Monolithische Systeme
•
Web Service Architecture
•
N-Schichten-Architektur
•
Dreischichtenarchitektur
•
Service Oriented Architecture (SOA)
•
Model Driven Architecture
•
Embedded
Masterarbeit: Christian Peucker
Seite 82
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Softwareentwicklungsprozess
• Extreme Programming (XP)
•
Rational Unified Process (RUP)
•
SCRUM
•
Wasserfall-Modell
•
V-Modell
•
V-Modell XT
•
Spiral-Modell (Boehm)
•
Prototyping
•
Aspect-Oriented Software Development (AOSD)
Domäne
• Versicherungen/Banken
•
Medizinische Anwendungen
•
Betriebssoftware
•
Standardsoftware
•
Eingebettete Software
•
Verwaltungssoftware
•
Infrastruktur
•
Modellierungswerkzeug
Die folgenden Kriterien stammen ebenfalls zum größten Teil aus dem
Softwareprojekt, aber auch teilweise aus dem Konzept des V-Modell XT.
Checkliste
• Die Dokumente sind durchgehend in deutscher oder englischer Sprache
verfasst und entsprechen den Regeln dieser Sprache
•
Die Dokumente liegen elektronisch im MS Word oder MS Powerpoint Format
vor
•
Das Layout der Dokumente ist konsistent
•
Alle Dokumente besitzen eine Versionsnummer und ein Erstellungsdatum
•
Die Gruppenbezeichnung ist vorhanden
•
Zu unterschreibene Dokumente sind mit den nötigen Unterschriften, Zeit- und
Orstangaben versehen und liegen vor (Bitte auf Papier mitbringen und bei
diesem Quality Gate vorlegen).
•
Die Vorgaben für Dateinamen wurden eingehalten (Vorgabe: SWP-WS0607[Gruppenname]-[Dokumentenname]-[Versionsnummer].[Dateiextension])
•
Die Anforderungsspezifikation verwendet das verteilte Template
•
Priorisierte Anforderungen des Kunden werden genannt
Masterarbeit: Christian Peucker
Seite 83
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
•
Die Aufgabe ist beschrieben
•
Es sind Angaben zur Anforderungsanalyse (Herkunft, wahrgenommene
Kundentermine, etc.) vorhanden
•
Es sind Angaben zu Rahmenbedingungen und zum Umfeld vorhanden.
Insbesondere sind Anwender und die vorhandene Software, Hardware,
Orgware benannt. Schnittstellen zu anderen Systemen sind erwähnt
•
Use Cases sind vorhanden
•
Es sind Angaben zu den Qualitätsanforderungen vorhanden. Interne
Qualitätsstandards sind benannt. Die Qualitätsanforderungen des Kunden
sind benannt und priorisiert
•
Maßnahmen zum Erfüllen der Qualitätsanforderungen sind benannt (z.B.
Richtlinien für die Dokumentation, zur konsistenten Formatierung des
Quelltextes, Verwendung eines Versionskontrollsystems usw.)
•
Risiken und mögliche Probleme sind benannt
•
Ein Glossar ist vorhanden, welches wichtige Fachbegriffe und Abkürzungen
erklärt
•
Es wurden Abnahmetestfälle aufgestellt und dokumentiert, die das spätere
Produkt erfüllen muss
•
Die Anforderungsspezifikation wurde von der/dem SE-Berater(in) inhaltlich
geprüft.
•
Ein Use-Case-Diagramm mit korrekter UML-Syntax ist vorhanden.
•
Die Rollenverteilung ist schriftlich festgelegt. (enthält Angaben über interne
Rollenverteilung (Gruppenleiter, Stellvertreter, Dokumentator usw.) und den
Teamnamen)
•
Es ist ein Gruppenprofil vorhanden. Jedes Gruppenmitglied wird kurz mit
seinern Software-, Programmier- und Entwicklungskenntnissen vorgestellt
•
Die Entwurfsspezifikation verwendet das verteilte Template
•
Wichtige übergreifende Konzepte
beschrieben, erläutert und begründet
•
Wichtige Schnittstellen zur Außenwelt sind beschrieben. Jede Schnittstelle,
die auch noch andere (Projekte) betreffen könnte, ist exakt (z.B. formal)
beschrieben. Dies betrifft auch Protokolle und Austauschformate.
•
Grundkonzepte der Funktionsverteilung auf verschiedene Rechner oder
Systemteile sind beschrieben und begründet. Die Kommunikation zwischen
diesen Teilen ist beschrieben
•
Es gibt eine grafische Übersicht der verwendeten Packages/Module. Die
Packages/Module und ihre Schnittstellen untereinander sind beschrieben
•
Es ist eine grafische Übersicht wichtiger Klassen vorhanden. Funktionen und
Schnittstellen der Klassen sind beschrieben
•
Abläufe und der Austausch von Nachrichten werden durch Interaktionsdiagramme (z.B. Sequenz- oder Kollaborationsdiagramme) aufgezeigt
Masterarbeit: Christian Peucker
und
Entwurfsentscheidungen
sind
Seite 84
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
•
Alle Diagramme entsprechen dem UML-Standard, sofern sie in UML
modelliert werden können
•
Die (grobe) Softwarearchitektur wird durch eine Paketaufstellung o.ä.
spezifiziert
•
Ein Walkthrough oder Review wurde bestanden
•
Abschätzungen zum Speicherverbrauch während der Laufzeit sind vorhanden.
•
Die physische Verteilung der einzelnen Softwarekomponenten ist spezifiziert.
•
Die Hauptarten der Benutzeroberflächen sind entworfen (GUI-Design, ...)
•
Die Entwurfsentscheidungen betreffend des Erreichens
Anforderungen festgelegten Qualitätsziele sind erläutert.
•
Netzwerkprotokolle sind mit entsprechenden Abläufen und Nachrichtenformaten definiert
•
Abhängigkeiten
spezifiziert
•
Gemeinsam zu erarbeitende oder festzulegende Schnittstellen sind von allen
betreffenden Teams mit einer Unterschrift bestätigt worden
•
Wichtige Algorithmen und Patterns werden erklärt
•
Eine Zuordnung der Personen zu Aufgaben und Modulen/Packages/Klassen
ist vorhanden
•
Ein Integrationsplan für die Zusammenführung und den Test einzelner
Module/Packages/Klassen ist vorhanden
•
Die Quelltexte sind nach den selbst gesetzten Qualitätsstandards formatiert
•
Die Quelltexte sind ausreichend kommentiert
•
Eine Archiv-Datei mit den Quelltexten liegt vor
•
Alle Methoden haben einen McCabe-Wert von <= 10.
•
In der vom FG SE gestellten Versionsverwaltung existiert eine als Final
getaggte Version mit einer Versionsnummer >= 1.0.
•
Die Anwendung liegt als ausführbares Archiv vor.
•
Die Anwendung lässt sich ohne Probleme installieren und ausführen
•
Die Anwendung erfüllt alle in der Anforderungsspezifikation vereinbarten
Abnahmetestfälle
•
Es liegt eine Schnittstellenbeschreibung vor.
•
Die Schnittstellenbeschreibung umfasst alle Klassen und Funktionen, die von
außen (anderen System) verwendet werden können
•
Die Schnittstellenbeschreibung ist ausführlich genug
•
Die Bedienungsanleitung beschreibt alle Funktionen der Anwendung
•
Die Bedienungsanleitung ist adressatengerecht verfasst
zu
Softwarebibliotheken
Masterarbeit: Christian Peucker
sind
auf
mind.
der
in
den
Paketebene
Seite 85
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
•
Die Technische Beschreibung ist adressatengerecht verfasst und beschreibt
den Installationsvorgang
•
Die Akzeptanztestfälle laufen wie spezifiziert ab. Jeder Test ist mit einem
Namenskürzel versehen, das bestätigt, dass der Test erfolgreich lief.
•
Die Testfälle sind nach Heuristiken bzw. einer Systematik aufgestellt worden.
Diese Systematik ist zudem angegeben
•
Besondere Risiken des Einsatzes sind in die Testpläne aufgenommen und
entsprechende, auch längere Abläufe sind vor dem Quality Gate erfolgreich
erprobt worden
Projektvertreter
• Die Projektvertreter müssen fundiertes betriebswirtschaftliches Wissen
besitzen
•
Die Projektvertreter müssen fundiertes marktwirtschaftliches Wissen besitzen
•
Die Projektvertreter benötigen große Erfahrung in der Durchführung von
Projekten
•
Es werden bis zu 5 Projektvertreter benötigt
•
Es werden zwischen 6 und 10 Projektvertreter benötigt
•
Es werden mehr als 10 Projektvertreter benötigt
Gatekeeper
• Die Gatekeeper benötigen einen großen Erfahrungsschatz
•
Es werden bis zu 2 Gatekeeper benötigt
•
Es werden zwischen 3 und 6 Gatekeeper benötigt
•
Es werden mehr als 6 Gatekeeper benötigt
Gate Manager
• Der Gate Manager benötigt große Erfahrung bei der Leitung eines Projektes
•
Die Aufgabe des Gate Managers übernehmen mehrere Personen
Lieferant
• Die Lieferung der Dokumente kann online erfolgen
•
Die Lieferung der Dokumente muss persönlich erfolgen
Gate
• Fertig für Anforderungen
•
Fertig für Entwurf
•
Fertig für Implementierung
•
Fertig für Abnahme
Masterarbeit: Christian Peucker
Seite 86
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Gate Netzwerk
• Vergabe und Durchführung eines Systementwicklungsprojektes (AG)
•
Vergabe und Durchführung mehrerer Systementwicklungsprojekte (AG)
•
Inkrementelle Systementwicklung (AN)
•
Komponentenbasierte Systementwicklung (AN)
•
Agile Systementwicklung (AN)
•
Wartung und Pflege von Systemen (AN)
•
Inkrementelle Systementwicklung (AG/AN)
•
Komponentenbasierte Systementwicklung (AG/AN)
•
Agile Systementwicklung (AG/AN)
•
Wartung und Pflege von Systemen (AG/AN)
•
Einführung und Pflege eines organisationsspezifischen Vorgehensmodells
Gate Review
• Es nehmen der Teamleiter und 2 Projektvertreter am Gate Review teil
•
Es nehmen der Teamleiter und 3 Projektvertreter am Gate Review teil
•
Ein einleitendes Kickoff wird durchgeführt
Entscheidung
• Die „go-Entscheidung“ kann getroffen werden
•
Die „kill-Entscheidung“ kann getroffen werden
•
Die "hold-Entscheidung" kann getroffen werden
•
Die "conditional-go-Entscheidung" kann getroffen werden
•
Die "repeat-Gate-Entscheidung" kann getroffen werden
Kriterium
• Es werden alle Dokumente überprüft
•
Es werden nur Teile der Dokumente überprüft
•
Es werden Aktivitäten und deren Ergebnisse überprüft
Kriteriendefinition
• Es werden Ergebnisse vereinbart
•
Der Weg wird dargelegt
Protokoll
• Es wird kein Protokoll benötigt
•
Das Protokoll beinhaltet die Entscheidung der Gatekeeper
Masterarbeit: Christian Peucker
Seite 87
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
•
Das Protokoll beinhaltet alle Aktivitäten und Ergebnisse aus dem Gate
Review
Entscheidungsfindung
• Es findet eine individuelle Vorbereitung der Gatekeeper statt
•
Es wird ein Gate Review durchgeführt
•
Es werden Maßnahmen nach einer getroffenen Entscheidung über den
Verlauf des Projektes überwacht
Masterarbeit: Christian Peucker
Seite 88
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
8.2 Literaturverzeichnis
1
Apache Derby
http://db.apache.org/derby
2
Balzert, Helmut
Lehrbuch der Software-Technik
Spektrum Akademischer Verlag (2000)
3
Bank, Mathias
Fuzzy Logik
Proseminar Soft Computing, Univerität Ulm (2004)
4
Cooper, Robert G.
Winning at New Products – Accelerating the Process from Idea to Launch
Perseus Books Group, 3rd Edition (2001)
5
Cossentino, Massimo et al
A metamodelling-based approach for method fragment comparison
Eleventh International Workshop on “Exploring Modeling Methods in Systems
Analysis and Design” (EMMSAD, 2006)
6
DANTES
Sustainability aspects in a Stage-Gate model for product development
http://www.dantes.info/Strategies/R&D/ABBGatemodel/strategies_RandD_AB
BGate_background.html
7
de Vries, Lars
Erfahrungsbasierte (Software-) Prozessverbesserung
Seminar-Vortrag, Fachgebiet Software Engineering, Leibniz Universität
Hannover (WS 2005/2006)
8
Differding, Christiane / Rombach, Dieter
Kontinuierliche Software-Qualitätsverbesserung in der industriellen Praxis
AG Software Engineering, Universität Kaiserslautern (1996)
9
Dolog, Peter
Engineering Adaptive Web Applications
Dissertation, Leibniz Universität Hannover (2006)
10 Eclipse
http://www.eclipse.org/
11 Filß, Christian
Vergleichsmethoden für Vorgehensmodelle
Diplomarbeit, Technische Universität Dresden (2005)
12 Flohr, Thomas
NetQGate – Tool Support for Quality Gate Processes
FG Software Engineering, Leibniz Universität Hannover (2006)
Masterarbeit: Christian Peucker
Seite 89
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
13 Fraunhofer IESE Kompetenzzentrum
www.software-kompetenz.de
14 Geburzi, Alexander
Das Metamodell der UML und in FUJABA
Projekt-Vortrag, Universität Paderborn (2004)
15 Gepting, Alexander
Grundlagen von MOF
Seminarausarbeitung, Universität Paderborn (2004)
16 Greive, Jens
Entwurf und Implementierung eines Systems zur netzbasierten Durchführung
von Quality Gates
Bachelorarbeit, Leibniz Universität Hannover (2005)
17 Hampel, Prof. Dr.-Ing. habil. Rainer et al
Fuzzy Control (Lehrbrief)
Hochschule Zittau / Görlitz, TU Liberec (2002)
18 Hawlitzky, Nicolas
Integriertes Qualitätscontrolling von Unternehmensprozessen - Gestaltung
eines Quality Gate-Konzeptes
Verlag: TCW (2002)
19 Ittner, Jan
Appropriate Processes: Tailoring Agile Processes
Proceedings of the 3rd World Congress for Software Quality (2005), Vol. II,
S. 261-285
20 Ittner, Jan
Softwaregestütztes Anpassen von Prozessbeschreibungen
Dissertation, Universität Erlangen-Nürnberg (2005)
21 Java Sun
http://java.sun.com/
22 Kamiske, Gerd F. / Brauer, Jörg-Peter
Qualitätsmanagement von A bis Z - Erläuterungen moderner Begriffe des
Qualitätsmanagement
Carl Hanser Verlag, 5. Auflage (2005)
23 KBSt 4
V-Modell XT: Meta-Modell und Konsistenzbedingungen
Version 1.1 (2005)
24 KBSt4
V-Modell XT: Online Dokumentation
http://ftp.uni-kl.de/pub/v-modell-xt/Release-1.2/Dokumentation/html
4
KBSt: Koordinierungs- und Beratungsstelle der Bundesregierung für Informationstechnik in der
Bundesverwaltung
Masterarbeit: Christian Peucker
Seite 90
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
25 KBSt 5
Das neue V-Modell XT
http://www.kbst.bund.de
26 Kestler, Hans A.
Fuzzy Logik
VL Soft Computing, Universität Ulm (2003)
27 Kinnula, Atte
Quality Improvement Paradigm–cycle
Oulu University Library, Software process engineering systems: models and
industry cases (2000), Chapter 3
http://herkules.oulu.fi/isbn9514265084/html/x287.html
28 Krapp, Fabian
Einführung in die Fuzzy Logik
Seminar-Vortrag, University of Applied Science (2006)
29 Kruchten, Philippe
Der Rational Unified Process – Eine Einführung
Addison-Wesley, 2. Auflage (1999)
30 Lübke, Daniel / Flohr, Thomas
Experiences from the Conduction of a simulated Software Project driven by
Quality Gates
FG Software Engineering, Leibniz Universität Hannover (2005)
31 Pfeifer, Tilo / Schmidt, Reinhard
Das Quality-Gate-Konzept – Entwicklungsprojekte softwareintensiver Systeme
verlässlich planen, synchronisieren und absichern
Industrie Management Nr. 5, 2003, 21-24, Fraunhofer-Institut
32 Scharer, Michael
Quality Gate-Ansatz mit integriertem Risikomanagement : Methodik und
Leitfaden zur zielorientierten Planung und Durchführung von
Produktentstehungsprozessen
Dissertation, Universität Karlsruhe (2001)
33 Scholz, Daniel
Entwurf und Implementation von NetQGate mit J2EE
Masterarbeit, Leibniz Universität Hannover (2006)
34 Schönberg, Arndt
Ein unscharfes Bewertungssystem für die Bedrohungs- und Risikoanalyse von
IT-Systemen
Diplomarbeit, Universität Oldenburg (1998)
5
KBSt: Koordinierungs- und Beratungsstelle der Bundesregierung für Informationstechnik in der
Bundesverwaltung
Masterarbeit: Christian Peucker
Seite 91
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
35 Stetter, Dr.-Ing Rainer
Software im Maschinenbau – lästiges Anhängsel oder Chance zur
Marktführerschaft
Software Factory & ITQ GmbH
36 Stahl, Thomas / Völter, Marku
Modellgetriebene Softwareentwicklung
Dpunkt Verlag, 1. Auflage (2005)
37 Vorpahl, Ronny
Fuzzy Control – Unscharfe Regler und dessen Anwendungen
Seminar-Vortrag, TU Freiburg (2002)
38 Wallin, Christina et al
Combining Models for Business Decisions and Software Development
Proceedings of the 28 th Euromicro Conference, IEEE
39 Wallin, Christina et al
Integrating Business and Software Development Models
IEEE SOFTWARE November/December 2002, S. 28-33
40 Wikipedia Enzyklopädie
http://de.wikipedia.org
Hinweis:
Zum Abgabezeitpunkt dieser Masterarbeit waren
angegebenen Internet-Adressen aktuell und erreichbar.
Masterarbeit: Christian Peucker
alle
an
dieser
Stelle
Seite 92
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
8.3 Abbildungsverzeichnis
Abbildung 1: Modell für Rolle, Aktivität und Artefakt ............................................... 4
Abbildung 2: Quality-Gate-Prozess ........................................................................ 6
Abbildung 3: Quality-Gate-Referenzprozess [12] ................................................... 7
Abbildung 4: Ein konkreter Quality-Gate-Prozess [12] ........................................... 8
Abbildung 5: Zusammenhang der Gate-Komponenten ........................................ 10
Abbildung 6: Stage-Gate-Prozess von Cooper..................................................... 11
Abbildung 7: Von den Projektmerkmalen zur Projektdurchführungsstrategie....... 16
Abbildung 8: Entscheidungspunkte im V-Modell XT ............................................. 18
Abbildung 9: V-Modell XT Projektassistent - Projekttyp........................................ 18
Abbildung 10: V-Modell XT Projektassistent – Anwendungsprofil ........................ 19
Abbildung 11: V-Modell XT - Tailoring-Metamodell .............................................. 19
Abbildung 12: Synchronisation durch Quality Gate nach Pfeifer/Schmidt ............ 20
Abbildung 13: Quality-Gate-Plan nach Pfeifer/Schmidt ........................................ 21
Abbildung 14: 4-stufige Quality-Gate-Vorgehensweise von Pfeiffer/Schmidt ....... 21
Abbildung 15: Gates im ABB Gate Modell [6]....................................................... 22
Abbildung 16: 4-Schichten-Metamodellarchitektur nach Stahl/Völter [36] ............ 25
Abbildung 17: Beispiel für 4-Schichten-Architektur [14]........................................ 26
Abbildung 18: Das konzeptionelle Metamodell für Quality Gates ......................... 28
Abbildung 19: Metamodell Paket: „Struktur“ ......................................................... 29
Abbildung 20: Metamodell Paket: „Entscheidung” ................................................ 30
Abbildung 21: Metamodell Paket: „Steuerung“ ..................................................... 31
Abbildung 22: Metamodell Paket: „Inhalt“............................................................. 33
Abbildung 23: Metamodell Paket: „Anpassung“.................................................... 33
Abbildung 24: Paketabhängigkeiten zum Tailoring............................................... 34
Abbildung 25: Konzeptionelles Metamodell (Paketübersicht)............................... 35
Abbildung 26: Tailoring eines projektspezifischen Prozesses .............................. 38
Abbildung 27: Vergleich Bool'scher- und Fuzzy-Untermengen............................. 43
Abbildung 28: Zugehörigkeitsfunktion in der Bool'schen Logik............................. 43
Abbildung 29: Zugehörigkeitsfunktion in der Fuzzy Logik..................................... 44
Abbildung 30: Übliche Zugehörigkeitsfunktionen.................................................. 44
Abbildung 31: Fuzzy-Funktionen A und B ............................................................ 44
Abbildung 32: Aufbau eines Fuzzy-Controllers..................................................... 45
Abbildung 33: Fuzzifizierung der Eingangswerte.................................................. 46
Abbildung 34: Funktion der Output-Menge in der Fuzzy-Inferenz ........................ 47
Masterarbeit: Christian Peucker
Seite 93
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
Abbildung 35: Mamdani-Implikation...................................................................... 48
Abbildung 36: Konklusionsmenge zweier Regeln durch Mamdani-Implikation..... 48
Abbildung 37: Mamdani-Inferenz mit zwei Prämissen .......................................... 49
Abbildung 38: Larsen's Implikation ....................................................................... 49
Abbildung 39: Konklusionsmenge durch Larsen’s Implikation.............................. 50
Abbildung 40: Left-, Mean- und Right-of-Maximum-Methode ............................... 50
Abbildung 41: Schwerpunktmethode bzw. "Center of Gravity" (CoG) .................. 51
Abbildung 42: Center-of-Maximum-Methode (CoM) ............................................. 51
Abbildung 43: Zugehörigkeitsfunktion für die Teamgröße .................................... 54
Abbildung 44: Output-Funktion für Teamgröße und Kriterium .............................. 55
Abbildung 45: Bewertung des Kriteriums nach der Teamgröße ........................... 55
Abbildung 46: Zugehörigkeitsfunktion für die Projektgröße .................................. 56
Abbildung 47: Output-Funktion für Projektgröße und Kriterium ............................ 57
Abbildung 48: Bewertung des Kriteriums nach der Projektgröße ......................... 57
Abbildung 49: Gesamtbewertung des Kriteriums nach Team- & Projektgröße..... 58
Abbildung 50: Output-Funktion für das Tailoring beim Gatekeeper ...................... 59
Abbildung 51: Bewertung der Aussage nach der Projektgröße ............................ 59
Abbildung 52: Beispiel-Funktion für das 100%-Bewertungs-Problem................... 62
Abbildung 53: Lösungsfunktionen ........................................................................ 63
Abbildung 54: Beispiel für die Darstellung einer bool'schen Funktion .................. 63
Abbildung 55: Beispiel-Output-Funktion für Höhe-Problem .................................. 64
Abbildung 56: Quality-Improvement-Paradigm-Zyklus [7] .................................... 65
Abbildung 57: Datenbankschema......................................................................... 69
Abbildung 58: Startbildschirm mit Eingabe des Projektprofils............................... 71
Abbildung 59: Übersicht der Tailoring-Konfiguration ............................................ 72
Abbildung 60: Anzeige des Tailoring-Gesamtergebnis......................................... 73
Abbildung 61: Bearbeiten von Kategorien, Merkmalen und Kriterien ................... 74
Abbildung 62: Kategorie bearbeiten/einfügen/löschen ......................................... 74
Abbildung 63: Merkmale bearbeiten/einfügen/löschen ......................................... 75
Abbildung 64: Tailoring-Kategorien bearbeiten/einfügen/löschen ........................ 75
Abbildung 65: Filter bearbeiten/einfügen/löschen................................................. 76
Abbildung 66: Kriterien bearbeiten/einfügen/löschen ........................................... 76
Abbildung 67: Anzeige und Bearbeitung der Fuzzy-Funktionen und Regeln........ 77
Abbildung 68: Apache Derby in Eclipse................................................................ 97
Masterarbeit: Christian Peucker
Seite 94
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
8.4 Tabellenverzeichnis
Tabelle 1: Rollen und Aktivitäten beim Quality Gate............................................... 8
Tabelle 2: Beschreibung der Gates des ABB-Gate-Modells................................. 23
Tabelle 3: Proof-of-Concept am Beispiel des Stage-Gate-Prozesses .................. 37
Tabelle 4: Tailoringmöglichkeiten bei den einzelnen Bausteinen ......................... 41
Tabelle 5: Logische Operatoren auf unscharfen Mengen..................................... 45
Tabelle 6: Bewertung der Defuzzifizierungs-Methoden ........................................ 52
Tabelle 7: Beispiel für einen Filter ........................................................................ 60
Tabelle 8: Datenbank-Tabellenübersicht .............................................................. 70
8.5 Formelverzeichnis
Formel 1: Berechnungsformel des Center of Maximum ....................................... 52
Masterarbeit: Christian Peucker
Seite 95
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
8.6 Inhalt der CD-ROM
Die beiliegende CD-ROM beinhaltet:
Masterarbeit
Ausarbeitung dieser Masterarbeit als
Word- und PDF-Dokument
QGT-Assistent
QGT-Assistenten in verschiedenen Versionen
Quellcode aus Eclipse
Quellcode des Programms aus Eclipse
ohne Bewertungen
QGT-Assistent als JAR-Archiv ohne
Bewertungsfunktionen für die Kriterien
mit Best-Practise-Bewertungen
QGT-Assistent als JAR-Archiv mit BestPractise-Bewertungen für die Kriterien
(alle Bewertungen ergeben 100%
Übereinstimmung)
mit Beispiel-Bewertungen
QGT-Assistent mit zufälligen BeispielBewertungen für die Kriterien
Software
Software, die im Laufe der Arbeit
verwendet wurden
Apache Derby
Plugins zur Installation der Apache
Derby Datenbank
JGoodies Forms
Layout-Manager für Java-Swing-Anwendungen,
der
bei
der
Implementierung verwendet wurde und gut
zur Erstellung von Formularen geeignet
ist
(weitere
Informationen
unter
README.html)
8.6.1 Installation des QGT-Assistenten
Zur Installation des QGT-Assistenten muss lediglich der Inhalt eines der
Verzeichnisse aus \QGT-Assistent auf der beigelegten CD in ein beliebiges
Verzeichnis auf der Festplatte kopiert werden.
Ist eine aktuelle Java-Runtime-Environment-Version installiert, kann die Datei
„QGT-Assistent.jar“ per Doppelklick direkt als Programm im Windows Explorer
oder aber mit java –jar QGT-Assistent.jar aus der Kommandozeile gestartet
werden.
Masterarbeit: Christian Peucker
Seite 96
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
8.6.2 Installation von Apache Derby zur Nutzung in Eclipse
Die Datenbank „Apache Derby“ wird in dieser Arbeit in der Version 10.2.2.0
verwendet. Sie ist frei verfügbar und standardmäßig in der Java 6 Plattform
integriert. Derby wird von der Entwicklungsumgebung Eclipse unterstützt, aus der
SQL-Anfragen gestellt werden können. Dazu ist jedoch die Installation von Derby
in Eclipse (Version 3.1 oder höher vorausgesetzt) nötig, die mit Hilfe der folgenden
Schritte durchgeführt werden kann:
1. Entpacken des Archivs „derby_core_plugin_10.2.2.485682.zip“ von der
Masterarbeit-CD (\Software\Apache Derby) in das Eclipse-Verzeichnis
2. Entpacken des Archivs „derby_ui_plugin_1.1.0.zip“ von der MasterarbeitCD (\Software\Apache Derby) in das Eclipse-Verzeichnis
Nach dem Starten von Eclipse kann eine Derby-Datenbank durch Rechtsklick auf
ein entsprechendes Projekt und wählen von „Apache Derby“ Æ „Add Apache
Derby nature“ angebunden werden (siehe Abbildung 68).
Abbildung 68: Apache Derby in Eclipse
Im Hintergrund werden die Archive derby.jar, derbynet.jar, derbytools.jar,
derbyclient.jar zum Java Build Path des Projektes hinzugefügt. Nun kann man mit
Hilfe von „Apache Derby“ Æ „ij (Interactive SQL)“ in den Kommandozeilen-Modus
wechseln.
Folgender Befehl legt zunächst eine neue Datenbank mit dem Namen „myDB“
(Benutzer „me“, Passwort „mine“) an und stellt automatisch eine Verbindung her:
connect 'jdbc:derby:myDB;create=true;user=me;password=mine';
Dort können mit SQL-Befehlen neue Tabellen angelegt und gefüllt werden.
Folgende Anweisungen bilden ein Beispiel für den Verbindungsaufbau zur
Datenbank und dem Absetzen einer Abfrage aus Java:
String dbURL = "jdbc:derby:myDB;create=true;user=me;password=mine";
Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
Connection conn = DriverManager.getConnection(dbURL);
Statement stmt = conn.createStatement();
stmt.execute("…"); // SQL-Abfrage
stmt.close();
Weitere Informationen zu Apache Derby unter: http://db.apache.org
Masterarbeit: Christian Peucker
Seite 97
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
8.7 Aufgabenstellung
Ein Anpassungskonzept für Quality Gates basierend auf
Bausteinen
Hintergrund
Quality Gates werden in Organisationen aus unterschiedlichsten Gründen eingesetzt.
Meistens steht jedoch die Prüfung der Prozesskonformität, Risikokontrolle,
Projektkontrolle,
Synchronisation
verschiedener
Teilprojekte
oder
die
Qualitätssicherung im Vordergrund. Quality Gates können nicht immer direkt - also
ohne Anpassung (Tailoring) - für ein Projekt verwendet werden. Darüber hinaus
müssen Quality Gates zunächst als Referenz in einer Organisation etabliert werden.
Wenn dabei ein Referenzprozess als Basis dient, wie z.B. der Stage-Gate-Prozess
von Cooper, so ist auch hier eine Anpassung notwendig.
Aufgabe
Im Rahmen dieser Arbeit soll ein Anpassungskonzept für Quality Gates basierend auf
Bausteinen entwickelt werden. Ziel ist es dabei, Quality Gates an ein konkretes
Projekt anzupassen.
Die Anpassung bezieht dabei im Wesentlichen vier Aspekte mit ein: die Quality Gates
(als Referenz in der Organisation), ein Projektprofil, Tailoringregeln und Erfahrungen.
Dabei ist von Interesse, wie Quality Gates zerlegt werden müssen, damit ein Tailoring
durchgeführt werden kann. In der Theorie, aber auch in der Praxis (zum Beispiel im VModell XT), wird diesbezüglich häufig das Bausteinprinzip genutzt. Dabei wird ein
Prozess in verschiedene unabhängige Komponenten zerlegt, die je nach Projektprofil
und Tailoringregeln in dem angepassten Prozess verwendet werden oder nicht. Dies
führt aber zu einigen Problemen: Was passiert, wenn Tailoringregeln sich
widersprechen oder Bausteine einander ausschließen? Ein geeigneter Algorithmus
zum Tailoring müsste damit umgehen können.
Tailoring kann bezogen auf Quality Gates horizontal oder vertikal stattfinden.
Horizontales Tailoring bezieht sich dabei auf Inhalt und Anzahl der Quality Gates
(vergleiche Cooper). Während vertikales Tailoring sich auf den genauen Ablauf der
einzelnen Quality Gates bezieht.
Hauptleistungen dieser Arbeit sind:
• Übertragung des Bausteinprinzips auf Quality Gates.
• Erarbeitung eines Projektmodells, welches für die Anpassung verwendet
werden kann.
• Entwurf und Implementierung (in Java) eines Anpassungsalgorithmus für
Quality Gates, der bestimmte Nebenbedingungen (z.B. maximale Anzahl
Quality Gates) betrachtet und Konflikte löst.
Im Rahmen der Arbeit ist eine schriftliche Ausarbeitung im Umfang von ca. 80 Seiten
zu erstellen.
Organisatorisches
Betreuer: Dipl.-Math. Thomas Flohr
Beginn: ab sofort
Voraussetzungen: Kenntnisse über Softwareentwicklungsprozesse
Masterarbeit: Christian Peucker
Seite 98
Thema: Ein Anpassungskonzept basierend auf Bausteinen für Quality Gates
8.8 Erklärung
Hiermit versichere ich, dass ich die vorliegende Masterarbeit selbstständig und
ohne fremde Hilfe verfasst und keine anderen als die in der Arbeit angegebenen
Quellen und Hilfsmittel verwendet habe. Die Arbeit hat in gleicher oder ähnlicher
Form noch keinem anderen Prüfungsamt vorgelegen.
Bünde, den …………………………..
……………………………….
(Christian Peucker)
Masterarbeit: Christian Peucker
Seite 99

Documentos relacionados