SDLC-Methoden sind Verfahren und Prinzipien, die Softwareentwickler nutzen, um das branchenübliche SDLC-Framework zu implementieren und zu verwalten.
SDLC steht für Software Development Life Cycle, also den Lebenszyklus der Softwareentwicklung. Der Begriff beschreibt, wie Techniker und Entwickler die verschiedenen Phasen von Softwareprojekten nachverfolgen und verwalten. Einige Entwickler sehen in SDLC das Pendant zur wissenschaftlichen Methode, nur eben in der Anwendungsentwicklung. So hilft SDLC Technikern dabei, die richtigen Schritte zu ergreifen und die richtigen Fragen zu stellen, um ein Produkt oder ein Update zu veröffentlichen. SDLC wird manchmal auch als Beispiel für einen Wertstrom bezeichnet, also den vollständigen End-to-End-Prozess zur Bereitstellung eines wertvollen Softwareprodukts.
Das SDLC-Framework umfasst sieben grundlegende Phasen, die in etwa wie folgt aussehen:
- Analysieren (Kunden- und Softwareanforderungen)
- Plan erstellen
- Design vorbereiten
- Codierung/Softwareentwicklung starten
- Tests durchführen
- Bereitstellen
- Pflegen
Das Ziel dieses Ablaufs besteht darin, die Qualität der Software zu gewährleisten und gleichzeitig die Kosten niedrig und die Produktionszeiten kurz zu halten. Zwar sind diese Schritte in verschiedenen Unternehmen und Branchen weitestgehend identisch, doch die Techniken und Strategien, die hierbei zum Einsatz kommen, können sich stark unterscheiden. Und genau hier kommen SDLC-Methoden ins Spiel. In diesem Artikel besprechen wir die verschiedenen Methoden und Techniken, die eine erfolgreiche Implementierung von SDLC in moderne Entwicklungsumgebungen ermöglichen.
Im Allgemeinen ist die Wasserfallmethode der älteste und direkteste Ansatz für SDLC, bei dem die aktuelle Phase abgeschlossen sein muss, bevor sie nächste beginnen kann. Jede Phase weist eine eigene Gliederung und individuelle Unterschritte auf, wodurch ein natürlicher Fluss zwischen den Phasen entsteht – eben wie bei einem Wasserfall. Das Entwicklungsteam nimmt sich Zeit, um jede einzelne Phase abzuschließen, bevor es mit der nächsten fortfährt.
Das Hauptkonzept dieser Methode lautet, dass es – wenn eine Phase einmal abgeschlossen ist – kein Zurück mehr gibt: Jede Phase ist vom Erfolg und den Informationen der vorherigen Phase abhängig. Außerdem gibt es in jeder Phase einen separaten Plan, der ebenfalls auf der vorherigen Phase basiert. Manche sind der Meinung, dass die Wasserfallmethode nur in der Theorie optimal funktioniert und dass sie nie für reale Projekte gedacht war, die in der Praxis viel zu komplex und dynamisch sind.
Die Wasserfallmethode funktioniert am besten für Projekte, die ebenso simpel sind wie die eingesetzten Techniken, also zum Beispiel für Software, bei der nicht ständig Kundenfeedback eingeht oder sich die Anforderungen kontinuierlich ändern. Einige Experten sind sogar der Ansicht, dass die Methode aufgrund ihrer fehlenden Flexibilität mittlerweile völlig überholt ist. Sie diente jedoch als Fundament für einige neuere und anpassungsfähigere SDLC-Methoden.
Die Lean-Methode für SDLC nutzt die gleichen Verfahren und Prinzipien, die auch bei Lean-Ansätzen in der Fertigungsindustrie zum Einsatz kommen. Ziel dieser Ansätze ist es, Verschwendung zu vermeiden und sich nicht auf einzelne Teile, sondern auf das große Ganze zu konzentrieren. Die Prinzipien aus der Fertigung, die sich die Lean-Methode für Softwareentwicklung zu eigen macht, lauten im Detail:
- Verschwendung vermeiden
Finden Sie heraus, was wirklich notwendig ist. Belasten Sie Ihr Team nicht mit Multitasking, unnötiger Dokumentation, zu vielen Meetings oder ausufernder Planung. - Lernen verstärken
Seien Sie in jeder Phase des Prozesses präsent, und fördern Sie kontinuierliche Verbesserungen. - Entscheidungen so spät wie möglich treffen
Nutzen Sie Ihre Zeit optimal, und widmen Sie jeder Aufgabe die nötige Aufmerksamkeit und Mühe, um zu gewährleisten, dass Kunden den bestmöglichen Wert erhalten. - Schnellstmöglich Ergebnisse liefern
Indem Sie zeit- und energieraubende Elemente aus dem Prozess entfernen, können Sie Produkte und Updates schneller veröffentlichen. - Team unterstützen und Integrität aufbauen
Verschwendung zu verringern, heißt auch, Mikromanagement zu minimieren und darauf zu vertrauen, dass Teams eigenständig kommunizieren und sich um ihre Arbeit kümmern. - Auf das Gesamtbild konzentrieren
Natürlich sind Details wichtig, aber sie dürfen dem Fortschritt oder dem Erreichen Ihrer Ziele nicht im Wege stehen.
In der Lean-Methode lautet die Frage: Können wir mit weniger Ressourcen mehr erreichen? Das Ziel lautet hierbei, die Geschwindigkeit der Produktentwicklung zu steigern, aber gleichzeitig Kosten zu verringern – und das natürlich, ohne dass hierunter die Qualität des Produkts leidet. Die Methode soll den Aufwand und die Ressourcen, die erforderlich sind, um den Wert für Kunden zu steigern, durch kontinuierliche Verbesserung und Respekt optimieren.
Auch wenn es den Wasserfallansatz zuerst gab, ist die Agile-Methode branchenweit die beliebteste Option unter Entwicklern. Sie basiert auf den Wasserfallverfahren, hilft Teams aber dabei, flexibler und dynamischer zu arbeiten. Und da die Agile-Methode anpassungsfähiger ist, bietet sie auch mehr Raum für Innovation, hochwertige Produktion und komplexe Entwicklungsprojekte.
Eines der Kernprinzipien des Agile-Ansatzes besteht darin, anfängliche Misserfolge zu akzeptieren, um bessere Ergebnisse zu erzielen. Hierzu nutzt die Methode kontinuierliche Releasezyklen, in denen mit jeder Iteration nur kleine, schrittweise Änderungen gegenüber der vorherigen vorgenommen werden. Produkte werden ausgiebig getestet und kontinuierlich angepasst, um kleine Probleme im aktuellen Projekt zu identifizieren, damit sie sich später nicht zu großen entwickeln und hohe Kosten verursachen. Während dieser Zyklen müssen Stakeholder außerdem stets auf dem Laufenden gehalten werden.
Ein Nachteil des Agile-Frameworks ist die Zeit, die es braucht, um ein Produkt oder eine Funktion zu perfektionieren. Oft fühlt es sich so an, als hätte die Arbeit nie ein Ende. Eine Erweiterung der Agile-Methode sind sogenannte „Scaled Agile“-Verfahren, mit denen sich Teams darauf konzentrieren können, schneller hochwertige Produkte zu entwickeln. Einige dieser Verfahren umfassen die folgenden Untermethoden:
Extreme Programming (XP, auch Extremprogrammierung) wird genutzt, um flexiblen, aber hochwertigen Code zu erstellen, der optimal geschrieben ist und ausgiebig getestet wurde. Hierzu kommen Methoden wie Paarprogrammierung, Komponenten- und Funktionstests oder kontinuierliche Kommunikation zum Einsatz. Die wichtigsten Aspekte der Extremprogrammierung lauten:
- Kommunikation
- Einfachheit
- Feedback
- Respekt
- Mut
Dieses Framework konzentriert sich auf Zeitmanagement und -planung, die mit der Agile-Methode kompatibel sind. „Kanban“ ist Japanisch und bedeutet „Schild“, und das Grundprinzip besteht darin, den Produktionsprozess mit visuellen Karten nachzuverfolgen und zu unterstützen. Die erforderlichen Schritte und Zeitpläne werden hierbei auf diesen Karten festgehalten. Bei dieser Planungstechnik geht es um kontinuierliche Abläufe und Zykluszeiten, in denen Aufgaben zwischen Phasen wie „To do“, „In Arbeit“, „Überprüfung“ und „Abgeschlossen“ wechseln.
Scrum ist ein weiteres Agile-kompatibles Framework, das beim Zeitmanagement hilft, aber auch einen zusätzlichen Schwerpunkt auf Rollen und Teamzusammenarbeit aufweist, um während der Produktion häufige Lieferungen zu erreichen. Das Hauptkonzept von Scrum sind sogenannte Sprint-Zyklen, bei denen sich alles um Geschwindigkeit dreht. Die (gemeinsamen) Schritte für Scrum-basierte Entwicklung umfassen:
- Planungsmeetings, in denen Teams Prioritäten für den Sprint festlegen
- Commitment-Meetings, in denen das Team die Anforderungen und erforderlichen Ressourcen für den anstehenden Sprint untersucht
- Tägliche Stand-up-Meetings, in denen das Team kurz die Tagesaufgaben, potenzielle Hindernisse und Ähnliches bespricht
- Demomeetings, in denen das Team nach dem Sprint über neu implementierte Funktionen spricht
- Rückblickende Meetings, die ebenfalls nach dem Sprint stattfinden und in denen sich das Team darüber unterhält, welche Erkenntnisse gewonnen wurden, was gut funktioniert hat und was nicht usw.
Beim iterativen Modell steht die Wiederholung im Zentrum der Softwareentwicklung. Statt einer umfassenden Übersicht aller Anforderungen verwenden diese Entwicklungsteams jeweils nur eine bestimmte Gruppe von Softwareanforderungen und gehen dann direkt in die Testphase über, um die Voraussetzungen dieses einen Teilprojekts zu bewerten und genau zu definieren. Indem Software auf diese Weise Schritt für Schritt erstellt wird, wird stets ein optimales Projekt gewährleistet, bis das System fertig entwickelt und für den Release bereit ist.
Diese Iterationen werden schnell und kostengünstig erstellt, was die Methode wirtschaftlich attraktiv macht. Einer der wichtigsten Aspekte, die es bei iterativen SDLC-Methoden zu berücksichtigen gilt, ist die sorgfältige Nachverfolgung von Ressourcen, damit Ihre Zeit, Ihr Geld und Ihre Energie nicht verschwendet werden. Je nachdem, wie schnell diese Tests ablaufen, kommt es nicht selten vor, dass Teams mehrere Phasen gleichzeitig bearbeiten.
DevOps ist eine der neueren SDLC-Methoden. Sie wurde sowohl von Agile- als auch von Lean-Methoden beeinflusst und maximiert den Erfolg von Softwareprojekten, indem die Zusammenarbeit zwischen Entwicklungs- und Betriebsteams gefördert wird. Da diese beiden Teams so eng zusammenarbeiten (oder manchmal sogar zu einem Team kombiniert werden), gehören mehr Disziplin, kontinuierliches Feedback, Prozessverbesserungen und Automatisierung zu den DevOps-Prinzipien.
Im Idealfall lässt diese Methode traditionelle Denkweisen hinter sich und erfüllt den Bedarf nach einem höheren Produktionstempo durch innovative Prozesse für Technologie- und Infrastrukturmanagement. Das Ziel lautet, Zeit zu sparen und die Kommunikation zu fördern, damit alle Beteiligten die Hindernisse und Prioritäten des Projekts genau kennen und sich Entwicklung und Betrieb nicht gegenseitig behindern.
Bei der Spiralmethode dreht sich alles um Flexibilität und Anpassung. Wie beim iterativen Modell nutzen Spiraltechniken Wiederholung, um die Ziele des Projekts zu erreichen. Hierzu durchlaufen Teams immer wieder die gleichen vier Phasen – Planung, Risikomanagement, Engineering und Bewertung –, bis das Projekt als abgeschlossen gilt. So können Entwickler schnell Probleme finden und das Produkt optimieren, bis sie mit dem Ergebnis zufrieden sind. Der Spiralansatz geht davon aus, dass es keinen für alle Anforderungen geltenden Einheitsansatz für SDLC gibt, sondern dass jedes Projekt individuell angepasst werden muss.
Zu guter Letzt kommen wir zum V-Modell, einer Erweiterung der Wasserfallmethode mit einer modernen Wendung. Bei dieser Technik dreht sich alles um Tests: Sie werden in jeder Phase des Entwicklungsprozesses durchgeführt. Der Name „V-Modell“ kommt daher, dass zwei verschiedene Konzepte zum Einsatz kommen, nämlich Validierung und Verifizierung.
In den Validierungsphasen erstellen Teams die Anforderungen und das allgemeine Design des Projekts. Jede dieser Validierungsphasen korreliert mit einer Verifizierungsphase, in der Tests durchgeführt werden, beispielsweise für die Benutzerakzeptanz. Wie beim Wasserfallmodell beginnt jede Phase erst, wenn die vorherige abgeschlossen wurde. Das ist besonders hilfreich, wenn es viele unbekannte Anforderungen gibt, diese lineare Struktur kann aber auch einschränkend sein.
SDLC-Methoden sind zentral für den Erfolg von Entwicklungsteams. Sie helfen dabei, Ausgaben zu reduzieren, Produkte schneller zu entwickeln und insgesamt hochwertige Software zu veröffentlichen. Methoden wie Agile oder Lean werden im SDLC-Bereich immer beliebter, doch ihre hohe Anpassungsfähigkeit kann Entwicklungsteams schnell erschlagen.
ServiceNow bietet innovative Plattformen zur Verwaltung Ihrer SDLC-Methoden, mit denen Sie die Kommunikation verbessern, Workflows optimieren, Tests nachverfolgen und den Fortschritt überwachen können – ganz gleich, wie flexibel Ihr Entwicklungsprozess ist. Über Strategic Portfolio Management lassen sich die Plattformen während der Planungsphasen ganz einfach in bestehende Agile-Tools wie Jira und Azure DevOps Boards integrieren. Darüber hinaus bieten wir über die DevOps-Fähigkeiten der ServiceNow ITSM Pro-Plattform umfangreiche Integrationen für DevOps-Pipelines.
Mit diesem Maß an Integration können Sie Ihre Daten weiter optimieren und erhalten gleichzeitig Zugang zu High-End-Anwendungen und -Services von ServiceNow. So können Sie das Wertstrommanagement priorisieren, um die Definition, Verwaltung und Steuerung Ihrer Softwareprojekte zu verbessern. Finden Sie heraus, wie ServiceNow Ihre SDLC-Methode optimieren kann.