Suchen

Systemdesign Anforderungsspezifikationen auf dem Prüfstand

| Autor / Redakteur: Thorsten Cziharz, Chris Rupp * / Franz Graser

Wie gut sind die Spezifikationen für ein Softwareprojekt? Es ist möglich, die Qualität der Spezifikationen nachzuweisen und in Kennzahlen zu gießen, um sie bei Bedarf weiter optimieren zu können.

Firmen zum Thema

Der Zollstock als Messgröße: Für die Messung räumlicher Entfernungen sind Meterstäbe gut geeignet. Wie lässt sich aber die Qualität von Anforderungsspezifikationen feststellen?
Der Zollstock als Messgröße: Für die Messung räumlicher Entfernungen sind Meterstäbe gut geeignet. Wie lässt sich aber die Qualität von Anforderungsspezifikationen feststellen?
(Bild: Clipdealer)

Welchen Reifegrad hat Ihre Anforderungsspezifikation denn aktuell?“ … Lassen Sie mich raten… Sie wissen es nicht? In Anbetracht der Tatsache, dass die Qualität Ihrer Anforderungs-spezifikation starken Einfluss auf die Qualität Ihres zu entwickelnden Produktes hat, kann diese Unwissenheit durchaus schwerwiegende Folgen haben. Mit der hier vorgestellten Methode der Qualitätsmetriken für Anforderungsspezifikationen ermöglichen wir es Ihnen die Qualität Ihrer Spezifikationen nachzuweisen und in Kennzahlen zu fassen, um sie nachhaltig auf das gewünschte Optimum zu bringen.

Lohnen sich Investitionen ins Requirements Engineering?

Die Methoden des Requirements Engineering haben sich aufgrund ihrer Bedeutung für die Produktentwicklung bis dato langsam, aber kontinuierlich verbreitet. Viele Unternehmen gehen dazu über, größere Budgets für Erhebung, Dokumentation und Management von Anforderungen für ihre Projekte bereitzustellen und somit in das unternehmenseigene Requirements Engineering zu investieren.

Allerdings lässt sich bisher nicht beziffern, in welchem Maße sich solche Investitionen auch tatsächlich positiv auf die Qualität der entwickelten Anforderungsspezifikationen auswirken. Denn wie für alle Disziplinen Ihres Unternehmens gilt auch für das Requirements Engineering: „RE muss sich rentie-ren.“

Aktuell wird die Qualität von Spezifikationen nur sehr selten mit Hilfe von Inspektionstechniken wie Stellungnahmen oder Walkthroughs überprüft. Diese Techniken basieren auf dem Prinzip, einzelne Fehler in einer Spezifikation aufzudecken, um sie kurzfristig beheben zu können. Allerdings helfen Ihnen diese Techniken nicht dabei, wiederkehrende Probleme aufzudecken. Doch gerade die Behebung dieser langfristigen Probleme optimiert die Qualität Ihres gesamten Requirements Engineerings nachhaltig. Das Verfahren der Qualitätsmetriken für Anforderungsspezifikationen ermöglicht, genau diese Probleme zu erkennen und liefert die Chance, ihnen entgegenzuwirken.

Ein weiterer, entscheidender Vorteil von Qualitätsmetriken ist die transparente, managementgerechte Darstellung der Qualität einer betrachteten Spezifikation. Am Ende jeder Qualitätsmessung erhalten Sie eine Kennzahl – und Manager lieben Zahlen. Damit gehören vage Schätzungen und Aussagen wie „Wir sind auf einem ganz guten Weg“ der Vergangenheit an.

Sehen wir uns dazu einige Beispielanforderungen an: Anforderung 1: Nach einem Systemabsturz muss das System binnen drei Sekunden einen Neustart initiieren. Anforderung 2: Falls ein Fehler auftritt, muss das System dem Benutzer den Fehlercode und die Fehlermeldung auf dem Bildschirm anzeigen. Vielleicht überrascht Sie folgendes Ergebnis: Die erste Anforderung mag Ihnen auf den ersten Blick vielleicht gar nicht allzu schlecht erschienen sein. Sie ist sie unserer Ansicht nach aber. (Es sei denn, Sie haben die Begriffe „Systemabsturz“ und „Neustart“ ausführlich in ihrem Glossar definiert.) Der Grund dafür hat mit den verwendeten Begrifflichkeiten zu tun.

Nominalisierungen vernichten Informationen

Sprachwissenschaftler bezeichnen derartige Begriffe als Nominalisierung. Eine Nominalisierung ist ein Wort, das einen komplexen Sachverhalt (meist einen Prozess) in einen Begriff zusammenfasst und dabei eine ganze Menge relevanter Informationen vernichtet.

