-
Führen Sie Prüfungen in einem Besprechungsformat durch, auch wenn die Teilnehmer der Besprechungen eigene Prüfungen
vorbereiten können.
-
Überwachen Sie während der Prozessaufgaben ständig die Qualität, um zu verhindern, dass erst bei den Prüfungen
zahlreiche Mängel festgestellt werden. In jeder Aufgabe in Rational Unified Process (RUP) wird auf die im Folgenden
ausgeführten Prüflisten verwiesen, um dies noch einmal zu betonen. Verwenden Sie diese Prüflisten für inoffizielle
Prüfbesprechungen und bei Ihrer täglichen Arbeit.
In einem Standardglossar von 1990 definiert IEEE die folgenden drei Arten von Prüfungen:
-
Review
-
(Prüfung) Eine offizielle Besprechung, in der ein Arbeitsergebnis oder eine Gruppe von Arbeitsergebnissen dem
Benutzer, Kunden oder anderen interessierten Parteien zur Stellungnahme und Abnahme präsentiert wird.
-
Inspection
-
(Untersuchung) Eine formale Auswertungstechnik, mit der Arbeitsergebnisse gründlich von einer Person oder eine
Gruppe von Personen (nicht dem Autoren) untersucht werden, um Fehler, Verstöße gegen Entwicklungsstandards und
andere Probleme zu finden.
-
Walkthrough
-
Ein Überprüfungsprozess, in dem ein Entwickler einen oder mehrere Mitgliedern des Entwicklungsteams durch einen
Teil seines Arbeitsergebnisses führt, während die anderen Mitarbeiter Fragen stellen oder Kommentare zu
Technik, Stil, möglichen Fehlern, Verstößen gegen Entwicklungsstandards und andere Probleme abgehen.
Wenn Prüfungen teamübergreifend durchgeführt werden, haben die Mitarbeiter die Möglichkeit, Design und Code anderer
Gruppen kennen zu lernen. Außerdem erhöhen sich die Chancen, gemeinsamen Quellcode, Wiederverwendungsmöglichkeiten und
Möglichkeiten der Generalisierung zu erkennen. Prüfungen sind außerdem eine Methode, um die Architekturstile mehrerer
Gruppen zu koordinieren.
In RUP spielen Prüfungen eine wichtige, aber sekundäre Rolle in der Qualitätssicherung. Die wichtigsten
Qualitätsbeiträge in RUP sind in [ROY98] im
Abschnitt "Peer Inspections" ausführlich beschrieben. Dieses Buch beschreibt einen weiteren wertvollen Effekt von
Prüfungen auf die berufliche Weiterentwicklung: Jüngere Mitarbeiter erhalten die Chance, sich die Arbeit von Experten
anzusehen, und können ihre eigene Arbeit von erfahrenen Mentoren prüfen lassen.
Wir planen Prüfungen, um den Fokus und den Umfang der Prüfung zu bestimmen und um sicherzustellen, dass alle Teilnehmer
ihre jeweilige Rolle und die Ziele der Prüfung verstehen.
Vor der Prüfung definieren Sie den Umfang der Prüfung, in dem Sie die Frage festlegen, die gestellt wird, d. h. Sie
definieren, was bewertet wird und warum. Schauen Sie sich die Prüflisten für die zu prüfenden Arbeitsergebnisse an,
damit Sie wissen, welche Fragen sie stellen müssen. Die genauen Fragen richten sich nach der Phase des Projekts. In
einem frühen Stadium des Projekts beziehen sich die Fragen auf allgemeinere Architekturprobleme, später werden die
Prüfungen spezifischer.
Nachdem Sie den Umfang der Prüfung bestimmt haben, definieren Sie die Prüfungsteilnehmer, die Agenda und die
Informationen, die zur Durchführung der Prüfung erforderlich sind. Achten Sie bei der Auswahl der Teilnehmer darauf,
dass Softwarearchitektur- und Domänenwissen ausgewogen sind. Bestimmen Sie eindeutig und unmissverständlich einen
Prüfungsleiter, der die Prüfung koordiniert. Ziehen Sie bei Bedarf weitere Teams oder andere Teile der Organisation zu
Rate, falls domänenspezifisches oder technisches Fachwissen erforderlich ist.
Es sollten maximal sieben Prüfer an der Prüfung teilnehmen. Wenn Sie eine gute Wahl treffen, sind diese Prüfer mehr als
fähig, Probleme in der Architektur aufzudecken. Eine höhere Anzahl von Prüfern könnte sich die Qualität der Prüfung
sogar verschlechtern, weil die Besprechungen länger werden, die Teilnahme schwieriger wird und nebenläufige Themen und
Diskussionen in die Prüfung eingestreut werden. Bei weniger als vier Prüfern erhöht sich das Risiko der
Kurzsichtigkeit, da die Vielfalt der Problemstellungen reduziert ist.
Prüfer müssen Erfahrung in dem zu prüfenden Bereich haben. Für Anwendungsfälle müssen sich die Prüfer in der
Problemdomäne auskennen, und für die Softwarearchitektur sind außerdem Kenntnisse der Softwaredesigntechniken
erforderlich. Unerfahrene Prüfer können durch die Teilnahme etwas über die Architektur lernen, können aber wenig zur
Prüfung beitragen und Umständen den Verlauf der Prüfung stören. Halten Sie die Gruppe klein: nicht mehr als sieben und
nicht weniger als drei Prüfer. Weniger Prüfer gefährden die Qualität der Prüfung, und mehr Prüfer verhindern eine
interaktive Diskussion, die für das Erreichen der Qualitätsergebnisse unerlässlich ist.
Wählen Sie die für das Material geeigneten Prüfer aus:
-
Personen, die den Hintergrund haben, um das präsentierte Material zu verstehen.
-
Personen, die ein lebhaftes Interesse an der Qualität an der Qualität des zu prüfenden Produkts bzw.
Arbeitsergebnisses haben.
Vor der Prüfung müssen die zu prüfenden Arbeitsergebnisse und das verfügbare Hintergrundmaterial zusammengestellt und
an die Prüfungsteilnehmer verteilt werden. Diese muss in ausreichendem zeitlichen Abstand vor der Prüfbesprechung
stattfinden, damit die Prüfer Gelegenheit haben, das Material zu prüfen und Probleme zusammenzustellen. Wenn Sie die
Prüfunterlagen rechtzeitig verteilen und den Prüfern die Chance geben, sich auf die Prüfung vorzubereiten, verbessert
dies die Qualität der Prüfergebnisse erheblich. Eine Vorbereitung auf die Prüfung wirkt sich auch positiv auf die
Effizienz und Effektivität der Prüfung aus.
Prüfer müssen die Dokumentation studieren, Fragen formulieren und zu besprechende Probleme herausfinden und zwar vor
der Prüfung. In Anbetracht der normalen Arbeitslast der Prüfer müssen Sie eine Mindestvorlaufzeit von ein paar
Arbeitstagen für die Vorbereitung auf die Prüfung veranschlagen.
Es gibt mehrere Schlüssel für die Durchführung einer erfolgreichen Prüfung:
Jeder dieser Punkte wird im Folgenden detailliert beschrieben.
Im Allgemeinen folgt der Prüfprozess einem sich wiederholenden Zyklus:
-
Ein Prüfer wirft ein Problem auf.
-
Das Problem wird besprochen und unter Umständen bestätigt.
-
Es wird ein Mangel festgestellt (d. h. es wird etwas gefunden, was bearbeitet werden muss).
-
Dieses Zyklus so oft wiederholen, bis keine Probleme mehr gefunden werden.
Damit dieser Prozess effektiv ist, muss jeder begreifen, dass das Ziel einer Prüfung die Verbesserung der Qualität des
geprüften Arbeitsergebnisses ist. Die Arbeitsergebnisse müssen mit kritischem Auge geprüft werden, um Probleme zu
finden. Dies kann schwierig sein. Deshalb müssen sich alle Prüfer ständig daran erinnern, sich auf die Ermittlung von
Problemen zu konzentrieren (natürlich wollen wir alle Probleme lösen, aber als Prüfer müssen wir dieses Bestreben
beiseite stellen).
Wir sind alle eigen mit unserer Arbeit. Häufig ist es schwierig, Kritik zu akzeptieren, selbst wenn sie konstruktiv
ist. Deswegen müssen wir uns noch mehr auf die Ziele der Prüfung konzentrieren: diese Arbeit besser machen.
Um eine effektive Prüfung durchführen zu können, muss jeder eine Rolle spielen. Genauer gesagt, es gibt bestimmte
Rollen, die gespielt werden müssen, und die Prüfer können die Rollen nicht einfach vertauschen. Die Basisrollen in
einer Prüfung sind im Folgenden aufgelistet:
-
Moderator
-
Protokollant
-
Präsentator
-
Prüfer
Der Moderator stellt sicher, dass die Prüfung der Agenda folgt und sich auf das jeweilige Thema konzentriert. Der
Moderator sorgt dafür, dass die Prüfung durch nebenläufige Diskussionen nicht entgleist und dass alle Prüfer
gleichermaßen an der Diskussion teilnehmen.
Der Protokollant ist ein häufig übersehener, aber wichtiger Bestandteil des Prüfteams. Die Aufzeichnung der
besprochenen Themen und die Dokumentation der zu ergreifenden Maßnahmen ist eine Vollzeitaufgabe. Wenn Sie diese
Aufgabe einem der Prüfer zuordnen, ist dieser im Wesentlichen aus der Diskussion ausgeschlossen. Noch viel schlimmer
ist es, nicht zu dokumentieren, was entschieden wurde, weil dies wahrscheinlich dazu führt, dass dasselbe Thema erneut
aufkommt. Benennen Sie einen Protokollanten und stellen Sie sicher, dass dies die einzige Rolle ist, die diese Person
hat.
Der Präsentator ist der Autor des geprüften Arbeitsergebnisses. Der Präsentator erläutert das Arbeitsergebnis und alle
Hintergrundinformationen, die zum Verständnis des Arbeitsergebnisses erforderlich sind (obwohl das Arbeitsergebnis
wahrscheinlich überarbeitet werden muss, wenn es nicht selbsterklärend ist). Es ist wichtig, dass Prüfungen nicht zu
"Strafverhandlungen" werden - der Fokus muss auf dem Arbeitsergebnis und nicht auf dem Präsentator liegen. Der
Moderator hat die Rolle sicherzustellen, dass die Teilnehmer (einschließlich des Präsentators) dies im Hinterkopf
behalten. Der Präsentator ist dazu da, die Diskussion in Gang zu bringen, Fragen zu beantworten und Klärung zu liefern.
Prüfer bringen Probleme zur Sprache. Es ist wichtig, sich darauf zu konzentrieren und sich nicht in Diskussionen
verstricken zu lassen, wie das Problem zu lösen ist. Konzentrieren Sie sich auf die Ergebnisse und nicht auf die
Mittel.
Wie bereits erwähnt, spielt der Moderator eine entscheidende Rolle darin, die Prüfung in der "Zielbahn" zu halten. Es
ist wichtig, dass der Moderator die Prüfung in den richtigen Bahnen hält. Der Moderator sollte keine
Prüfzuständigkeiten haben. Die Rolle des Moderators ist es, die Diskussion auszulösen, eine gleichmäßige Beteiligung
der Teilnehmer sicherzustellen und gespannte Situationen zu entschärfen. Dies ist eine Vollzeitaufgabe. Eine
ineffiziente Moderation hat zur Folge, dass sich Prüfungen in die Länge ziehen und ihre Ziele nicht erreichen.
Prüfungen sind am effektivsten, wenn sie kurz sind und sich auf klar definierte Zielsetzungen konzentrieren. Da es
schwierig ist, sich über lange Zeit hinweg zu konzentrieren, und weil die Prüfer auch noch andere Arbeiten zu erledigen
haben, sollten Prüfungen nicht länger als zwei Stunden dauern. Wenn erwartet wird, dass eine Prüfung länger dauert,
sollte sie auf mehrere kleinere und detaillierte Prüfungen aufgeteilt werden. Es werden bessere Ergebnisse erzielt,
wenn die Prüfer ihre Konzentration bewahren können.
Der Schlüssel hierfür sind eine klar definierte Agenda und klar formulierte Ziele. Agenda und Ziele müssen mit der
Verteilung der Prüfunterlagen kommuniziert werden, und der Moderator muss diese zu Beginn der Prüfbesprechung
bekräftigen. Während der Besprechung muss der Moderator die Ziele ständig (und machmal auch mit Nachdruck)
herausstreichen.
Einer der Hauptgründe, warum Prüfbesprechungen ihre beabsichtigten Ergebnisse nicht erzielen, ist der, dass sie dazu
neigen, in Diskussionen darüber abzugleiten, wie ein Problem gelöst werden sollte. Die Behebung von Problemen erfordert
in der Regel Untersuchungen und Reflexion. Das Format der Prüfung ist kein geeignetes Medium für diese Art von
Diskussion. Nachdem das Problem erkannt wurde, muss festgestellt werden, ob es sich um einen Mangel handelt, der
behoben werden muss. Wenn es sich um einen Mangel handelt, muss dieser jemandem zur Untersuchung und Behebung
zugeordnet werden. Die Prüfbesprechung sollte sich lediglich auf die Identifizierung von Problemen konzentrieren.
Wenn das Problem eine weitergehende Diskussion innerhalb einer Gruppe von Personen erfordern, beraumen Sie eine
separate Besprechung an, die sich auf genau dieses Thema konzentriert. In der Regel setzt eine solche Besprechung
gewisse Untersuchungen und Vorbereitung voraus, und die Personen mit dem entsprechenden Know-how müssen hinzugezogen
werden. Die Prüfung sollte sich im Weiteren auf die Identifizierung weiterer Probleme konzentrieren. Der Moderator muss
häufig erheblichen Willen aufbringen, um die Prüfbesprechung wieder in diese Bahn zu lenken.
Die Prüfung hat wenig Wert, wenn sie keine Ergebnisse liefert. Am Ende der Prüfung muss Folgendes getan werden:
-
Es müssen Prioritäten für die gefundenen Probleme vergeben werden.
-
Es müssen Mängel eingereicht werden, um die Probleme und ihre Behebung zu verfolgen.
-
Wenn zusätzliche Untersuchungen erforderlich sind, muss ein kleines Team für die Untersuchung (nicht die Lösung)
des Problems zugeordnet werden.
-
Für Probleme, die in der aktuellen Iteration gelöst werden können, muss eine Person oder ein Team zur
Problembehebung zugeordnet werden.
-
Die Liste nicht gelöster Probleme muss in künftige Iterationsplanungen aufgenommen werden.
Siehe auch [MCO97].
|