Definition „Software Development Life Cycle“

Was ist der SDLC?

| Autor / Redakteur: HJL / Stephan Augsten

Der SDLC beschreibt den Lebenszyklus eines Software-Produkts von der Schöpfung bis hin zum Einstellen aller Aktivitäten.
Der SDLC beschreibt den Lebenszyklus eines Software-Produkts von der Schöpfung bis hin zum Einstellen aller Aktivitäten. (© Asha Sreenivas - stock.adobe.com)

Der Software Development Life Cycle, kurz SDLC, beschreibt den Lebenszyklus eines Software-Produkts von der Schöpfung bis hin zum Einstellen aller Aktivitäten. Gerne nutzt das Software Engineering in Anlehnung an die menschliche Genesis die Formel „Von der Wiege bis zur Bahre“.

Dem Software Engineering, das heißt, der Softwaretechnik, obliegt die Aufgabe der Software-Herstellung. Dieser Prozess umfasst die Konzeption, Entwicklung und Inbetriebnahme von Softwareprodukten.

Komplexe Software-Anwendungen stellen hohe Anforderungen an Entwicklung und Betreuung. Eine wesentliche Grundvoraussetzung für die Herstellung einer lösungsorientierten, praxisgerechten Applikation ist die arbeitsteilige Vorgehensweise. Deshalb sind am Schöpfungsprozess Experten aus unterschiedlichen Disziplinen beteiligt. Maßgebliche Beiträge für die Wertschöpfungskette erbringen erfahrene Fachleute aus den Fachressorts Forschung, Entwicklung, Produkt-Dokumentation, Marketing, Vertrieb und Produkt-Service.

Eine strukturierte Abfolge von Etappen

SDLC steht als Kürzel für den Software-Entwicklungs-Lebenszyklus eines konzipierten Software-Produkts. Eine klar definierte und professionell strukturierte Abfolge von Etappen bildet die Grundlage. Der Prozess gliedert sich im Wesentlichen in folgende Schritte:

Bedarfsanmeldung

In dieser Phase erfolgen die Bedarfsmeldungen aus einer potenziellen Zielgruppe. Wünsche zu praxisgerechten Funktionen, Strukturen und Leistungsumfängen eines angestrebten Software-Produkts werden vom Zielmarkt in der Regel schriftlich formuliert.

Evaluation und Anforderungsphase

Fachleute aus System Engineering und Produkt Marketing beschäftigen sich mit der Ermittlung des Kundenbedarfs. Betriebswirtschaftlich relevante Faktoren und Einflüsse werden herangezogen, um die Tragfähigkeit des Projekts zu prüfen. Diese Untersuchungen und Berechnungen bilden die Grundlage für Lastenheft und Pflichtenheft.

Konzeptionsphase

Die Konzeptionsphase orientiert sich an diesen Lasten- und Pflichtenheften. Im Mittelpunkt steht nun die Ermittlung und Analyse strukturierter Lösungsansätze im Sinne eines bedarfsgerechten Software-Designs.

Produkt-Realisierungsphase

Der nächste Projektschritt befasst sich abteilungsübergreifend mit der Realisierung. Diese Phase wird bestimmt von Software-Entwicklung, Dokumentation und anwendungsgerechter Implementierung. Zu den greifbaren Ergebnissen zählen die für den Lebensweg eines neuen Softwareprodukts erforderlichen Dokumentationsunterlagen: begleitende Handbücher für Installation, administrative Belange sowie ein Bediener-Manual. Auch die Definition bedarfsgerechter Testszenarien und Abnahmeprozeduren erfolgt in der Realisierungsphase.

Qualitätssicherung

Die sich nahtlos anschließende Phase der Qualitätssicherung entscheidet maßgeblich über den Erfolg der Software-Entwicklung und deren Lebenszyklus. Ein noch junges Produkt hat die Forschungs- und Entwicklungsabteilung nach bestandenen Tests verlassen. Im Rahmen der flankierenden Qualitätssicherung bewährt sich die Software im täglichen Anwendungsbetrieb.

Im Praxisbetrieb auftretende Fehler lösen einen komplexen Rückkopplungsprozess aus. Die aus Programmierern, Dokumentationsfachleuten und Product Marketing bestehende Projektgruppe zeichnet verantwortlich für Fehlerbehebung und die Einbindung der Veränderungen in die Produkt-Dokumentation.

In größeren Software-Häusern obliegt die Qualitätssicherung dem Leiter des Qualitätswesens. Die Interaktion zwischen Funktionstest und Fehlerbehebung dauert an, bis das Produkt vom Qualitätswesen als "Frei von Fehlern" zertifiziert wird.

Beginn der Vermarktungsphase

Mit den nun folgenden Phasen wird der bisherige Labor-Charakter beendet. Das vom Qualitätswesen zertifizierte Produkt muss von nun an seine Qualitäten in der täglichen Praxis unter Beweis stellen. Die Startlinie wird symbolisch gebildet von der

Produktfreigabe – Product Release

Diese Phase darf mit Fug und Recht als Beginn der Vermarktung des neuen Produkts bezeichnet werden. Einige Anglizismen haben sich in den deutschen Sprachgebrauch eingeschlichen. Product Release bezeichnet die Produktfreigabe. Als "Roll-Out & Go-Live" bezeichnen Software-Häuser die Auslieferung konfektionierter Software-Pakete. Ist das Produkt in unterschiedlichen Versionen erhältlich, so bezeichnet der Prozess des „Versioning“ die Bereitstellung der mit Versionsnamen versehenen Pakete.