Beim Begriff „Neustart“ werden beispielsweise die Informationen darüber vernichtet, wer das System unter welchen Bedingungen neu startet, was während dieses Prozesses alles geschehen kann und wie der Prozess endet. Auch der Begriff Systemabsturz ist eine Nominalisierung. Auch hier werden eine Menge vielleicht relevanter Informationen eliminiert. So könnte es beispielsweise wichtig sein, ob nur die Applikation, die Datenbank, das Betriebssystem, oder alles zusammen abgestürzt ist. Vermutlich ist das weitere Vorgehen beim Neustart von diesen verschluckten Details signifikant abhängig. Die zweite Anforderung hingegen beinhaltet keinen Nominalisierungsdefekt.

Definition: Nominalisierungen sind Substantive (Nomen, Hauptwörter), durch die komplexe Prozesse in einem Begriff (einem „substantivierten Verb“) zusammengefasst werden, die im Detail zu aufwändig zu beschreiben wären. Durch diese Umwandlung gehen wichtige Informationen verloren, die für die Beschreibung des Prozesses wesentlich sind.

Nominalisierungen verschlechtern die Eindeutigkeit einer Spezifikation da sie Interpretationsspielraum bezüglich des versteckten Prozesses eröffnen. Daher sollten sie gemessen und verhindert werden. Doch wie messen wir nun die Qualität einer ganzen Spezifikation bezüglich dieses Aspektes?

Formel 1: Die Eindeutigkeit der Nominalisierungen in Anforderungstexten ist ein wichtiges Kriterium für die Qualitätsbestimmung.
Formel 1: Die Eindeutigkeit der Nominalisierungen in Anforderungstexten ist ein wichtiges Kriterium für die Qualitätsbestimmung.
(Quelle: Sophist)

Anhand der Formel 1 lässt sich das Prinzip von Qualitätsmetriken für Anforderungsspezifikationen wohl am besten erläutern. In ihrem Grundsatz ist eine Qualitätsmetrik dazu da, eine Aussage darüber zu treffen, in welchem Maße Ihre vorgegebenen Kriterien für qualitativ hochwertige Anforderungen von Ihrer Spezifikation tatsächlich eingehalten werden.

Definition: Eine Qualitätsmetrik für Anforderungsspezifikationen ist eine Funktion, die die Qualität von Anforderungen für die Projektbeteiligten messbar macht. Sie drückt den aktuellen Qualitätsstand einer Menge von Anforderungen mittels konkreter Vorgaben in Kennzahlen aus. Mit einer Metrik kann die Einhaltung eines Qualitätskriteriums objektiv geprüft und nachgewiesen werden. [Rupp, 2009].

Wie sieht die obige Formel 1 jetzt anhand unseres obigen Spezifikationsausschnittes aus? Betrachten wir unsere Beispielanforderungen und tragen die ermittelten Werte in die Formel ein, dann errechnen wir einen Wert von 50 Prozent (siehe Formel 2).

Formel 2: Die in den Beispielanforderungen ermittelten Werte (1 Nominalisierungsdefekt bei zwei Anforderungen) ergeben, in die Formel 1 eingesetzt, den Wert 50 Prozent.
Formel 2: Die in den Beispielanforderungen ermittelten Werte (1 Nominalisierungsdefekt bei zwei Anforderungen) ergeben, in die Formel 1 eingesetzt, den Wert 50 Prozent.
(Quelle: Sophist)

Doch diese errechnete Kennzahl stellt nur eine Momentaufnahme der Qualität der betrachteten Spezifikation dar. Wie eingangs erwähnt, wollen wir aber langfristige Probleme in der Erstellung Ihrer Anforderungsspezifikation aufdecken und nachhaltig beheben. Dies ist nur dann möglich, wenn dieses Qualitätsmessverfahren in einen kontinuierlichen Prozess integriert wird.

Grafik 1: Verlauf der Spezifikationsqualität
Grafik 1: Verlauf der Spezifikationsqualität
(Quelle: Sophist)

Denn dadurch ermöglichen Sie es sich, die Qualität Ihrer Anforderungsspezifikation zu tracken. Die Grafik 1 zeigt den Qualitätsverlauf der betrachteten Spezifikation bezüglich des Defekts der Nominalisierung mit dem aktuell gemessenen Wert von 50 Prozent. Die drei horizontalen Linien der Grafik dienen zur Einschätzung der gemessenen Werte. Die blaue Linie ist hierbei der gewünschte Optimalwert – und ja, dieser liegt unter Betrachtung des Kosten-Nutzen-Verhältnisses nicht zwingend bei 100%. Die beiden schwarzen Linien werden im Allgemeinen als Eingriffsgrenzen bezeichnet. Sie sind ein Indikator dafür, Maßnahmen zu ergreifen, um die Qualität der Spezifikation zu regeln.

