Es gibt manchmal Momente, in denen man die eigenen Prozesse hinterfragt und sich darüber Gedanken macht, wie man Aufgaben besser erledigen kann. So ist es kürzlich auch mir ergangen.

Konkret ging es dabei um den Release-Prozess einer Software-Komponente. Zunächst sollte ich eventuell klarstellen, was ich mit dem schon beinahe überladenen Wort Release-Prozess meine. Der Release-Prozess umfasst aus meiner Sicht all jene Aufgaben, die ein Entwickler oder ein Unternehmen durchführen muss, um Software in dessen Anwendungsgebiet einsatzbereit zu machen. Insofern beinhaltet ein Release also im Kern das Erstellen des Kompilats der Anwendung, die Paketierung aller notwendigen Dateien zum Betrieb der Anwendung, den Transport des Installationspaketes auf die Einsatzumgebung und schlussendlich die Installation und Konfiguration der Anwendung auf dem Zielsystem. Ich möchte meine Ideen und Vorstellungen zu einem besseren Release-Prozess festigen, indem ich einzeln die Schritte eines Releases beschreibe.

Natürlich beinhaltet ein Release einer Software auch einige weitere Maßnahmen als die oben genannten, wie z. B. die Erstellung oder Aktualisierung von Dokumentationen oder Benachrichtigungen über die Verfügbarkeit der neuen Anwendungsversion bei der jetzigen Anwendern bzw. potentiellen Zielgruppen. Ich möchte hier allerdings nur auf den Kern des Release-Prozesses eingehen.

Erstellen des Release-Builds
Der wichtigste und aus meiner Sicht kritischste Punkt im Release-Prozess erfolgt gleich zu Beginn: Das Erstellen des Release-Builds. Hier ist es für ein sauberes Release entscheidend, dass von vornherein Richtlinien zu diesem Schritt vorhanden sind und beachtet werden. Die wichtigsten Regelungen sind meiner Meinung nach:

Paketierung der Software
Nach erfolgreicher Erstellung des Builds ist der nächste Schritt die Paketierung. Mit der Paketierung werden neben dem Kompilat alle weiteren Dateien wie zum Beispiel Release Notes, Benutzerdokumentation, Anwendungsbeispiele und ähnliches zu einem Gesamtpaket zusammengeschnürt. Hier ist vor allem die Art der Paketierung entscheidend. Im Allgemeinen sollte das Gesamtpaket mit einer Installation und Installationsanweisungen ausgeliefert werden. Leider kommt es in einigen Unternehmen noch viel zu oft vor, dass das Paket ein einfaches ZIP-Archiv ist. Wie beim Build-Schritt auch, sollten bei der Paketierung einige Grundregeln beachtet werden:

Der letzte Punkt bedeutet natürlich nicht, dass man keine Komponenten auf dem Zielsystem voraussetzen sollte. Jede Software hat bestimmte System Requirements. Es soll vielmehr verdeutlichen, dass die Systemvoraussetzungen klar definiert werden sollten und außerhalb dessen keine weiteren Komponenten mehr erforderlich sind. Besonderen Wert auf Betonung lege ich beim letzten Punkt auf „Informationen“. Damit möchte ich zum Ausdruck bringen, das dass Installationspaket (außer den mitgegebenen Informationen) idealerweise keinerlei weiteres Wissen erfordert um es auf dem Zielsystem zu installieren und die Software in Betrieb zu nehmen.

Deployment
Der dritte elementare Schritt im Release-Prozess ist der Transport des Software-Paketes auf die Anwendungsumgebung. Je nach Art und Quantität der Software kann dieser Verteilungs- bzw. Distributionsprozess viele verschiedenartige Formen und Schritte beinhalten. Dennoch lassen sich bei aller Varianz einige allgemeine Aussagen treffen:

Installation & Inbetriebnahme
Der finale Schritt im Release-Prozess ist die Inbetriebnahme der Software auf dem Zielsystem. Auch hier sind abhängig von der Art und dem Einsatzgebiet der Software viele unterschiedliche Maßnahmen möglich. Doch wie auch im Deploymentschritt können über diesen letzten Schritt auch generelle Punkte zur Beachtung aufgeführt werden:

Abschließend bleibt mir eigentlich nur festzustellen, dass meine hier aufgezeigte, allgemeine Vorstellung eines Release-Prozesses doch noch in manchen Punkten von der Realität abweicht. Ergo: Es ist höchste Zeit, Änderungen in Gang zu bringen :-) .

Comments
This article has no comments yet. Comments are very welcome.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


(c) 2000-2012 ilker.de - Creative Computing.

For any case of inquiry regarding this document, you can always contact the website owner.