Vorgehensmodelle
Einführung
Aufgrund stetig zunehmender Komplexität der Software gewinnt das Thema Vorgehensmodelle in der Softwareentwicklung zunehmend an Bedeutung.
Zu Beginn der Zeit der Softwareentwicklung wurden Programme hauptsächlich nach dem "Code and Fix" Prinzip erstellt.
Ziele: Projekt planbar machen und somit die Software-Qualität gewährleisten
Klassische Vorgehensmodelle (z. B. Wasserfallmodell, V-Modell)
Ablauf: Linear und sequenziell – Phasen wie Anforderungsanalyse, Planung, Umsetzung, Test und Wartung folgen strikt aufeinander.
Merkmale:
- Feste Abläufe und Meilensteine
- Frühzeitige, vollständige Planung
- Änderungen sind später schwierig
- Klare Dokumentation und Rollenverteilung
Geeignet für: Projekte mit klaren, stabilen Anforderungen
Agile Vorgehensmodelle (z. B. Scrum, Kanban)
Ablauf: Iterativ und inkrementell – das Projekt wird in kurzen Zyklen (Sprints) entwickelt.
Merkmale:
- Flexibel, anpassbar an Veränderungen
- Enge Zusammenarbeit im Team und mit dem Kunden
- Laufende Lieferung von funktionsfähigen Teilprodukten
- Kaum oder wenig Bürokratie, Fokus auf funktionierende Ergebnisse
Geeignet für: Dynamische Projekte mit sich ändernden Anforderungen
Wasserfallmodell
Bei diesem sequentiellen Vorgehensmodell ist der Entwicklungsprozess in aufeinanderfolgenden Phasen organisiert: Analyse, Entwurf, Codierung, Test, Installation, Wartung. Dabei wird jede einzelne Phase stark dokumentiert.
Sobald die vorhergehende Stufe beendet wird, beginnt die nächste, die auf konkreten Ergebnissen der vorherigen Phase basiert.
Deshalb gibt es keine Möglichkeit, beispielsweise, Softwareanforderungen während der Entwicklungsphase neu zu bewerten.
Es ist auch unmöglich, die fertige Software zu sehen und zu testen, bis die letzte Entwicklungsstufe vollständig abgeschlossen ist, was zu hohen Projektrisiken und unvorhersehbaren Ergebnissen führt.
Deshalb werden Fehler nur am Ende des Projektes in der Testphase gefunden.
Deren umgehende Behebung erfordert einen größeren Aufwand und führt zu steigenden Gesamtkosten.
BILD
Anwendungsbereiche
Einfache kleine oder mittelgroße Softwareprojekte mit klar definierten und unveränderlichen Anforderungen (Entwicklung einer Website für kleine Unternehmen).
Projekte, bei denen ein bekanntes Technologie-Stack und Tools zum Einsatz kommen.
SCRUM
Scrum ist eine der beliebtesten agilen Entwicklungsmethoden.
Die Projektlaufzeit wird in kurze Iterationen (Sprints) aufgeteilt.
Jede Iteration (Sprint) beginnt mit sorgfältiger Planung.
Der Sprint endet mit einer Sprint-Retrospektive, bei der der vorherige Sprint analysiert und bewertet wird.
Der nächste Sprint baut auf den Ergebnissen des vorherigen Sprints auf (z. B. Kundenfeedback, neue Anforderungen).
Eine Iteration dauert üblicherweise 2 bis 4 Wochen.
Nachdem die Aktivitäten für den Sprint festgelegt sind, können keine Änderungen vorgenommen werden.
BILD
Anwendungsbereiche:
Praktisch alle Startup-Initiativen, bei denen ein frühzeitiges Feedback der Endbenutzer erforderlich ist.
Die meisten mittelgroßen Projekte im Rahmen der individuellen Softwareentwicklung, bei denen detaillierte Softwareanforderungen auf Geschäftsanforderungen basieren.
Große Projekte, die einfach in kleinere Teile zerlegt und schrittweise umgesetzt werden können.