Die Begriffe Softwareentwicklungsprozess und Software Development Life Cycle (SDLC) werden häufig synonym verwendet. Selbst wenn beide Begriffe in Google eingegeben werden, tauchen ähnliche Suchergebnisse auf.
Es gibt jedoch einen klaren Unterschied zwischen einem Lebenszyklus und einem Prozess, daher sollten auch die beiden Begrifflichkeiten nicht miteinander verwechselt oder gleichwertig behandelt werden. Die Verwendung der Begriffe im Kontext der Softwareentwicklung bildet hier keine Ausnahme.
Im folgenden Beitrag wird der Unterschied erklärt.
Dürfen wir Sie bei Ihrem nächsten Softwareentwicklungsprojekt unterstützen?
Flexible Modelle nach Maß!
Merriam-Webster definiert einen Prozess wie folgt:
„Eine Reihe von Aktionen oder Vorgängen, die auf ein Ergebnis hinarbeiten. Insbesondere: ein kontinuierlicher Betrieb oder Vorgang in der Herstellung.“
Ein Prozess besteht folglich aus einer Reihe von Aktionen, die in einer bestimmten Reihenfolge ausgeführt werden. Somit besteht der Softwareentwicklungsprozess aus Schritten, die zu einem Softwareprodukt führen. Openxcell beschreibt beispielsweise die Komponenten des Dokumentationsentwicklungsprozesses, der in der Design-Phase des SDLC durchgeführt wird, wie folgt:
Diese Schritte repräsentieren den Prozess der Dokumentationsentwicklung einer Software. Dies ist wiederum Teil des Design-Prozesses, zu dem ebenfalls Entscheidungen bzgl. Softwaresystem und Kerntechnologien zählen.
Merriam-Webster definiert einen Lebenszyklus wie folgt:
„Eine Reihe von Stadien, die während der Lebenszeit einer Sache durchlaufen werden (z.B. ein Individuum, Kultur oder ein Produkt).“
Ein Lebenszyklus besteht folglich aus Stufen oder Phasen. Die Phasen des Software Development Life Cycles variieren mit der Methodik des Softwareentwicklungsteams, aber die häufigsten SDLC Phasen lauten wie folgt:
Die Software, die sich durch diese Phasen bewegt, durchläuft einen Prozess auf Makroebene.
Im Unterschied zum SDLC beschreibt der Softwareentwicklungsprozess die einzelnen Schritte in Form von Ergebnissen in jeder Phase. Diese Schritte laufen vergleichsweise auf einer Mikroebene ab.
Beispielsweise gehören das Sprint Planning Meeting, tägliche Scrum Meetings, Impediment Logs, das Burndown Chart sowie das Sprint Retrospective Meeting alle zum Prozess innerhalb der Implement-, Review- und Retrospect-Phasen, die wiederum Teil des Scrum Development Life Cycles sind.
Wann gelingt IT Outsourcing?
(und wann nicht?)