Phasen der Software-Entwicklung in der Praxis

Wer (Wirtschafts-)Informatik studiert oder in Software-Entwicklungsprojekten gearbeitet hat weiß, dass es mehrere Phasen in der Software-Entwiclung gibt und dass diese nach verschiedenen Vorgehensmodellen abgehandelt werden.

Ein Vorgehensmodell ist eine Anleitung zur Software-Entwicklung. Es stellt die Rahmenbedingungen fest. In ihr sind Phasen definiert, die die Software durchläuft. Bekannte Vorgehensmodelle sind zum Beispiel das V-Modell, dass gerne von Unternehmen wie Accenture angewendet wird oder das RUP-Modell, bei dem in Iterationen entwickelt wird.

Welche Phasen der Software-Entwicklung gibt es?

Grundsätzlich kann man grob folgende Phasen der Software-Entwicklung definieren:

  • Konzeption/Design
  • Programmierung
  • Test

Natürlich lassen sich diese Phasen wieter detaillieren und vor- sowie nachgelagerte Phasen wie Anforderungsaufnahme oder Endabnahme durch den Kunden bestimmen.

Prozentuale Verteilung der Phasen in der Software-Entwicklung

Jeder Projektleiter wird auf die Frage, wie viel Aufwand die jeweilige Phase in der Software-Entwicklung in Anspruch nimmt, unterschiedlich antworten.

Wenn ich hierzu gefragt werde, gebe ich den prozentualen Anteil wie folgt an:

  • Design – 40%
  • Programmierung – 30%
  • Test – 30%

Dementsprechend kann beispielsweise auch das Budget verteilt werden. Es wird sicherlich andere geben, die die Anteile bei 40-20-40 oder 40-40-20 sehen. Aus eigener Erfahrung kann ich sagen, dass eine gute durchgeführte Konzeptionsphase mit Reviews und Tests der Dokumente die Basis für die folgenden Phasen ist. Sie sollte daher nicht unter 40% des Aufwands ausmachen.

Software absichern

Software kann für Unternehmen überlebenswichtig sein. Sie enthält sensible Daten, die das Fortbestehen des Unterfangens gewährleisten. Wird diese von Fremdfirmen erstellt, muss sichergestellt werden, dass die Software auch nach einem eventuellen Ableben dieser Entwicklungsfirma noch zur Verfügung steht.

Eine solche Software-Absicherung geschieht mit einem Software-Escrow. Einem Service, bei dem der Code einer Software bei einer Art Treuhandgesellschaft hinterlegt wird. Die NCC Group bietet beispielsweise solche Escrow-Services an.

Alternative zur Software-Entwicklung

Die Vereinbarung mit einem externen Software-Entwickler kann so aussehen, dass der Code ausgehändigt und das interne Personal geschult wird. Der Vertrag kann aber auch Wartung und Pflege des Systems beinhalten.

Jedes Unternehmen, das eine Software benötigt, steht am Anfang vor der Entscheidung, ob es eine individuelle Software entwickeln lässt. Die Alternative dazu ist die Einführung einer Out-of-the-Box Software mit einer eventuellen Anpassung (Customization).

Ein Kommentar

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.