Skip to content

Episode 14: Warum ein Detailkonzept erstellen?

In den letzten Episoden habe ich ein bisschen die Möglichkeiten der Anforderungsanalyse beschrieben. Was machen wir mit den Anforderungen, wenn sie in schriftlicher Form vorliegen? Wir müssen die Informationen bündeln und in eine Form bringen, die wir für die Umsetzung verwenden können.

Warum müssen wir so vorgehen?

Egal ob wir mit Extreme Programming oder mit dem Wasserfallmodell arbeiten, wir können die Anforderungen nicht einfach nur heruntertippen. Das heißt, können kann man schon. Aber dann kommt eine Software dabei heraus, die garantiert nicht erweiterbar und wartbar ist. Ich mußte einmal ein PHP-Projekt übernehmen, das direkt von den Anforderungen in Code geschrieben wurde. Das war eine tolle Erfahrung! In einer .php-Datei war Javascript, CSS, HTML, SQL und PHP-Code vereint. Für einen Prototypen, um schnell mal dem Kunden zu zeigen, wo die Reise hingehen soll, mag das so passen. Wenn wir später nur eine Änderung an der Datei vornehmen wollen geht es schief. Die Aufwände für die Weiterentwicklung steigen ins Unermessliche und am Ende muss alles neu geschrieben werden.

Was muss gemacht werden?

Um wirklich stabile Software erstellen zu können, muss die Software einer Systemarchitektur genügen. Die Architektur muss so ausgewählt werden, dass sie die Anforderungen abdecken kann. So muss eine Applikation, die für die Verarbeitung von Formulardaten erstellt wird, viele parallele Eingaben verarbeiten können. In einer Software für die Fahrtsteuerung eines  Autos muss vor allem die Realzeitanforderung abgedeckt werden. Es wäre ziemlich unangenehm, wenn das Auto erst die Wand durchschlägt und dann der Computer nachträglich das Lenkmanöver einleitet ;) Die Kundenanforderungen beschreiben das System von der Kundenseite aus. Das Detailkonzept beschreibt, wie das zu erstellende System die Kundenanforderungen abdecken wird. Eine 1:1 Abbildung wird es nicht geben. Der Zwischenschritt über das Detailkonzept ist notwendig. Über den Umfang des Detailkonzepts kann man streiten. Soll wirklich alles zuerst beschrieben und dann umgesetzt werden? Manchmal ist das nicht zielführend. Jedoch muss so viel beschrieben sein, dass eine abschließend definierte Softwarearchitektur vorhanden ist.
tweetbackcheck