Die Phasen der Softwareentwicklung – This is how we do it

Von der Idee bis zur Umsetzung einer Software durchschreiten sowohl die Entwickler als auch der Kunde selbst verschiedene Phasen der Softwareentwicklung. Durch diese methodische Vorgehensweise wird gewährleistet, dass der Kunde am Ende eine individuell perfekt abgestimmte und top-performende Software erhält, mit der er langfristig zufrieden ist. Dabei hängen die genauen Phasen der Entwicklung stark vom jeweiligen Vorgehensmodell ab. In unserem Artikel über die Agile Softwareentwicklung haben wir schon einiges zum methodischen Vorgehen bei der Softwareentwicklung erklärt, nun möchten wir uns auf die Grundlagen bei den Phasen der Softwareentwicklung konzentrieren.

Beginnen wir mal ganz am Anfang

Zu Beginn einer jeden Softwareentwicklung stehen die Beteiligten. Das sind zum Einen der Anwender (also der Auftraggeber), der ein Problem in seinem Fachgebiet hat und sich durch den Einsatz von passender Software Hilfe und vor allem eine Lösung erhofft, und zum Anderen der Entwickler, der die gewünschte Software erstellt. Hier trifft man auch sogleich auf die erste Problemstellung bei der Erstellung von Software: Wie erhält man von der Problembeschreibung der Anwender die genauen Anforderungen, die der Software zu Grunde liegen? Um das Problem zu lösen, muss Folgendes gegeben sein:

  • Die Anwender müssen ihre Anforderungen kennen und genau formulieren.
  • Die Entwickler müssen diese Anforderungen verstehen und unter Umständen noch genauer beschreiben.
  • Die Entwickler überlegen sich eine – selbstverständlich möglichst hochwertige – Lösung der durch die Anforderungen gestellten Probleme.

Mitunter prallen schon mal Welten aufeinander, wenn die verschiedenen Vorstellungen von Entwicklern und Anwendern zusammenkommen. So kommt es nicht selten zu Kommunikationsproblemen, bei denen z. B. der Anwender/Auftraggeber nicht präzise formulieren kann, welche Anforderungen die gewünschte Software erfüllen muss. Außerdem können sich bestimmte Anforderungen im Laufe des Entwicklungsprozesses unvorhersehbar verändern – sei es aufgrund sich ändernder Märkte, Geschäftsbedingungen oder Gesetzesänderungen. Das führt uns zum Softwarelebenszyklus.

Der Softwarelebenszyklus – er gibt den Ton vor

Die Phasen der Softwareentwicklung umfassen einige zentrale Tätigkeiten:

  1. Analyse: Was genau soll die Software können, welche Anforderungen soll sie erfüllen?
  2. Entwurf: Vorschlag der Entwickler, wie genau die Anforderungen, die analysiert worden sind, umgesetzt werden sollen.
  3. Implementierung: Hier erfolgt die eigentliche Programmierung der Software.
  4. Test: Vor dem tatsächlichen Einsatz der Software muss sie einige Tests (z. B. zur Überprüfung von Funktionalität und Benutzerfreundlichkeit) durchlaufen.
  5. Inbetriebnahme/Auslieferung: Nun wird die Software an den Auftraggeber ausgeliefert und verwendet.
  6. Wartung: Nach erfolgreicher Inbetriebnahme können die Entwickler noch Änderungswünsche einarbeiten oder – was bei einer längeren Nutzungsdauer der Software vorkommen kann – die Migration der Software auf eine neue Systemumgebung vornehmen.

Um eine Tätigkeit zu beginnen, wird das Ergebnis der vorherigen Tätigkeit benötigt. Bei den genannten Tätigkeiten nimmt die Wartung statistisch gesehen ca. 70 Prozent des Gesamtaufwands bei den Phasen der Softwareentwicklung ein. Abhängig von der Größe des Projekts sind, wie bereits erwähnt, bestimmte Vorgehens- oder Prozessmodelle notwendig, die den Rahmen für die Softwareentwicklung festlegen. Neben der Agilen Softwareentwicklung, arbeiten wir bei Meta-Level außerdem noch mit dem Wasserfallmodell sowie dem Prototyping – Vorgehensmodelle, die wir noch in weiteren Blogartikeln vorstellen werden.

Falls Sie weitere Fragen oder Anliegen zum Thema haben, schreiben Sie uns gerne, wir freuen uns auf Ihre Nachricht!