Release Management
Release Management umfasst die Planung, Durchführung und Überwachung des Softwareentwicklungsprozesses und der dabei verwendeten IT Infrastruktur. Das Release Management bietet einen Gesamtüberblick über den Entwicklungsprozess von Software-Lösungen, Webanwendungen und Updates und interagiert mit dem Change Management und dem Konfiguration Management. Es verbindet eine geschäftliche Perspektive (Risikoanalyse) mit den detaillierten technischen Problemstellungen des Entwicklungszyklus (systems development life cycle; kurz: SDLC) in einer IT-Infrastruktur.
Allgemeine Informationen zum Thema
Das Ziel des Release Management besteht darin, Anforderungen an Veränderungen von Updates, Patches, Rollouts und der eingesetzten Infrastruktur innerhalb des zeitlich begrenzten Entwicklungsprozesses mit einem kalkulierbaren Geschäftsrisiko realisieren zu können.[1] Das bedeutet, dass
- der Funktionsumfang einer Anwendung festgelegt wird,
- der Zeitplan definiert und die Einhaltung überprüft wird,
- eine Qualitätskontrolle gewährleistet wird,
- alle Änderungen dokumentiert werden und somit reproduzierbar sind.
Das Release Managements kombiniert konzeptionelle, organisatorische und praktische Problemstellungen, wie sie im herkömmlichen Projektmanagement vorkommen, und führt diese Perspektiven in einer Abteilung zusammen. Dadurch soll ein Überblick über die technischen Veränderungen von Releases und Rollouts innerhalb des Entwicklungsprozesses erzeugt werden. Der Prozess, durch den eine Software zur Verfügung gestellt wird, soll durch das Release Management auf mittlerer Führungsebene koordiniert werden.
Funktionsweise
Ein zentraler Begriff in diesem Zusammenhang ist das Release, das einzelne oder mehrere fachlich korrekte und autorisierte Änderungen enthalten kann und durch Versionsnummer gekennzeichnet wird (zum Beispiel 10.1). Die Versionierung wird oft durch Versionskontrollsoftware wie Git, Subversion oder Mercurial unterstützt. Teilweise werden einzelne Changes zu einem Release Package zusammengefasst. Es wird prinzipiell zwischen folgenden Releases unterschieden:
- Major Release: Enthält neue Funktionen und Veränderungen an der Systemarchitektur, die Bugfixes überflüssig machen und sowohl Minor als auch Emergency Releases ersetzen.
- Minor Release: Beinhaltet einzelne Erweiterungen und Änderungen, die unter Umständen ein Emergency Fix ergänzen.
- Emergency Fix: Umfasst die Behebung von einzelnen Konflikten oder Problemen mit hoher Priorität, aber keinen zusätzlichen Funktionsumfang.
Das Change Management sendet sogenannte Request for Changes an das Release Management. Diese Anforderungen bilden inhaltlich das spätere Release. Das Konfiguration Management begleitet das Release, indem die Vorgänge und Prozesse innerhalb der IT Infrastruktur dokumentiert werden. Hinzu kommen die Verwaltung von Versionen und die Behandlung von Konflikten zwischen Release und Infrastruktur. Bereits hier spielen Aspekte wie Dokumentation und Implementation eine wichtige Rolle, um die Migration des Release in das Produktivsystem (Vgl. Staging Environment), das den Release-Kandidaten später bereitstellt, zu erleichtern.
Der Release Manager ist die letzte Entscheidungsinstanz vor der Freigabe eines Releases. Er ist verantwortlich für den Releaseprozess und delegiert die Aufgaben der Akteure oder Teilaufgaben der Teams. Er plant den zeitlichen Ablauf, legt Meilensteine fest und definiert Fristen. Zudem hat er den Ablauf mithilfe von Checklisten im Blick und reagiert auch auf Feedback, das nach dem Rollout des Releases von Nutzern oder dem Kundenservice kommen kann.
Release Management mit ITIL
Das am häufigsten verwendete Konzept im Bereich von Enterprise-Lösungen ist das ITIL Framework, das mittlerweile in der Version V3 vorliegt. ITIL enthält Definitionen und Regeln, die den Betrieb einer serviceorientierten IT-Infrastruktur im Hinblick auf die Organisation und Ausgestaltung von Prozessen im IT-Sektor beschreiben. Innerhalb des Releaseprozesses nach ITIL (V2) können beispielsweise weitere Teilprozesse unterschieden werden:[2]
- Planung des Rollouts: Anhand der inhaltlichen Anforderungen wird der gesamte Prozess konzeptionell vorbereitet.
- Konzeption der Verteilungs- und Rückfallmethoden: Die Release-Komponenten werden auf die Akteure verteilt. Die Infrastruktur wird vorbereitet, um die technischen Voraussetzungen zu schaffen. Es wird zudem festgelegt, was passiert, wenn Probleme auftreten (Rückfallmethoden).
- Test des Releases: Die Elemente des Release und die Verteilungs- und Rückfallmethoden werden einem realitätsnahen Test unterzogen. Auf diese Weise kann eine Entscheidung über den Termin des Rollouts getroffen werden.
- Durchführung des Rollouts: Alle Elemente des Release durchlaufen die Projektphasen, werden ausgerollt und in das Produktivsystem migriert.
Je nach Vorgehensmodell (zum Beispiel Agile Softwareentwicklung oder Scrum) existieren sehr unterschiedliche Konzepte, die sich den Phasen der Softwareentwicklung anpassen.
Bedeutung für die Programmierung
Release Management wird oft als Hebel für die Effizienz und Qualität einer IT-Dienstleistung beschrieben.[3] Gerade auf Konzernniveau ist es deshalb ein integraler Bestandteil der IT-Abteilung. Von kleinen bis mittelständischen Unternehmen wird jedoch oft kritisiert, dass es keine Alternativen gebe, die für kleine Infrastrukturen geeignet sind. Diese Kritik bezieht sich in erster Linie auf das Prozessdesign nach dem ITIL Framework: Als Regelwerk sei es zu komplex, um in kleineren Unternehmen eingesetzt werden zu können. Viele Mittelständler fordern aufgrund dessen eine Light Version, die einen anwendbaren Kern enthält.[4]
Der Lebenszyklus einer IT-Lösung und die damit zusammenhängenden Prozesse kann bei kleineren Unternehmen jedoch durchaus andere Frameworks wie ISM (Integrated Service Management) zur Hilfe nehmen und auf die individuellen Bedürfnisse zugeschnitten sein.[5] Mittelständler haben hier aufgrund ihrer schlankeren Infrastruktur ein höheres Maß an Flexibilität, um die Servicequalität ihrer IT-Dienste auch in Sachen Effizienz zu optimieren. Dies beinhaltet auch das Zusammenspiel von Change, Konfiguration und Release Management, denn dieser Aspekt wird auch und gerade von großen Unternehmen als erfolgskritisch beschrieben.
Einzelnachweise
- ↑ Management Skill - Release Management hettwer-beratung.de. Abgerufen am 18.10.2015
- ↑ Release Management wiki.de.it-processmaps.com. Abgerufen am 18.10.2015
- ↑ Release Management norcom.de. Abgerufen am 18.10.2015
- ↑ Wo ITIL zu komplex ist computerwoche.de. Abgerufen am 18.10.2015
- ↑ Alternativen zu ITIL it-zoom.de. Abgerufen am 18.10.2015