Die Product-Release-Phase gleicht einer konzertierten Aktion. Parallel zur Auslieferung der freigegebenen Produkte und Versionen finden im Hause der Kunden die Anwenderschulungen für die neue Software statt. In der Regel obliegt die öffentlichkeitswirksame Produktfreigabe einem Release Manager aus der Marketingabteilung. Dort wird auch über flankierende Maßnahmen bei der Produkteinführung befunden. In Abhängigkeit von Projekt-Komplexität und dem verfügbaren Budget ist die Verpflichtung externer Unternehmensberater und Consultants ein probater Verstärker bei der Öffentlichkeitsarbeit.

Produktpflege und Wartung

Eine im Markt etablierte und akzeptierte Software hat bereits einen durch Anwenderbasis und Zeitfaktor bestimmten Reifeprozess erreicht. Dennoch sind Produktpflege und begleitender Wartungsservice über eine längere Zeitspanne zu leisten. Nur so ist ein zeitnahes Reagieren auf Anforderungen und Wünsche aus der Kunden-Installationsbasis möglich. Erforderlich werdende Software-Anpassungen führen zu Software-Updates. Die Durchführung liegt in der Verantwortung der Service-Abteilung.

Ende des Lebenszyklus

Wie hier nachvollziehbar dargelegt wurde, beschreibt der SDLC den kompletten Lebenszyklus eines Software-Produkts. Doch wann naht das Ende? Die Antwort gibt der technologische Fortschritt. Software-Programme zählen zu jenen Technologieprodukten, die eingebettet in technologisch anspruchsvolle Umfelder funktionieren.

Diese Tatsache lässt erahnen, dass der Produkt-Lebenszyklus maßgeblich vom Technologie-Lebenszyklus abhängt. Im Zuge der Einführung neuer Technologien werden im Minimum Weiterentwicklungen erforderlich, die auf Bestehendem aufbauen. Erweist sich ein Produkt als nicht länger tragfähig, so ist das Ende des Lebenszyklus erreicht. Es wird vom Markt genommen.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Microservice-Debugging unter AWS

Analyse von verteilten Anwendungen

Microservice-Debugging unter AWS

„Wir haben eine komplexe Microservices-Architektur in AWS aufgebaut und möchten diese gerne debuggen. Welche Empfehlungen und Services existieren für die Analyse von komplexen verteilten Systemen?“ lesen

iOS-Apps auf dem Mac nutzen

Apple schafft Voraussetzungen für einheitliche Plattform

iOS-Apps auf dem Mac nutzen

Derzeit arbeitet Apple an einem Projekt, mit dem sich Apps für iOS auch auf Macs nutzen lassen. Ab 2019 will Apple die dafür notwendigen Grundlagen zur Verfügung stellen. lesen

Container helfen beim Testen verteilter Software

Testing Infrastructure as Code

Container helfen beim Testen verteilter Software

Der Einsatz von Containern vereinfacht nicht nur das produktive Deployment verteilter Software-Komponenten. Auch beim Erstellen einer Testinfrastruktur bietet die Technologie völlig neue Möglichkeiten. lesen

Wie verbreitet ist Open-Source-Code?

Open-Source-Report von Black Duck

Wie verbreitet ist Open-Source-Code?

Welche Open-Source-Komponenten sind bei Entwicklern besonders beliebt und wie viele Development-Projekte nutzen quelloffenen Code? Im „2018 Open Source Security and Risk Analysis Report“ von Synopsys finden sich einige interessante Zahlen. lesen

Software zum Herunterrechnen von 3D-Szenen

Virtual Reality mit Google

Software zum Herunterrechnen von 3D-Szenen

Google hostet die Virtual-Reality-Lösung Seurat als Open-Source-Software bei GitHub. Mit der Software lassen sich 3D-Videos- und -Anwendungen herunterrechnen, damit diese auf VR-Headsets optimal abgespielt werden können. lesen

Open-Source-Coding in der heißen Phase

Google Summer of Code 2018

Open-Source-Coding in der heißen Phase

Der Google Summer of Code 2018 ist in vollem Gange: Studentische Software-Projekte wurden durch die Mentoren, allesamt Open-Source-Anbieter, geprüft und angenommen. Noch knapp zwei Monate ist Zeit für die eigentliche Programmierarbeit. Vor der ersten Evaluierungsphase nennen wir besonders interessante Projekte. lesen

Wie man Entwickler richtig rekrutiert

Massiver Fachkräftemangel in der IT-Branche

Wie man Entwickler richtig rekrutiert

55.000 IT-Stellen sind in Deutschland derzeit unbesetzt. Das Recruiting von Fachkräften stellt viele Unternehmen vor große Herausforderungen. Benjamin Ruschin von WeAreDevelopers erklärt, wie es richtig funktioniert. lesen

Wie steht Microsoft zur Open-Source-Community?

Microsoft akquiriert GitHub

Wie steht Microsoft zur Open-Source-Community?

Mit der Ankündigung, die Code-Hosting-Plattform GitHub übernehmen zu wollen, hat Microsoft gestern für einen großen Knall gesorgt. Dem Open-Source-Gedanken und der Development Community wolle man aber treu bleiben. lesen

Google zieht Bilanz zu Play Protect

2 Milliarden Devices per Machine Learning geschützt

Google zieht Bilanz zu Play Protect

Im Android Developers Blog nennt Google aktuelle Zahlen zu Play Protect: Zwei Milliarden Geräte profitieren demnach von den Machine-Learning-gestützten Sicherheitsfunktionen. Der Software Engineer Sai Deep Tetali wagt eine Bestandsaufnahme. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45267953 / Definitionen)