Warum aus Incidents lernen?
Wenn ein Incident eintritt, ist Ihre erste Reaktion wahrscheinlich nicht: „Hurra, eine Chance, etwas dazuzulernen!“ Ihre unmittelbare Priorität besteht darin, herauszufinden, was schiefgelaufen ist, und das Problem so schnell wie möglich zu beheben, um die Auswirkungen auf Ihre Kunden und die Endbenutzer zu reduzieren – so wie es sein sollte. Dies ist der Prozess der Reaktion auf Incidents, den wir in einem anderen Modul in diesem Lernpfad besprochen haben.
Sobald der Incident gelöst ist, ist es jedoch wichtig, ihn nachzubearbeiten und aus der Erfahrung zu lernen. Wenn wir uns nicht die Zeit nehmen, aus dem Incident zu lernen, bedeutet er nur einen Verlust von Zeit, Geld, Ansehen und so weiter. Wenn dieser Incident jedoch als Informationsquelle dienen kann (auf eine Weise, wie keine andere Quelle es kann), können wir einen Vorteil daraus ziehen.
Die Incidentanalyse ist Teil der Analysephase des Lebenszyklus der Reaktion auf Incidents. Nicht alle Incidentanalysen verlaufen gleich. Es gibt verschiedene Möglichkeiten, den Prozess zu gestalten, und ein zu großer Schwerpunkt auf bestimmten Aspekten des Problems oder falsche Formulierung von Fragen kann den Wert der Überprüfung verringern.
In dieser Lerneinheit denken Sie nicht nur über das Warum nach, sondern auch darüber, wie Sie am besten aus Incidents lernen können. Wir werden auf das „Warum“ in nachfolgenden Lerneinheiten näher eingehen.
Komplexe Systeme scheitern
Sie müssen „lernen, aus Fehlern zu lernen“, aber nicht falls Systeme ausfallen könnten, sondern weil es gewiss ist, dass Ihre Systeme ausfallen werden.
In der modernen Welt sind die meisten Systeme, mit denen wir heute arbeiten komplex – insbesondere in einer Cloudumgebung. Sie bestehen aus vielen miteinander verbundenen Komponenten, die zusammen funktionieren müssen, und das Verhalten des gesamten Systems ergibt sich aus dem Zusammenspiel dieser Komponenten ebenso wie aus den einzelnen Komponenten selbst.
Zuverlässigkeit ist der Faden, der sich durch diesen Lernpfad zieht, aber komplexe Systeme sind nie zu 100 Prozent zuverlässig. Solche Systeme verhalten sich auf interessante und nicht intuitive Weise. Sie bestehen aus vielen Komponenten, und häufig resultiert das Verhalten des Systems aus dem Zusammenspiel dieser einzelnen Komponenten genauso wie aus den Komponenten selbst.
Eine gute Ressource für eine ausführlichere Erläuterung dieses Themas ist das Paper Wie komplexe Systeme scheitern von Dr. Richard I. Cook. Er ist Anästhesist und Forscher und hat jahrzehntelang zur Sicherheit in komplexen Systemen, insbesondere zur Patientensicherheit im Gesundheitswesen, gearbeitet. In diesem Dokument wird erläutert, was komplexen Systemen in allen Feldern, vom Gesundheitswesen bis hin zur Softwareausführung, gemein ist.
Einige der wichtigsten Punkte sind besonders relevant für die Incidentanalyse und den Überprüfungsprozess nach dem Incident:
- Komplexe Systeme enthalten wechselnde Mischungen aus Fehlern. Es ist nicht möglich, dass Systeme ausgeführt werden, ohne dass Mängel vorliegen. Die Fehler ändern sich ständig, da sich die Technologie, die Arbeitsorganisation und die Bestrebungen hinsichtlich der Fehlerbehebung ständig ändern. Ihr System funktioniert nie perfekt.
- Komplexe Systeme laufen in einem reduzierten Modus. Komplexe Systeme werden immer als Systeme mit „Mängeln“ ausgeführt. Sie funktionieren in diesem Status weiter, da sie viele Redundanzen beinhalten, und Benutzer können sie trotz des Vorliegens multipler Mängel weiterhin am Laufen halten. Systemvorgänge sind dynamisch, wobei ständig Komponenten fehlerhaft sind und ersetzt werden.
- Die Katastrophe ist immer ganz nah. Die Komplexität dieser Systeme bedeutet, dass große Systemausfälle – langfristig – unvermeidlich sind. Komplexe Systeme bergen immer das Potenzial eines schwerwiegenden Ausfalls, der jederzeit auftreten kann. Es ist nicht möglich, das zu vermeiden, da es Teil der inhärenten Natur des Systems ist.
Prävention und Reaktion
Wir arbeiten daran, den gewünschten Grad an Zuverlässigkeit für Ihre Systeme und Dienste zu erreichen, indem wir alles unternehmen, um Incidents zu verhindern. Aufgrund der Komplexität dieser Systeme, wie oben erläutert, ist Prävention jedoch nicht immer möglich.
Aus dieser Erkenntnis heraus müssen wir eine zweistufige Vorgehensweise für den Umgang mit Fehlern verfolgen: Prävention, und wenn diese nicht möglich ist, die Vorbereitung der schnellen und effektiven Reaktion darauf.
Prävention und Reaktion sind miteinander verknüpft. Das haben Sie möglicherweise schon erlebt, wenn Ihre Organisation eine ausgereifte Automatisierung bereitgestellt hat, die in den meisten Fällen funktioniert hat. Es war großartig, dass sie meistens funktionierte, aber wenn es zu einem Versagen kam, geschah dies wahrscheinlich spektakulär, und die Betreiber konnten nicht erkennen, was schiefgelaufen war.
Die Systeme, an denen Sie arbeiten, bestehen aus mehr als der Technologie. In der Tat arbeiten Sie nicht „an“ oder „mit“ einem System, sondern Sie arbeiten im System. Sie sind Teil des Systems. Komplexe Systeme umfassen sowohl technische Komponenten (Hardware, Software) als auch menschliche Komponenten (Personen – mit ihren Persönlichkeiten, ihrer Ausbildung und ihren Kenntnissen). Unsere Systeme sind Systeme, an denen Menschen beteiligt sind, und die Art und Weise, wie die Menschen reagieren, wenn etwas schiefgeht, ist genauso wichtig, wie zu verhindern, dass es überhaupt zu einem Fehler kommt.
Sprache
Sprache ist wichtig. In diesem Modul werden Sie feststellen, dass wir sehr genau darauf achten, welche Begriffe wir verwenden und welche wir absichtlich nicht verwenden.
Die Wörter, die wir verwenden, wirken sich auf unsere Ansicht davon aus, was bei einem Incident passiert ist, und können drastisch ändern, was und wie viel wir daraus lernen. Diese Erkenntnis stammt aus der Forschung in sicherheitskritischen Branchen wie etwa Luftfahrt, Medizin, Suche und Rettung oder Brandbekämpfung.
Dieser Forschungsbereich wird insgesamt als Resilience Engineering (RE) bezeichnet.
Wir haben viel zu lernen über Resilienz in der Technologiebranche. Später in diesem Modul folgen einige wirklich nützliche Informationen, die wir aus der RE-Literatur bezogen haben, und lernen unter anderem die vier häufigsten Fallstricke kennen, die bei dem Versuch, aus Fehlern zu lernen, entstehen können. Zunächst müssen wir jedoch einige Begriffe definieren.