So lassen sich Anforderungen korrekt bewerten

Aber was benötigen Sie außer dem Gezeigten nun alles, um Ihre Spezifikation einer derartigen Prüfung zu unterziehen? Eine detaillierte Beschreibung des zu untersuchenden Qualitätsaspektes und eine konkrete Vorgabe für die Bewertung einer Anforderung hinsichtlich dieses Aspektes ist essentiell, um sicherzustellen, dass auch unterschiedliche Prüfer zu einem identischen Ergebnis kommen. Die Verwendung einer solchen Prüfvorschrift sichert die Objektivität dieses Prüfverfahrens.

Hier ein Auszug einer Prüfvorschrift für den vorgestellten Qualitätsaspekt „Verwendung von Nominalisierungen“: Analysieren Sie jede verwendete Nominalisierung und prüfen Sie, ob der beinhaltete Prozess an anderer Stelle im Anforderungsdokument ausreichend spezifiziert ist.

Bewertung der Anforderungen:

  • Enthält die betrachtete Anforderung entweder keine Nominalisierung oder ausschließlich solche, deren Prozess an einer anderen Stelle im Anforderungsdokument bereits ausreichend spezifiziert ist, weist die betrachtete Anforderung keinen Nominalisierungsdefekt auf. Sie ist als „gute Anforderung“ hinsichtlich des Aspektes „Verwendung von Nominalisierungen“ zu bewerten.
  • Enthält die betrachtete Anforderung mindestens eine Nominalisierung, deren beinhalteter Prozess an keiner weiteren Stelle im Anforderungsdokument ausreichend spezifiziert ist, weist die betrachtete Anforderung einen Nominalisierungsdefekt auf. Sie ist als „schlechte Anforderung“ hinsichtlich des Aspektes „Verwendung von Nominalisierungen“ zu bewerten.

Zu den bereits gezeigten Schritten einer solchen Qualitätsmessung kommt noch eine ganze Reihe an Schritten für die Einführung, die Vorbereitung und die Nachbereitung einer solchen Qualitätsmessung Dies war nun die stark vereinfachte Variante dieses Verfahrens mit dem Ziel, Ihnen eine erste Metrik zu zeigen, die zumindest teilweise eines der Qualitätskriterien überprüft. Um ein derartiges Qualitätsmessverfahren in einem Unternehmen einzusetzen, müssen Sie noch vieles tun. Sie müssen beispielsweise geeignete Prüfer auswählen, Ziele für die Qualität Ihrer Spezifikation festlegen, um einen Soll-Ist-Vergleich zu ermöglichen, geeignete Maßnahmen festlegen, die ergriffen werden, wenn Ihre Spezifikation zu schlecht abschneidet, sich auf die Metriken einigen, die für die Qualität ihrer Spezifikation wichtig sind.

Metriken für weitere Qualitätskriterien

Weitere Informationen zu diesen Prozessschritten finden Sie in unserer Blogserie „Nur qualitativ hochwertige Anforderungen erzeugen hochwertige Produkte“.

Zum Abschluss die wohl am häufigsten gestellte Frage zum Verfahren der Qualitätsmetriken für Anforderungen: Welche weiteren Qualitätsmetriken gibt es denn?

Grafik 2: Verbreitete Qualitätskriterien für Anforderungsspezifikationen
Grafik 2: Verbreitete Qualitätskriterien für Anforderungsspezifikationen
(Quelle: Sophist)

Einen guten Anhaltspunkt dafür liefert Ihnen sicherlich unsere Aufstellung der gängigen Qualitätskriterien für Anforderungsspezifikationen in der Grafik 2. Für jedes dieser Qualitätskriterien kann es eine oder mehrere Metriken geben.

Doch letztendlich lässt sich diese Frage nur mit einer Gegenfrage beantworten, die Ihnen als Denkanstoß dienen soll. Sie lautet: Welche Aspekte sind für Ihre Anforderungsspezifikation wichtig, um den Grundstein dafür zu legen, Ihr Projekt, mit all seinen Einflussfaktoren zu einem, erfolgreich abschließen zu können?

* Chris Rupp ist Geschäftsführerin und Chefberaterin und Trainerin des Nürnberger IT-Beratungshauses Sophist.

* Thorsten Cziharz ist Berater, Trainer und Qualitätsmanager bei Sophist. Zu seinen Aufgaben gehört die Unterstützung von Kunden bei ihren Systemanalysen.

(ID:42251932)