Der « Software-Lebenszyklus » (auf Englisch software lifecycle), beinhaltet alle Etappen von der Entwicklung und Konzeption einer Software bis hin zu ihrem Verschwinden. Das Ziel einer solchen Aufteilung besteht darin, die verschiedenen Zwischenphasen zu bestimmen, um die Validierung der Softwareentwicklung zu ermöglichen, also die Konformität der Software mit den jeweiligen Bedürfnissen, und die Verifikation des Entwicklungsprozesses, also die Angemessenheit der eingesetzten Methoden.
Die Erkenntnis, die zu dieser Aufteilung geführt hat, war die, dass Fehler höhere Kosten verursachen, je später sie im Entwicklungsprozess entdeckt werden. Durch den Lebenszyklus lassen sich Fehler so früh wie möglich entdecken, dadurch hat man besseren Einfluss auf die Qualität der Software, die Realisierungsfristen und zugehörigen Kosten.
Der Software-Lebenszyklus umfasst in der Regel mindestens die folgenden Arbeitsschritte :
Die Anordnung und Präsenz der einzelnen Arbeitsschritte in diesem Lebenszyklus hängt von der Wahl eines bestimmten Lebenszyklus-Modells von Kunden und Entwicklungsteam ab.
Zur Schaffung einer gemeinsamen Methologie zwischen Kunden und Software-Dienstleister wurden verschiedene Lebenszyklus-Modelle entwickelt, bei denen die Entwicklungsschritte und zu erbringenden Dokumente vorgegeben sind, durch die jeder Arbeitsschritt validiert werden kann, bevor zum nächsten übergegangen wird.
Das Wasserfall-Lebenszyklus-Modell wurde 1966 entwickelt, und ca. 1970 formalisiert. Es sieht aufeinanderfolgende Phasen vor, an deren Ende jeweils Dokumente erstellt werden, durch die sich die Konformität überprüfen lässt, bevor man zur nächsten Phase übergeht :
Beim V-Modell wird davon ausgegangen, dass die Prozeduren zur Überprüfung der Konformität von Software und Spezifikationen bereits in den Konzeptionsphasen erarbeitet werden müssen.