Bei kleinen Softwareprojekten kommt man mit einem einzelnen Anforderungsdokument aus, welches nicht nur die fachlichen Anforderungen beschreibt und spezifiziert sondern auch die notwendigen Vorgaben für die technische Umsetzung enthält. Wird die Anforderung komplexer, zerlegt man die Dokumente, die der Umsetzung voraus gehen, in ein Fachkonzept und ein DV-Konzept, und wenn das Projekt sehr groß ist, dann kann auf die Anforderungs-Dokumentation ein Fach-Grobkonzept und ein Fach-Feinkonzept folgen, aus dem eine technische Grobspezifikation und eine Detailspezifikation abgeleitet werden.
Welche Variante angemessen ist, wie man das entscheidet und wie man die Verantwortlichkeiten verteilt, mit diesen Fragen könnte allein ein tägliches Blog betrieben werden, heute soll es aber nur um eine einzelne Detailfrage gehen: Wie kann man, wenn man es mit vielen verschiedenen Anforderer-Gruppen zu tun hat, die Fachkonzeption in zwei Schritte zerlegen?
Nehmen wir also an, Sie wollen ein neues System entwickeln (oder ein bestehendes großes System weiter entwickeln) bei dem aus verschiedenen Richtungen (Fachbereiche, Anwendergruppen) Anforderungen eingehen. Diese Anforderungen werden im Allgemeinen sehr unterschiedlich sein. Dann ist es nicht sinnvoll, alle Anforderungen in einem einzigen Dokument zu spezifizieren.
In der ersten Stufe der Fachspezifikation werden Sie also für jede Anforderung ein gesondertes Dokument erstellen – eine Anforderung kann hier natürlich relativ komplex sein und aus mehreren abhängigen Teilanforderungen bestehen. Das hat viele Vorteile bei der Kommunikation mit den Fachseiten und der Abnahme der Anforderungen durch die fachlichen Stakeholder, wie auch bei der Erstellung der Testfälle und der Durchführung der Abnahmetests. Auch die Releasezuordung und Bündelung ist auf diese Weise einfach zu organisieren.
In der zweiten Stufe der Fachspezifikation werden dann die Einzelanforderungen konsolidiert. hier ist es sinnvoll, bereits über ein abstraktes fachlich-logisches Anforderungsmodell zu verfügen. Dieses beantwortet folgende Fragen:
Welche Komponenten und Schichten soll das System haben?
Welche Business-Objekte werden implementiert und welche Attribute haben diese?
Den Bestandteilen dieses Modells werden die fachlichen Anforderungen zugeordnet – sie werden an den Modell-Komponenten und den Entitäten des Business-Objektmodells konsolidiert. Deshalb ist diese Stufe der fachlichen Spezifikation auch sozusagen ein halber Schritt in Richtung technischer Spezifikation: Das System wird bereits beschrieben, auch hinsichtlich seines Aufbaus, aber in fachlich-logischer Sprache. Damit werden Zusammenhänge und implizite Abhängigkeiten zwischen Anforderungen gefunden und hinsichtlich ihrer Konsequenzen bewertet.
An diese zweite Phase der fachlichen Spezifikation schließt sich die eigentliche technische Spezifikation an.
Man sieht, dass diese zweistufige Fachspezifikation mit den Begriffen Fach-Grobkonzept und Fach-Feinkonzept nur unzureichend beschrieben ist. Der Detaillierungsgrad bleibt nämlich nahezu unverändert – was sich ändert, ist die Perspektive: Sie bewegt sich von der Spezifikation der (komplexen) Einzelanforderung hin zur fachlich-logischen Spezifikation des Systems. Sinnvoll ist dieses Verfahren wie gesagt immer, wenn ein System für eine relativ große Zahl sehr unterschiedlicher Anforderer erstellt werden soll.