Was ist Application Lifecycle Management (ALM)

Unter Application Lifecycle Management (ALM) versteht man die Menschen, Werkzeuge und Prozesse, die den Lebenszyklus einer Anwendung von der Konzeption bis zum Ende ihrer Lebensdauer verwalten.

ALM setzt sich aus mehreren Disziplinen zusammen, die häufig im Rahmen herkömmlicher Entwicklungsprozesse, z. B. einer Wasserfall-Entwicklungsmethode, getrennt wurden, darunter Projektmanagement, Anforderungsmanagement, Softwareentwicklung, Tests und Qualitätssicherung, Bereitstellung und Wartung.

ALM-Phasen

ALM trägt dazu bei, den Entwicklungsprozess transparent zu machen. Da der Prozess integriert ist, können Sie sehen, welche Fortschritte gemacht wurden, welche Schritte noch zu erledigen sind, wie lange es dauert, welche Tests abgeschlossen wurden und vieles mehr.

Governance von Anwendungen

Unter Governance versteht man die Entscheidungen, die über eine Anwendung getroffen werden. Wenn Sie mit der Erstellung einer neuen Anwendung beginnen, haben Sie zunächst eine Idee für die Anwendung und müssen überlegen, wie diese mit den Anforderungen und Zielen Ihres Unternehmens zusammenhängt.

Dies trägt zu den Anforderungen für die neue Anwendung bei, die im Rahmen der Governance-Phase definiert und vereinbart werden müssen.

Ressourcenmanagement, Daten und Sicherheit sowie Benutzerzugriff sind weitere Komponenten der Anwendungs-Governance.

Die Standardisierung dieser Prozesse ermöglicht die Automatisierung der Governance. Durch die Automatisierung dieser Governance-Prozesse wird die Anwendungsbereitstellung beschleunigt.

Anwendungsentwicklung

Nachdem die Anforderungen an die Anwendung oder Aktualisierung umrissen und vereinbart wurden, kann die Entwicklung beginnen. Teams, die nach der agilen Entwicklungsmethodik vorgehen, können einmal oder sogar mehrmals am Tag entwickeln und bereitstellen.

Das Entwerfen, Erstellen, Testen und Bereitstellen der Anwendung kann als Teil der Entwicklungsphase betrachtet werden.

Software-Tests

Sobald die neue Anwendung entwickelt ist, muss sie getestet und Fehler müssen behoben werden, bevor sie in Produktion geht.

Bei agilen und DevOps-Teams sollte das Testen gleichzeitig mit der Entwicklung erfolgen. Das Feedback sollte kontinuierlich an das Entwicklungsteam zurückgegeben werden.

Die kontinuierliche Integration sollte Teil des Entwicklungsprozesses sein, damit diese häufigen Aktualisierungen nicht miteinander in Konflikt geraten.

Einsatz und Wartung

Sobald die Tests abgeschlossen und die notwendigen Fehler behoben sind, kann die Anwendung den Benutzern zur Verfügung gestellt werden.

In der Betriebs- und Wartungsphase konzentriert sich ALM auf den gesamten Lebenszyklus einer Anwendung. Der Betrieb endet nicht, sobald eine Anwendung bereitgestellt ist. Regelmäßige Wartung und Aktualisierungen müssen berücksichtigt werden.

Die Stilllegung einer Anwendung oder eines Dienstes sollte ebenfalls als Teil der Wartung betrachtet werden. Teams sollten festlegen, ab wann eine Anwendung nicht mehr unterstützt wird oder eine neuere Version verfügbar ist.

ALM vs. SDLC

ALM wird manchmal mit dem Lebenszyklus der Softwareentwicklung (SDLC) verwechselt, da beide den Prozess der Softwareentwicklung betreffen. Der Hauptunterschied besteht darin, dass sich SDLC in erster Linie auf die Entwicklungsphase konzentriert, während sich ALM mit dem gesamten Lebenszyklus einer Anwendung befasst, vom Konzept über die Wartung bis hin zur Stilllegung, und auch nach der Entwicklung der Anwendung weitergeht.

SDLC kann als Teil des Application Life Cycle Management betrachtet werden, vor allem während der Entwicklungs-, Test- und Bereitstellungsphasen. ALM kann mehrere Entwicklungslebenszyklen für eine bestimmte Anwendung umfassen.