../../icons/Logo.png

Klassische Softwareentwicklung

Klassische Vorgehensweisen sollen Softwareentwicklung deterministisch gestalten.

  • Spezifikationen werden früh festgelegt
  • Der Zeitrahmen ist vorgegeben
  • Das Budget ist vorgeben
  • Der Verlauf ist vorgeben

Diese deterministischen Ziele werden in verschiedener Weise modelliert. Das Wasserfallmodell kann als das Extremum der deterministischen Auslegung ansehen werden. Ein Beispiel einer flexiblen Gestaltung ist der Rational Unified Process (RUP). Das V-Modell soll einen flexiblen Rahmen für deterministische Softwareentwicklung bilden.

Den klassischen Vorgehensweisen hängt an, dass viele Projekte mit klassischem Verlauf die an sie gestellten Erwartungen nicht erfüllen konnten oder gar gescheitert sind. Die meisten dieser Projekte waren sehr umfangreich mit geplanten Laufzeiten über mehrere Jahre. Fatal hat sich in diesem Zusammenhang die Anwendung des Wasserfallmodells erwiesen - vielfach gar als lineares Modell.

Dass die lineare Auslegung des Wasserfallmodells fast auf der ganzen Linie versagt hat, wird immer wieder als Argument gebraucht, um die Vorteile agiler Vorgehensweisen zu betonen. Eine interessante Diskussion dieser Problematik und der historischen Hintergründe sind bei Berry Boehm: "Das Software-Engineering im 20. und 21. Jahrhundert" [4] zu finden.

Es gibt eine Reihe von Modellen, die auf die Problematik klassischer Entwicklung reagieren:

  • Bereits 1970 stellte Winston W. Royce [5] zwar das Wasserfallmodell vor, hielt es aber für völlig ungeeignet und hat zyklische Vorgehensweisen vorgeschlagen.
  • Ein Fortschritt war das Spiralmodell von Berry Boehm [6].
  • Daraus wurde der Rational Unified Process (RUP) [7] weiter entwickelt.
  • Das deutsche V-Modell [8] ist ein weiterer Ansatz, umfangreiche Softwareprojekte in den Griff zu bekommen.
  • Mit den V-Modell XP [9] soll das bisherige V-Modell entschlackt und agiler werden.

Bei kleinen Projekten wirken sich ungeeignete Vorgehensweisen meistens nicht verheerend aus. Große Softwareprojekte sind vergleichbar mit großen Bauprojekten. Bei beiden wirkt sich eine rigide, deterministische Planung bei oder gar vor Projektbeginn fatal auf den Verlauf aus. Einige aktuelle Bauprojekte sprechen für sich.

Obwohl es durchaus immanente Probleme in der klassischen Vorgehensweise der Softwareentwicklung gibt, entstehen viele Probleme durch die Unterschätzung paralleler Entwicklung. Darauf wird in Problematik der Softwareentwicklung eingegangen.

Referenzen

[4]
Berry Boehm: Das Software-Engineering im 20. und 21. Jahrhundert, ObjektSpektrum 6, 2008
[5]
Royce, Winston W.: Managing The Development Of Large Software Systems, Proc, IEEE WESCON, 1970, 1-9. Reprinted in Proceedings of the Ninth International Conference on Software Engineering, 1987, pp. 328-338.
[6]
B.W. Boehm: The Spiral Model of Software Development and Enhancement. IEEE Computer 21:5, 61-72, 1988