(openPR) Application Lifecycle Management (ALM) realisiert die verschiedenen Phasen der Einführung und Pflege von Software.
Dies beinhaltet die Koordinierung und Überwachung diverser Prozesse, vom Projekt- und Anforderungsmanagement über Design und Entwicklung bis zur Qualitätssicherung. Release Management und Optimierung schließen sich an.
Eine produktive Endlosschleife
Aus simpler Sicht ordnen sich die Phasen des Software-Engineerings zu genau einem Kreis einer lebenslangen Erweiterung des Softwaresystems. In der Produktionsrealität hingegen addieren sich kleine Kreise, wenn sich etwa in der Entwicklung ein Designfehler offenbart („back to the drawing-board“).
Entsprechend flexible Features besitzt ein ALM-Werkzeug, um die prozedurale Komplexität des Software-Engineerings auf einen handhabbaren Workflow in heterogenen Umgebungen zu reduzieren. So lassen sich beispielsweise die allgegenwärtigen Change Requests über Technologiegrenzen hinweg abbilden. Weiterhin binden sich etablierte Arbeitsprozesse in eine hinreichend intelligente ALM-Philosophie problemlos ein. Visualisierung und intuitive Festlegung solcher Prozeduren leistet häufig ein grafischer Editor des Management-Tools.
Das Werkzeug bietet in jedem Fall eine Matrix definierter Workflows als Gerüst effizienten Arbeitens. Besonders unterstützt ein flexibles ALM-Tool hier die ereignisgetriebene Steuerung des Deployments. Dieser kritische Schritt zur Kommerzialisierung der entwickelten Software ist naturgemäß einer Formalisierung am wenigsten zugänglich: Das Modell der Software als Vereinfachung der echten Welt stößt auf eben diese beim Deployment.
Daher finden sich auch offene Schnittstellen des ALM-Werkzeugs zu Service-Desk-Lösungen. So finden Nutzerrückmeldungen als Ereignisse in das Deployment und umfassend in den gesamten Life-Cycle der Anwendung.
Echtes Cycle-Management für die echte Welt
Zu den bekannteren ALM-Suiten zählen etwa IBM Rational Team Concert, SAP Solution Manager und Microsofts Visual Studio Application Lifecycle Management. Das ALM-Tool aus Redmond beispielsweise ist eine Sammlung einzelner Werkzeuge, die sich zum mehr oder weniger komplexen ALM zusammenfinden. Dazu zählen etwa integrierte Entwicklungsumgebungen und Berichtswerkzeuge.
So dient zum Beispiel das populäre Visual Studio als integriertes Development-Environment und ALM-Plattform. Mit dieser Basis verbindet sich dann der Team Foundation Server als kollaborative Umgebung für Source-Code-Entwicklung. Dazu gesellt sich das Visual Studio Test Professional als Kerntestumgebung. Schließlich lässt sich bei Bedarf das Visual Studio Lab Management anschließen, um realitätsnahe Testwelten zu schaffen.
Fazit
Die Komplexität der Softwareproduktion wächst stetig, was Application-Lifecycle-Management in großem Stil erfordert. Letztlich geht es um einen permanenten Prozess nebenläufiger Phasen innerhalb der Anwendungsumgebung: Generierung von Erweiterungen, Anpassung von Bestehendem, Assimilierung von Obsoletem.
Es grüßt
Cristiano Fischer
ASP.NET Programmierer, Entwicklungsleiter bei der SeSoft GmbH Web/Database/Solutions












