Überblick
Application Lifecycle Management (ALM) steht für eine Kombination von Personen, Tools und Prozessen, die den Lifecycle einer Anwendung von der Entwicklung bis zum End of Life verwalten.
ALM setzt sich aus mehreren Disziplinen zusammen, die in früheren Entwicklungsprozessen oft getrennt waren. Zu diesen gehören beispielsweise die Wasserfall-Entwicklungsmethode, Projektmanagement, Anforderungsmanagement, Softwareentwicklung, Tests und Qualitätssicherung sowie Deployment und Wartung.
Das Application Lifecycle Management überschneidet sich mit dem Bereich Plattform Engineering und ergänzt agile Methoden und DevOps, damit Teams in Ihrem Unternehmen effektiver zusammenarbeiten können.
Die Einführung von ALM führt auch zu Continuous Delivery von Software und Updates mit häufigen Releases, manchmal sogar mehrmals täglich, im Gegensatz zu neuen Releases, die nur alle paar Monate oder einmal im Jahr erscheinen.
Application Lifecycle Management bietet ein Framework für die Softwareentwicklung und unterstützt Sie gleichzeitig dabei, Ihre Software langfristig zu managen. Die Anwendung von ALM-Praktiken umfasst einen leichtgewichtigen, vorab festgelegten Plan und Anforderungen, um eine Idee in eine Anwendung umzusetzen.
Bei der Softwareentwicklung mit ALM müssen Sie die gesamte Lebensdauer der Anwendung berücksichtigen. Die Wartung und zukünftige Updates sollten berücksichtigt werden, einschließlich des Zeitpunkts, zu dem die Anwendung eingestellt und ersetzt werden muss.
Durch die Zusammenführung dieser Komponenten kann ALM für schnellere Deployments, mehr Transparenz in Ihren Workflows, qualitativ hochwertigere Produkte und eine höhere Zufriedenheit im Entwicklungsteam sorgen.
ALM-Phasen
Mit ALM lässt sich der Entwicklungsprozess transparenter gestalten. Da der Prozess integriert ist, können Sie sehen, welche Fortschritte erzielt wurden, welche Schritte noch zu erledigen sind, wie lange die einzelnen Schritte dauern, welche Tests bereits abgeschlossen sind und vieles mehr.
Anwendungs-Governance
Mit Governance werden die Entscheidungen bezeichnet, die über eine Anwendung getroffen werden. Wenn Sie mit der Entwicklung einer neuen Anwendung beginnen, starten Sie mit der ersten Idee für die App und müssen auch überlegen, wie diese zu Ihren geschäftlichen Anforderungen und Zielen passt.
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 eine automatisierte Governance. Die Automatisierung dieser Governance-Prozesse beschleunigt die Anwendungsbereitstellung.
Anwendungsentwicklung
Nachdem die Anforderungen für die Anwendung oder das Update definiert und vereinbart wurden, kann die Entwicklung beginnen. Teams, die bei der Entwicklung die agile Methodik anwenden, entwickeln und stellen möglicherweise einmal oder sogar mehrmals täglich Anwendungen bereit.
Design, Entwicklung, Tests und Deployment der Anwendung können als Teil der Entwicklungsphase betrachtet werden.
Softwaretests
Sobald die neue Anwendung entwickelt wurde, muss sie getestet werden. Außerdem müssen Fehler behoben werden, bevor sie in die Produktion übergehen kann.
Für agile und DevOps-Teams sollte das Testen gleichzeitig mit der Entwicklung erfolgen. Das Feedback sollte kontinuierlich an das Entwicklungsteam weitergeleitet werden.
Continuous Integration sollte Teil des Entwicklungsprozesses sein, damit diese häufigen Updates nicht miteinander in Konflikt stehen.
In der Testphase soll sichergestellt werden, dass die während der Governance festgelegten Anforderungen erfüllt wurden und die Anwendung entsprechend funktioniert, bevor sie für Nutzende freigegeben wird.
Betrieb und Wartung
Nachdem die Tests abgeschlossen und die erforderlichen Fehler behoben wurden, kann die Anwendung für die Nutzenden bereitgestellt werden.
Während der gesamten Lebensdauer einer Anwendung liegt der Schwerpunkt von ALM auf der Betriebs- und Wartungsphase. Die Betriebsphase endet jedoch nicht mit dem Deployment einer Anwendung. Regelmäßige Wartungen und Updates müssen berücksichtigt werden.
Die Stilllegung einer Anwendung oder eines Diensts 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 im Vergleich zu SDLC
ALM wird manchmal mit dem Softwareentwicklungs-Lifecycle (SDLC) verwechselt, weil sich beide mit dem Prozess der Softwareentwicklung befassen. Der Hauptunterschied besteht darin, dass SDLC in erster Linie auf die Entwicklungsphase ausgerichtet ist, während ALM den gesamten Anwendungs-Lifecycle von der Konzeption über die Wartung bis zur Stilllegung umfasst und auch nach der Entwicklung der Anwendung fortgesetzt wird.
SDLC kann als Teil des Anwendungs-Lifecyclemanagements betrachtet werden, das vor allem die Entwicklungs-, Test- und Deployment-Phasen umfasst. ALM kann mehrere Entwicklungs-Lifecycles für eine bestimmte Anwendung umfassen.
Red Hat Ressourcen
Tools für Application Lifecycle Management
ALM-Tools fungieren im Wesentlichen als Projektmanagementtools, mit denen Sie Personen und Prozesse zusammenführen können. Wählen Sie ein Tool, das Versionskontrolle, Echtzeitkommunikation für Teams, Funktionen für das Anforderungsmanagement, Schätzungen und Projektplanung, Quellcodeverwaltung sowie Testmanagement umfasst.
Vielleicht finden Sie alle benötigten Funktionen in einem einzigen Tool, vielleicht müssen Sie aber auch zusätzliche Tools, wie etwa entwicklungsspezifische Tools, integrieren. Das von Ihnen gewählte ALM-Tool sollte auch Ihren Entwicklungsprozess unterstützen, unabhängig davon, ob Sie agil, nach dem Wasserfall- oder DevOps-Modell oder einem anderen Modell arbeiten.
Beispiele für ALM-Tools:
- Atlassian Jira
- ALM-Lösungen von IBM
- CA Agile Central
- Microsoft Azure DevOps Server
- Tuleap
- Basecamp
Warum Red Hat als Anwendungsplattform?
Red Hat ist ein führender Anbieter und aktiver Entwickler von Anwendungstechnologien und bietet wichtige Tools für die Sicherheit, Vereinfachung und automatische Aktualisierung Ihrer Infrastruktur.
Mit Red Hat® OpenShift® können Ihre Entwicklungsteams neue Anwendungen erstellen, hosten und in der Cloud bereitstellen – mit der Skalierbarkeit, Kontrolle und Orchestrierung, die eine gute Idee schnell und einfach in ein neues Business-Modell umsetzen. Wenn Sie Ihre Anwendungs-Workloads in einem gemanagten Cloud Service bereitstellen oder dorthin verschieben möchten, ist Red Hat OpenShift auch als cloudnativer Service auf Amazon Web Services (AWS), Microsoft Azure, Google Cloud, IBM Cloud und bei anderen Anbietern verfügbar.
Basierend auf den Grundlagen von Red Hat OpenShift können Sie Red Hat Advanced Cluster Management und Red Hat Ansible® Automation Platform zusammen verwenden, um mehrere Deployments in verschiedenen Regionen und Umgebungen, einschließlich Public Cloud, On-Premise und am Edge, effizient bereitzustellen und zu managen.
Der offizielle Red Hat Blog
Lernen Sie mehr über unser Ökosystem von Kunden, Partnern und Communities und erfahren Sie das Neueste zu Themen wie Automatisierung, Hybrid Cloud, KI und mehr.