Was ist der Softwareentwicklungsprozess und wo liegt der Unterschied zum SDLC?

EIN PROZESS UND EIN LEBENSZYKLUS SIND NICHT DASSELBE, WERDEN JEDOCH IM KONTEXT DER SOFTWAREENTWICKLUNG OFTMALS VERWECHSELT. WIR ERKLÄREN DEN UNTERSCHIED

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.

Was ist ein Softwareentwicklungsprozess?

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:

  • Schreiben Sie umfassende und leicht verständliche Dokumente ohne redundante Informationen.
  • Entwickeln Sie ein organisiertes Dokument-Repository für kritische Projektinformationen, sodass das Entwicklungsteam auf Projektdokumente und andere Ergebnisse von allen Lebenszyklus-Phasen Zugriff hat und diese aufbewahren und verwalten kann.
  • Implementieren Sie periodische Bewertungen, um Ungenauigkeiten, Ambivalenzen und Unvollständigkeiten zu korrigieren.
  • Nutzen Sie verfügbare Sample-Templates, da Agenturen die Ergebnisse in verschiedenen Formaten im Regelfall akzeptieren, solange alle erforderlichen Informationen vorhanden sind. Die Ergebnisse können je nach Größe, Umfang und Komplexität variieren.
  • Recyceln oder beziehen Sie sich auf Informationen aus früheren Dokumenten, wenn dies möglich und vorteilhaft ist.

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.

Was ist ein Software Development Life Cycle?

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:

  1. Planung und Analyse
  2. Design
  3. Entwicklung
  4. Test
  5. Bereitstellung
  6. Wartung

Phases of the software development life cycle infographic-1

Die Software, die sich durch diese Phasen bewegt, durchläuft einen Prozess auf Makroebene.

Der Softwareentwicklungsprozess besteht aus einer Reihe von Schritten in Richtung gewünschter Ergebnisse

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.

Steps in the software development process of a Scrum sprint

Ausgewählte Blogbeiträge