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.
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:
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.
Die Phasen der Softwareentwicklung umfassen einige zentrale Tätigkeiten:
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!