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

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  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

„Open Bug Bounty“-Projekt veröffentlicht Statistiken

Schnellster Bugfix benötigte nur 12 Minuten

„Open Bug Bounty“-Projekt veröffentlicht Statistiken

Der gemeinnützige Schwachstellen-Prämien-Service Open Bug Bounty hat interessante Statistiken für das erste Halbjahr 2019 veröffentlicht. Knapp 92.600 Sicherheitslücken wurden demnach gemeldet, mehr als die Hälfte davon noch im selben Zeitraum gefixt. lesen

5 Best Practices für sichere Softwareentwicklung

Leitfaden zu Risikominimierung und Datenschutz

5 Best Practices für sichere Softwareentwicklung

In einer Code-gesteuerten IT-Welt muss Sicherheit den gesamten Software Development Lifecycle abdecken. Doch wie bleibt dabei gewährleistet, dass Anwendungsentwicklung und -Bereitstellung nicht gestört werden? lesen

Software Security Testing nach OWASP

Sicherheit über den Development Lifecycle hinweg

Software Security Testing nach OWASP

Sicherheitstests sind in der Welt der Softwaretests eine eigene Disziplin. Für das Web Application Testing stellt das OWASP ein anerkanntes Rahmenwerk bereit, das beim Aufbau einer unternehmensweiten Testkultur sowie ganz konkreter Prozesse helfen kann. lesen

10 Tipps für die DevSecOps-Strategie

Sichere Entwicklungsprozesse in agilen Umgebungen

10 Tipps für die DevSecOps-Strategie

Agile Entwicklung und DevOps haben zwar die Software-Entwicklung und -Bereitstellung beschleunigt, doch darunter leidet mitunter die Sicherheit. Wenn die Qualitätssicherung nicht Schritt halten kann, entsteht fehlerhafter und anfälliger Code. Checkmarx gibt 10 Tipps für die DevOps-Strategie. lesen

IAST – die Zukunft der Anwendungstests?

Interactive Application Security Testing

IAST – die Zukunft der Anwendungstests?

Interactive Application Security Testing, kurz IAST, bietet erhebliche Vorteile gegenüber einigen anderen Testmethoden. Warum das Softwaresicherheits-Toolkit ohne IAST nicht vollständig ist, soll dieser Beitrag beleuchten. lesen

SSDL-Implementierung, Testing und Nachsorge

Secure Software Development Lifecycle, Teil 3

SSDL-Implementierung, Testing und Nachsorge

Um einen sichere Softwareentwicklungs-Lebenszyklus richtig umzusetzen, bedarf es einiger Planung. Doch damit mit der Implementierung allein ist es noch nicht getan, im Nachgang sind noch weitere Schritte erforderlich. lesen

Konzeption und Planung eines SSDL nach BSI

Secure Software Development Lifecycle, Teil 2

Konzeption und Planung eines SSDL nach BSI

Hier stellen wir das Konzept des sicheren Softwareentwicklungs-Lebenszyklus nach BSI in der zweiten Phase, sprich Konzeption und Planung vor. In der ersten Phase, die wir bereits kennengelernt haben, ging es nämlich nur darum, die Rahmenbedingungen festzulegen. lesen

Agile und sichere Embedded-Software-Entwicklung

Statische Code-Analyse in CI/CD-Prozessen

Agile und sichere Embedded-Software-Entwicklung

Innerhalb von CI/CD-Prozessen, sprich Continuous Integration und Deployment, spielt Qualitätssicherung eine zentrale Rolle. immerhin sollen diese agilen Methoden besseren Code und leichtere Fehlerbeseitigung gewährleisten. Besonders im Embedded-Umfeld kommt es dabei darauf an, die Entwickler frühzeitig auf Fehler oder Abweichungen von gesetzten Standards hinzuweisen. lesen

Bessere Zusammenarbeit auf Cucumber-Basis

Beta-Programm zu Hiptest Living Documentation

Bessere Zusammenarbeit auf Cucumber-Basis

In der Software-Entwicklung müssen Teams verschiedenster Disziplinen miteinander kommunizieren. Mit der Cucumber-basierten Hiptest Living Documentation will SmartBear eine gemeinsame Plattform für alle involvierten Management- und Development-Teams schaffen. 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)