Eine wichtige Aufgabe des Requirements Engineers ist die Erstellung und Pflege der Systemspezifikation. Er leitet dazu Kundenanforderungen ab, spezifiziert diese auf einem angemessenen Abstraktionsniveau und bietet dadurch eine solide Arbeitsgrundlage für nachfolgende Entwicklungsaktivitäten, z.B. die Softwareentwicklung. Doch woher weiß der Requirements Engineer eigentlich, was der Kunde wirklich will?

In einem perfekten Entwicklungsprojekt würden Kundenanforderungen alle Qualitätskriterien erfüllen – sie wären eindeutig, verständlich, widerspruchsfrei, vollständig, atomar usw. Die Realität sieht jedoch oftmals anders aus, Lastenhefte liegen dem verantwortlichen Spezifikateur leider viel zu oft in nur schlechter Qualität vor.

Zwei Extreme kommen häufig vor:

1)    Das Lastenheft ist so dünn wie ein Werbeflyer oder

2)    das Lastenheft hat den Umfang einer kleinen Enzyklopädie.

Wenn das Lastenheft nur einen sehr geringen Umfang hat, steht der Spezifikateur vor dem Problem, dass das zu entwickelnde Produkt nicht annähernd vollständig spezifiziert ist. Er wird, möglicherweise unbewusst, Annahmen treffen – dies führt jedoch eventuell nicht zu dem Produkt, was im Kopf des Kunden existiert.

Andererseits kommt es auch häufig vor, dass ein zu entwickelndes Produkt vollkommen überspezifiziert ist. Möglicherweise enthält das Lastenheft dann bereits große Lösungsanteile und schränkt den Entwickler unnötig ein. Ein ebenfalls großes Problem ist, dass umfangreiche Dokumente meist von mehreren Personen erstellt werden und in vielen Fällen Widersprüche enthalten.

In beiden Fällen kommt es häufig vor, dass die vorhandenen Anforderungen nicht eindeutig sind und dadurch Interpretationsspielraum zulassen.

Aber: Haben die Lastenhefte weniger Gültigkeit, nur weil die Qualität der enthaltenen Anforderungen schlecht ist? Natürlich nicht! Es ist nun die Aufgabe des Requirements Engineers, sich als „Kundenflüsterer“ zu betätigen und zu erfahren, welches Produkt für den Kunden entwickelt werden soll. Damit er diese Aufgabe bewältigen kann, ist eine Kernkompetenz des Requirements Engineers, qualitativ hochwertige Anforderungen zu erkennen bzw. diese erstellen zu können.

Dabei ist es egal, ob die Abstimmungen per Email, Telefonkonferenz, Austausch von kommentierten Anforderungsdokumenten oder bei persönlichen Treffen erfolgen. Letztendlich zählt nur, dass die in der Systemspezifikation enthaltenen Anforderungen mit dem Kunden abgestimmt wurden und eine hohe Qualität aufweisen – denn nur so kann gewährleistet werden, dass der Kunde am Ende der Entwicklung das Produkt in Händen hält, was er ursprünglich haben wollte.

Wenn Sie mehr darüber erfahren wollen, wie Sie selbst ein besseres Gespür für die Qualität von Anforderungen bekommen können bzw. wie Sie diese besser schreiben können, empfehle ich Ihnen unseren Kurs Textuelle Anforderungen gut und effizient formulieren.