Kalkulieren statt schätzen

16.02.2006
Von Robert Hürten
Softwareprojekte scheitern, weil die Anforderungen der Anwender unzureichend ermittelt werden. Außerdem lernen die Entwickler zu wenig aus vergangenen Fehlern.

In der Fachliteratur wird immer noch unwidersprochen behauptet, dass die Mehrzahl aller Softwareprojekte die geschätzten Kosten und Termine überzieht oder innerhalb der vorgesehenen Zeit nicht die vereinbarten Ergebnisse liefert. Begründet wird diese missliche Situation zum einen damit, dass Softwareerstellung ein kreativer und kaum kalkulierbarer Akt sei. Außerdem fehle es angesichts enger Terminvorgaben an der Zeit für eine aufwändige Detaillierung der Anwenderanforderungen.

Hier lesen Sie ...

  • wie sich durch sorgfältige Anforderungsanalyse die Qualität der Softwareentwicklung steigern lässt;

  • warum Kalkulation und Nachkalkulation für weitere Projekte wichtig sind;

  • welche Regeln bei der Aufnahme der Anforderungen einzuhalten sind.

Bei der Softwareentwicklung geht es aber im Wesentlichen darum, reale Vorgänge, Regeln und Zustände exakt abzubilden sowie den Computer anzuweisen, eine bestimmte, vorgegebene Arbeitsfolge auszuführen. Etwas abzubilden ist mit Sicherheit kein kreativer Akt. Ein Photoapparat oder ein Scanner kann das besser als jeder Maler. Kreativ ist allenfalls die Gestaltung neuer Vorgänge. Wenn aber zum Beispiel eine Fakturierung vom Postversand auf E-Mail umgestellt wird, so hat sich an dem zugrunde liegenden realen Vorgang des Waren-/Geldtauschs nichts verändert. Lediglich das technische Transportmittel ist ein anderes.

Das Resultat-Gruppen-Element Liefermenge

Resultat- Gruppen- Medium

Resultat- Gruppe

Resultat- Gruppen- Element

Formel

Quell- Gruppen- Element

Quell- Gruppe

Quell- Gruppen- Medium

Drucker

Lieferschein

Liefermenge

Liefermenge = Bestellmenge, wenn Lagermenge >= Bestellmenge

Bestellmenge

Erfassung

Terminal

-

-

-

Liefermenge = Lagermenge, wenn Lagermenge < Bestellmenge

Artikelnummer

Erfassung

Terminal

-

-

-

-

Lagermenge

Lager

Datei

Das Umsetzen einer vorliegenden Beschreibung in eine ablauffähige Befehlsfolge ist mit der Tätigkeit eines Übersetzers zu vergleichen. Diese zu automatisieren scheiterte bisher daran, dass man sich zur Beschreibung des Abbilds nicht auf eine einheitliche Grammatik, Syntax und Semantik einigen konnte. Auf der Seite der Computer ist man mit Compilern und Generatoren der Automatisierung sehr nahe gekommen. Solange jedoch für zu übersetzende Sprachen keine eindeutigen Regeln festgelegt sind, ist eine automatische Übersetzung unmöglich.