Ein reibungsloser Release eines Produkts oder einer Dienstleistung kann manchmal sehr stressig sein, selbst wenn Sie ein ausgezeichnetes Team, eine angemessene Testabdeckung, eine starke kontinuierliche Integration und eine gute Release-Pipeline haben.
Der gesamte Aufwand Ihres Teams in Form von übermäßigen Arbeitsstunden und dem Vermeiden von Pausen reicht möglicherweise nicht aus, um die Hektik und die Angst zu vermeiden, die mit dem Release-Prozess einhergehen.
Denken Sie also nicht, dass es wichtig ist, sich damit auseinanderzusetzen? Sollte es nicht geeignete Richtlinien für stressfreie Releases geben?
Nun, alles, was wir hier brauchen, ist ein angemessenes Enterprise Release Management und ein geeignetes Framework, das einen reibungslosen Release garantiert und die Release-Hektik verhindert.
Enterprise Release Management ist ein Muss
Was genau ist Enterprise Release Management? Enterprise Release Management (ERM) hilft bei der Verwaltung von Releases auf der Organisationsebene von Unternehmen mit komplexer Software wie großen Unternehmen, Gesundheitssystemen und vielem mehr.
Es kümmert sich im Wesentlichen um die Koordination einzelner Software-Releases und darum, inwieweit diese zu den größeren Strategien und Plänen des Unternehmens passen.
Warum ist ERM also wichtig? Denken Sie nur an ein Unternehmen, das komplexe Softwaresysteme entwickelt.
Es gibt verschiedene Entwicklungsgruppen, die an unterschiedlichen Komponenten dieser großen Systeme arbeiten.
Daher ist diese Art von Struktur intern von Vorteil, da sie es den Entwicklern ermöglicht, sich zu spezialisieren, den Fokus zu verbessern und Komponenten Stück für Stück zu entwickeln.
Aber letztendlich sollten die Teile in einem einzigen, reibungslos integrierten System zusammenlaufen.
Selbst ohne übergreifendes Release Management auf Unternehmensebene kann es zu einem Mangel an Kohärenz im IT-Portfolio des Unternehmens kommen.
ERM hilft also bei der Einführung großer Softwareprodukte, die gut als integriertes Ganzes funktionieren können, und ermöglicht es ihnen, dies effektiv zu tun. ERM ermöglicht es Release Managern, zusammenzuarbeiten und ihre verschiedenen Releases zu synchronisieren.
Der Prozess, der einen reibungslosen Produktions-Release gewährleistet und gleichzeitig die Hektik vermeidet

