Was ist Release Engineering?
Release Engineering oder Releng ist der Prozess der Vorbereitung der fertigen Computersoftware für die Verteilung. Dies kann viele verschiedene Programmier- und Konstruktionsdisziplinen umfassen, und nicht alle Definitionen von Release-Engineering sind für verschiedene Unternehmen gleich. Zu den Aufgaben, die beim Release-Engineering anfallen können, gehören das Kompilieren von Quellcode, das Verfolgen und Warten von Entwicklungstools und -umgebungen, das Verwalten einer Bibliothek von Releases über die gesamte Lebensdauer eines Programms und manchmal das Implementieren der Bereitstellung von Software auf einem Live-Server oder -System. Einige der Vorteile eines engagierten Release-Ingenieurs im Software-Entwicklungszyklus sind eine bessere Erfahrung für Endbenutzer - da zuerst die Release-Methoden getestet werden - eine bessere Gesamtdokumentation des Programms während der Upgrades und eine Art Qualitätskontrolle in Situationen, in denen sich die Anforderungen unterscheiden Teile eines Programms stammen aus unterschiedlichen Quellen.
Während der Entwicklung von Software kommt ein Punkt, an dem die Anwendung abgeschlossen ist und entweder an Kunden verteilt oder auf einem Live-Server installiert werden muss, damit sie verwendet werden kann. Ohne einen Release Engineer könnte dieser Prozess beinhalten, dass die Entwickler ein Programm mithilfe von Entwicklungstools kompilieren und die Binärdateien dann auf das Zielmedium oder den Zielserver verschieben. Einige der Probleme, die bei diesem Prozess auftreten können, sind, dass das Programm Abhängigkeiten aufweist, die nicht quantifiziert sind, einige Änderungen möglicherweise vergessen werden oder der Prozess in Zukunft möglicherweise nicht unbedingt reproduzierbar ist.
Einer der größten Teile des Release-Engineerings ist die Verfolgung des Fortschritts der Programmentwicklung. Dies kann bedeuten, ein Versionsverwaltungssystem zu verwenden oder eine andere Software zu verwenden, um nicht nur jeden Schritt eines Programms während seiner Entwicklung zu verfolgen und zu kennzeichnen, sondern auch Schnappschüsse des Programms zu speichern, damit sie später abgerufen werden können. Um ein Programm erfolgreich zu erstellen, ist es nicht nur erforderlich, den Quellcode zu verarbeiten, sondern auch Informationen zu den verwendeten Tools und den verschiedenen Bibliotheken oder anderen verwendeten Ressourcen zu speichern. Das ultimative Ziel ist es, ein Programm zu jedem Zeitpunkt seiner Entwicklung neu kompilieren zu können, unabhängig von den Entwicklungssystemen, mit denen es erstellt wurde.
Ein weiterer möglicher Teil des Release-Engineerings ist die Vorbereitung eines Antrags für die Verteilung an Kunden. Sobald das Programm in Binärdateien kompiliert wurde, werden Methoden zum Installieren des Programms auf dem Computer eines Endbenutzers entwickelt und untersucht. Dies kann das Schreiben eines Installationsprogramms oder das Testen des Programms in verschiedenen Situationen beinhalten, wenn es live ist, um sicherzustellen, dass es gemäß den Spezifikationen funktioniert. Beim Release-Engineering muss ein Programm manchmal mehrmals auf mehreren Systemen installiert werden, um sicherzustellen, dass unterschiedliche Konfigurationen oder Fehler ordnungsgemäß behandelt werden.