Der Blog

Vorfallmanagement und kontinuierliche Integration, eine Partnerschaft für den Erfolg

von Zachary Blume 28. Juli 2016 | 4 Minuten Lesezeit

Als Entwickler bin ich ein großer Fan von Continuous Integration. Für die Uneingeweihten: Continuous Integration ist eine Softwareentwicklungspraxis, bei der Codeänderungen getestet werden, sobald sie festgeschrieben sind. Dies ermöglicht eine frühzeitige Problemerkennung. Es bietet auch sofortiges Feedback zur Codequalität, sodass Probleme sofort identifiziert und behoben werden können.

Continuous Deployment wird oft in einem Atemzug mit Continuous Integration genannt. Continuous Deployment ist eine Erweiterung von Continuous Integration, da der Code sofort in die Produktion freigegeben wird, sobald die Unit-Tests erfolgreich waren. Durch kontinuierliche Integration und Bereitstellung von Codeänderungen können Entwickler Risiken reduzieren und das Produkt schnell an die Anforderungen des Unternehmens anpassen. Dieser Prozess ist zwar für Entwickler und Benutzer unglaublich wertvoll, bietet aber noch Raum für Verbesserungen.

Wie in einer Produktionsumgebung ist die Integration des Vorfallmanagementprozesses Ihres Teams in Ihren kontinuierlichen Integrationsworkflow eine hervorragende Möglichkeit, die Kommunikation und Transparenz bei fehlgeschlagenen Builds zu verbessern. Das Senden der Details fehlgeschlagener Builds an eine Vorfallmanagementplattform wie PagerDuty kann eine Reihe von Vorteilen bieten, die weit über die Standardbenachrichtigungen hinausgehen, die viele kontinuierliche Integrationstools bieten.

Prämortems

Einer der größten Vorteile, die Vorfallmanagementtechniken für die kontinuierliche Integration bieten können, ist das Konzept des „Premortem“. Im Projektmanagement ist ein Postmortem der Prozess der Untersuchung und Identifizierung der Elemente eines Projektstarts, die erfolgreich oder nicht erfolgreich waren. Während dieser Prozess oft nach dem erfolgreichen Abschluss eines Projekts durchgeführt wird, geht es im Hinblick auf das Vorfallmanagement darum, die Grundursache eines kritischen Fehlers zu verstehen und zu kommunizieren.

Indem Sie diesen Prozess in den Continuous-Integration-Workflow integrieren, führen Sie ein Premortem durch. Mit einem Premortem suchen Sie im Voraus nach Problemen. Welches Problem könnte möglicherweise auftreten, das den Dienst unterbrechen und einen Vorfall auslösen könnte? Durch das Testen auf Fehler und potenziell dienstunterbrechende Vorfälle während der Continuous-Integration-Phase können Teams potenzielle Bedrohungen bewerten und Änderungen vornehmen, bevor die Dinge überhaupt den Endbenutzer erreichen.

Ausbildung

Die Schulung von Nachwuchsentwicklern ist ein wichtiger Bestandteil eines erfolgreichen Entwicklungsteams. Leider kann erfolgreiches Vorfallmanagement in einer Produktionsumgebung hektisch und stressig sein. Zwar kann das Team am Morgen nach dem Auftreten und der Behebung eines Problems in der Nacht eine Postmortem-Analyse durchführen, aber die Informationen, die während dieser Postmortem-Analyse übermittelt werden können, sind für die unerfahreneren Teammitglieder möglicherweise nicht so leicht zu verarbeiten. Indem Sie im kontinuierlichen Integrationsworkflow aufgetretene Probleme direkt in Ihren Vorfallmanagementprozess einbinden, können Sie Nachwuchsentwicklern die Möglichkeit geben, in einer deutlich weniger stressigen Umgebung mehr über den Prozess zu erfahren.

Wachstum

Ich bin ein großer Fan von Code-Reviews. Ich habe sie immer als wichtiges Instrument für die berufliche Weiterentwicklung jedes Mitglieds des Entwicklungsteams angesehen, unabhängig von seinem Erfahrungsniveau. Durch die Kombination einer Vorfallmanagementplattform mit dem kontinuierlichen Integrationsworkflow können Sie die Details fehlgeschlagener Builds als Ergänzung zum Code-Review-Prozess verwenden, um bestimmte Bereiche des Codes zu identifizieren, die ausführlicher besprochen werden sollten. Dies ist eine hervorragende Gelegenheit, nicht nur die Codequalität zu verbessern, sondern auch die Bedeutung der Testsuite im Bewusstsein des Teams zu behalten.

 

Vorfallmanagement wird oft als reaktiver Prozess angesehen, aber durch die Einbeziehung eines Toolsets und einer Denkweise zur kontinuierlichen Integration können Sie es in einen proaktiven Prozess verwandeln. Wenn Sie auf Vorfälle reagieren und diese eindämmen, bevor sie tatsächlich auftreten, sind Sie und Ihr Team immer zwei Schritte voraus, was dazu beiträgt, Code-Schulden zu reduzieren und die allgemeine Stabilität und Zuverlässigkeit Ihres Produkts zu verbessern.