Lassen Sie mich Ihnen ein Framework vorstellen, das Ihnen einen reibungslosen Produktions-Release gewährleisten und gleichzeitig die unvermeidliche Hektik verhindern kann.
Beginnen Sie mit den Pre-Release-Prüfungen
Sie müssen mit dem Pre-Release beginnen, da es mehrere Prüfungen gibt, die kurz vor einem Release durchgeführt werden müssen. Hier ist die wichtige Liste.
- Abschluss der akzeptierten Funktionen
- Akzeptanztests
- Abnahme durch den Product Owner und Einigung über den Release-Termin
- Genehmigung durch andere Stakeholder wie Sicherheit, Lizenzierung, IT usw.
- Funktionsvollständigkeit von Upstream- oder Downstream-Systemen
- Feature Toggles zum Aktivieren/Deaktivieren
- Bug Bash
- Regressionstests – manuell oder automatisiert
- Hotfix-Plan, falls etwas schief geht
- NFR/CFR-Prüfungen wie Leistung, Browser- und Plattformkompatibilität usw.
- Appstore/Play Store-Veröffentlichung
- Erstellung einer neuen Umgebung
- Backend- und Frontend-Release
- Daten-Upload
- Drittanbieterlizenzen, Verlängerungen, Verträge
- Dokumentation – Release Notes, Handbuch, bekannte Probleme usw.
Auch wenn diese Liste nicht alles enthält, kann sie dennoch ein guter Anfang sein.
Führen Sie die Post-Production-Prüfungen durch
Manchmal kann es vorkommen, dass Sie einen Release als erfolgreich annehmen, aber später auf verschiedene Probleme stoßen, die Sie in Schwierigkeiten bringen können.
Daher ist es immer ratsam, eine Post-Production-Prüfung durchzuführen. Dies sind die wesentlichen Punkte, die überprüft werden müssen.
- Kernfunktionalität, insbesondere wenn die Funktionen völlig neu sind
- Leistung auf verschiedenen unterstützten Geräten
- Sie können die Datenintegrität überprüfen. Dies ist erforderlich, wenn es sich um kundenspezifische Releases handelt, im Falle von SaaS oder auch wenn es eine größere Migration gibt
- Sie können die Protokolle überprüfen, falls es sich um Integrationen mit neuen Upstream- oder Downstream-Systemen handelt.
- Performance-Dashboards, insbesondere wenn Sie hohe Lasten erwarten (wie ein Buchungssystem)
- Andere Monitoring-Dashboards oder Sonarqube
Verwenden Sie eine modulare Architektur
Wenn es um ein Softwareprogramm geht, ist es vorzuziehen, Software reibungslos und häufig zu veröffentlichen.
Durch den Aufbau einer modularen Architektur können Teams den Release zu einem natürlichen Bestandteil ihrer agilen Kultur machen.
Anstatt eine große Anwendung zu haben, können Sie sie in verschiedene Teile modularisieren, ähnliche Funktionen in kleinere Komponenten oder Anwendungen kategorisieren und auch klare API-Verträge zwischen den einzelnen Komponenten und Anwendungen haben. Solche APIs können bei jedem Build automatisch getestet werden, um Kompatibilität zu gewährleisten und das Risiko beim Software-Release zu minimieren.
Automatisieren Sie alles
Die Automatisierung eines Software-Releases kann der beste Weg sein, um eine Release-Kultur zu verbessern.
Wenn die Veröffentlichung von Software derzeit nicht automatisiert ist, haben Sie die Möglichkeit, mit der Automatisierung des Software-Releases in eine Staging-Umgebung zu beginnen.
Und wenn erst einmal alle feststellen, wie einfach es ist, ist der nächste Schritt die Automatisierung von Produktions-Deployments.
Und wenn die Releases schwierig sind, können Sie Software häufiger veröffentlichen.
Daher sind automatisierte Tests und Continuous Integration Mittel für großartige Releases.
Am wichtigsten ist, dass Sie sicherstellen müssen, dass die Testzeiten und Build-Zeiten kurz sind, und denken Sie auch daran, dass Builds, die leicht zu validieren sind, auch leichter zu veröffentlichen sind. Hier ist Ihr vollständiger Leitfaden zum Testen in der Produktion.
Erstellen Sie eine Release-Vorlage
Sie müssen wissen, dass es mehrere Parteien und Stakeholder gibt, die entweder direkt oder indirekt an einem Release beteiligt sind.
Daher ist es sehr praktisch, die Checkliste an einem Ort zu dokumentieren, auf den alle Beteiligten zugreifen können. Sie können sie einfach als Release-Vorlage bezeichnen.
Eine Release-Vorlage kann also einfach erstellt und jedes Mal, wenn ein Release geplant ist, eine Kopie davon erstellt werden.
Achten Sie beim Dokumentieren der Aktionspunkte oder der Checkliste darauf, dass es sich um umsetzbare Aufgaben handelt.
Erstellen Sie einen Zeitplan für jede Aufgabe
Es ist eine sehr offensichtliche Sache, Release-Termine zu haben, bevor überhaupt festgelegt wird, was veröffentlicht wird. Dies gibt Ihnen eine gute Gelegenheit, die notwendigen Pläne zu erstellen.
Indem Sie den Release-Termin festlegen und die Release-Vorlage dokumentieren, können Sie eine Diskussion mit Ihrem Team führen und dann einen Zeitplan erstellen, der aus Terminen besteht, bis zu denen jede Aufgabe für einen reibungslosen Release abgeschlossen sein muss.
Außerdem können Sie aus der Release-Vorlage eine Kopie erstellen und eine Spalte für Termine hinzufügen und sogar die besprochenen Termine für jede Aufgabe markieren.
Der nächste geeignete Schritt ist die Anmeldung von Aufgaben
Sobald Sie die Termine zum Release-Dokument hinzugefügt haben, besteht der nächste Schritt darin, dass sich geeignete Personen für die Aufgaben anmelden.
Sie müssen ein Meeting mit allen Teams/Stakeholdern einberufen, die entweder direkt oder indirekt an der Veröffentlichung des Produkts beteiligt sind.
Die wichtigsten Ergebnisse, die das erste Meeting hervorbringt, können sein:
- Alle Beteiligten neigen dazu zu verstehen, dass Sie und Ihr Team einen geeigneten Plan haben, der zu einem erfolgreichen Release führen würde.
- Liste der beteiligten Teams oder Personen, wie z. B. wichtige Ereignisse, Dritte, Sicherheitsteam usw.
- Verständnis von Ereignissen und Zeitplänen
- Empfehlen/Einspruch erheben/Änderungen vornehmen, falls erforderlich, bereits im frühen Stadium
- Liste aller Abhängigkeiten
- Suchen Sie nach dem, wofür sich Personen/einzelne Teams aus der Liste anmelden können. Beispielsweise weiß Ihr IT-Team, wann es an der Erneuerung einer Lizenz arbeiten muss, indem es neue Server oder Umgebungen erstellt.
- Klares Verständnis und Diskussion der möglichen RAIDs.
Sobald das Meeting abgeschlossen ist, stellen Sie sicher, dass jeder Aufgabenpunkt auf Ihrer Liste ein Datum (des Abschlusses) und eine Person (nicht ein Team, EINE Person) enthält, die dafür verantwortlich ist.
Auch wenn die Person Hilfe von anderen in Anspruch nehmen kann, muss sie sicherstellen, dass die Aufgabe bis zum genannten Datum abgeschlossen wird.
Befolgen Sie einen organischen Arbeitsplan
Nachdem der anfängliche Kontext (mit allen Beteiligten) hergestellt wurde, ist es wichtig, den Plan regelmäßig im Auge zu behalten. Jede Iteration kann ein guter Anfang sein und möglicherweise regelmäßig, wenn Sie sich in der letzten Iteration des Releases befinden.
Die ersten Meetings können etwas länger dauern, aber nach einigen Iterationen würde es sich als schnell herausstellen, und auch sogar Chats asynchrone Kommunikationsmodi wie Chat/E-Mails würden funktionieren.
Es ist notwendig, den Plan zu festigen, wobei jede Aufgabe aus einem Datum und einer zugewiesenen Person besteht.
Bei Bedarf können Sie sogar ein paar Punkte oder Termine innerhalb angemessener Grenzen ändern, aber gleichzeitig ist es auch wichtig sicherzustellen, dass der Plan nicht vom Kurs abkommt.
Yash Marwaha, Projektmanager bei OpenSense Labs, sagt:
Wir können einen Soft Release planen, was bedeutet, dass die Funktion oder Kampagne für ein kleineres Publikum verfügbar ist, bevor sie für alle freigegeben wird.
Bauen Sie starke Beziehungen auf
Es wird beobachtet, dass die Softwareentwicklung die Beteiligung des gesamten Teams vom Produktmanagement bis zum Betrieb erfordert.
Beispielsweise ist das Betriebsteam ein wichtiger Partner bei der Bereitstellung von Software für die Produktion, da es hilft, die Software an ihre Endbenutzer zu bringen.
Außerdem neigen die Entwicklungsteams dazu, das Betriebsteam mit den folgenden Techniken zu unterstützen.
- Erstellen Sie die Stückliste für jeden Software-Release sehr übersichtlich. Im Vergleich zum Entwicklungsteam hat das Betriebsteam möglicherweise kein ähnliches Maß an Kontext rund um den Release.
- Bieten Sie für jedes Problem, das im Release gelöst wurde, einen Link zurück zu Ihrem Issue Tracker und Source Control System an, damit das Betriebsteam ein ähnliches Maß an Kontext hat, wenn während des Deployments Probleme auftreten.
- Sie werden feststellen, dass manchmal Probleme auftreten, wenn Code von der Entwicklungsumgebung in die Staging-Umgebung verschoben wird. Sie müssen also nach diesen Problemen suchen, da sie möglicherweise während des Produktions-Pushs wieder auftreten.
- Da während des Deployments Fehler auftreten, ist es ratsam, dem Betriebsteam eine klare Möglichkeit zu bieten, die Probleme einfach zu beheben.
Auf der anderen Seite kann das Betriebsteam seinen Kollegen im Entwicklungsprozess mit den folgenden Vorschlägen helfen.
- Während die Probleme in der Produktion auftreten, müssen Sie sich Zeit nehmen, um die Hauptursachen und Lösungen zu identifizieren. Auf diese Weise können Sie die Probleme auch in Zukunft mühelos beheben.
- Sie können Konfigurationsdaten aus der Produktion zurück in Staging- und Entwicklungsumgebungen migrieren, um Konfigurationsabweichungen zu vermeiden.
Die Lösung für Aufgaben, die über die Fristen hinausgehen
Seien wir ehrlich. Wir alle haben manchmal unsere Fristen verpasst und das ist völlig normal.
Wenn Sie also Zweifel haben, fügen Sie einen Puffer hinzu.
Es gibt jedoch ein paar Punkte, die sich keinen Puffer leisten können, wie z. B. ein Release-Termin. Einige andere Aufgaben wie Backend-Release, prozessbezogene Elemente wie Sicherheitsaudit können einen Puffer haben.
Arjun Sharma, Produktmanager bei OpenSense Labs, sagt:
Releases sollten immer einen Puffer vom endgültigen Produktionstermin haben, an dem wir die Funktion oder Kampagne veröffentlichen sollen.
Wie schaffen Sie es also, Ihre Aufgaben pünktlich zu erledigen?
Nehmen wir an, Sie sehen voraus, dass eine Aufgabe über die festgelegte Zeit (einschließlich Puffer) hinausgehen könnte, dann müssen Sie Ihr Team, die Stakeholder und alle Beteiligten darüber informieren. Dann sollten Sie ein Meeting abhalten und die effektiven Möglichkeiten zur Bewältigung einer solchen Situation besprechen, die zu einem erfolgreichen Release führen kann.
Auf diese Weise landen Sie nicht in einer Katastrophe und können die Tatsache normalisieren, Qualitätsprodukte über den festgelegten Termin hinaus zu liefern, ohne die Produktstandards zu beeinträchtigen.
Yash Chauhan, Associate Business Analyst bei OpenSense Labs, sagt:
Sie sollten nicht vom Ziel abweichen, Qualitätsprodukte zu liefern, um Ihre Produkt-Release-Termine einzuhalten.
Um mehr zu erfahren, lesen Sie mehr über die Einführung eines sicheren Softwareentwicklungslebenszyklus für einen sichereren Weg zur Produktion.
Abschließende Gedanken
Wenn Sie die Release-Hektik vermeiden und auf einen erfolgreichen Release zusteuern möchten, müssen Sie sicherlich einen geeigneten Plan befolgen, wie oben beschrieben. Eine solche strategische Planung kann Sie vor der panischen Angst der Release-Hektik in letzter Minute bewahren.
Daher können wir durch die Antizipation der zukünftigen Release-Möglichkeiten und die Einführung des gut gestalteten Frameworks einen reibungslosen Produkt-Release erleben.
Abonnieren
Verwandte Blogs
Erkunden von Drupal Single Directory Components: Ein Wendepunkt für Entwickler

Webentwicklung lebt von Effizienz und Organisation, und Drupal, unser Lieblings-CMS, ist mit seiner neuesten Funktion hier,…
7 schnelle Schritte zur Erstellung von API-Dokumentationen mit Postman

Wenn Sie mit APIs arbeiten, kennen Sie wahrscheinlich bereits Postman, den beliebten REST Client, dem unzählige Entwickler…
Was ist der Product Engineering Life Cycle?

Stellen Sie sich vor, Sie bauen ein Haus ohne Bauplan oder Konstruktionszeichnungen. Es wäre schwierig, die Kosten und den…