Der Autor des Artikels „Effective DevOps“, Ryn Daniels, teilt Strategien, die jeder nutzen kann, um qualitativ hochwertigere, weniger störende und stabilere Oncall-Rotationen zu erstellen.

Mit dem Aufkommen von DevOps organisieren viele Ingenieure heutzutage Oncall-Dienste, die einst ausschließlich eine Aufgabe von Systemadministratoren oder Betriebstechnikern waren. Oncall-Dienste, besonders außerhalb der regulären Arbeitszeiten, sind eine Herausforderung, die die meisten Menschen nicht gerne annehmen. Oncall-Dienste können unseren Schlaf stören, unseren normalen Arbeitsablauf während des Tages beeinträchtigen und unser Leben insgesamt belasten. Da immer mehr Teams an Oncall-Diensten teilnehmen, fragen wir uns, was wir als Einzelpersonen, Teams und Organisationen tun können, um diese Dienste menschlicher und stabiler zu gestalten.
Schlaf bewahren
Das Erste, was vielen in den Sinn kommt, wenn sie an Bereitschaft denken, ist, dass es sich negativ auf ihren Schlaf auswirken wird; niemand möchte mitten in der Nacht von einem Alarm geweckt werden. Wenn Ihre Organisation oder Ihr Team groß genug wird, können Sie das Konzept des "Follow-the-Sun"-Rotationsschemas nutzen, bei dem Teams in verschiedenen Zeitzonen an derselben Rotation teilnehmen, wobei die Bereitschaftsschichten kürzer sind, sodass jede Zeitzone nur während ihrer Arbeitszeiten (oder zumindest während ihrer Wachzeiten) Dienst hat. Eine solche Rotation kann erheblich dazu beitragen, die nächtliche Belastung, die auf den Bereitschaftsdienst fällt, zu reduzieren.
Wenn Ihnen Ingenieure und deren geografische Verteilung fehlen, um eine "Follow-the-Sun"-Rota-tion sicherzustellen, gibt es dennoch Möglichkeiten, die Wahrscheinlichkeit zu verringern, dass Mitarbeiter mitten in der Nacht geweckt werden, ohne dass es notwendig ist. Es ist schließlich etwas anderes, um 4 Uhr morgens aufzustehen, um ein dringendes, kundenbezogenes Problem zu lösen, und etwas ganz anderes, nur aufzuwachen, um festzustellen, dass es sich um einen Fehlalarm handelt. Es könnte hilfreich sein, alle Benachrichtigungen zu überprüfen, die Sie eingerichtet haben, und Ihr Team zu fragen, welche davon wirklich notwendig sind, um jemanden außerhalb der Arbeitszeit zu wecken, und ob diese Benachrichtigungen bis zum Morgen warten können. Es kann schwierig sein, die Leute davon zu überzeugen, einige nicht dringende Benachrichtigungen auszuschalten, insbesondere wenn verpasste Probleme in der Vergangenheit zu Problemen geführt haben, aber es ist wichtig zu bedenken, dass ein schlafenthaltener Ingenieur nicht der effektivste Ingenieur ist. Stellen Sie diese Benachrichtigungen auf Arbeitszeit ein, wenn sie wirklich wichtig sind. Die meisten modernen Benachrichtigungstools ermöglichen es, verschiedene Regeln für Benachrichtigungen außerhalb der Arbeitszeit festzulegen, sei es für Nagios-Benachrichtigungszeiträume oder die Einrichtung unterschiedlicher Zeitpläne in PagerDuty.
Schlaf, Bereitschaft und Teamkultur
Andere Ansätze zur Lösung von Schlafstörungen sind mit weitreichenderen kulturellen Veränderungen verbunden. Ein möglicher Ansatz zur Bewältigung dieses Problems besteht darin, Alarmierungen zu verfolgen und besonders darauf zu achten, wann sie eingehen und ob sie tatsächlich wirksam sind. ist ein von Etsy entwickeltes und veröffentlichtes Tool, das es Teams ermöglicht, eingehende Warnungen zu verfolgen und zu klassifizieren. Es kann Diagramme erstellen, die zeigen, wie viele Warnungen Menschen geweckt haben (unter Verwendung von ‚Schlafdaten‘ von Fitness-Trackern) und wie viele Warnungen tatsächlich eine menschliche Reaktion erforderten. Mit dieser Technologie können Sie die Effektivität Ihrer Bereitschaftsrotation verfolgen und deren Einfluss auf den Schlaf im Laufe der Zeit analysieren.
Das Team kann eine wichtige Rolle dabei spielen, sicherzustellen, dass jeder Bereitschaftsdienst ausreichend Ruhe bekommt. Fördern Sie eine Kultur, die es den Menschen ermöglicht, auf sich selbst Acht zu geben: Wenn Sie Schlaf verlieren, weil Sie nachts gerufen werden, können Sie morgens etwas länger schlafen, um den verlorenen Schlaf nachzuholen. Die Teammitglieder können sich gegenseitig unterstützen: Wenn Teams Informationen über ihren Schlaf über etwas wie Opsweekly austauschen, können sie zu ihren Kollegen im Bereitschaftsdienst gehen und sagen: "Hey, es sieht so aus, als hättest du letzte Nacht eine schwere Nacht mit PagerDuty gehabt – möchtest du, dass ich heute Abend für dich einspringe, damit du etwas ausruhen kannst?" Ermutigen Sie die Menschen, sich auf diese Weise gegenseitig zu unterstützen und billigen Sie keine "Heldenskultur", in der Menschen bis an ihre Grenzen gehen und Hilfe vermeiden.
Reduzierung der Auswirkungen von Bereitschaften auf die Arbeit
Wenn Ingenieure während ihrer Bereitschaft geweckt werden, sind sie offensichtlich nicht in der Lage, den ganzen Tag über mit 100 % Energie zu arbeiten. Aber selbst abgesehen vom Schlafmangel kann die Bereitschaft auch andere Auswirkungen auf die Arbeit haben. Ein bedeutender Verlust während dieser Zeit hängt mit Störungen und dem Wechsel des Kontexts zusammen: Eine einzige Störung kann zu einem Verlust von mindestens 20 Minuten führen, da der Fokus und der Kontext gewechselt werden müssen. Sehr wahrscheinlich hat Ihr Team auch andere Störfaktoren, wie Tickets, die von anderen Teams generiert werden, oder Anfragen und Fragen, die über den Chat und/oder E-Mail eingehen. Je nach Umfang dieser zusätzlichen Unterbrechungen sollten Sie in Erwägung ziehen, diese in die bestehende Rotation der Bereitschaftsdienste aufzunehmen oder eine separate Rotation nur für die Bearbeitung dieser Anfragen einzurichten.
Es ist wichtig, dies zu berücksichtigen, wenn Sie die Arbeit planen, die das Team sowohl langfristig als auch kurzfristig leisten wird. Wenn Ihr Team dazu neigt, recht intensive Bereitschaftsschichten zu haben, muss dieser Aspekt bei der langfristigen Planung berücksichtigt werden, da es vorkommen kann, dass das gesamte Personal zu jeder Zeit aktiv in der Bereitschaft ist und nicht anderweitig arbeitet. Bei der kurzfristigen Planung kann es sein, dass der Bereitschaftsdienst nicht in der Lage ist, die festgelegten Fristen einzuhalten, aufgrund seiner Bereitschaftspflichten – das sollte erwartet werden, und die anderen Teammitglieder sollten bereit sein, sich anzupassen und zu helfen, um sicherzustellen, dass die Arbeit erledigt wird und der Bereitschaftsdienst Unterstützung bei seinen Aufgaben erhält. Unabhängig davon, ob der Bereitschaftsdienst gerufen wird oder nicht, wird die Bereitschaftsschicht seine Fähigkeit beeinträchtigen, andere Arbeiten zu erledigen – erwarten Sie nicht, dass der Bereitschaftsdienst nachts arbeitet, um geplante Projekte zusätzlich zur Bereitschaft außerhalb der Arbeitszeit abzuschließen.
Die Teams müssen einen Weg finden, die zusätzliche Arbeit, die während der Schichten anfällt, zu bewältigen. Diese Arbeit kann das tatsächliche Beheben echter Probleme beinhalten, die durch Überwachungs- und Alarmierungssysteme festgestellt wurden, oder es kann sich um die Anpassung von Überwachungen und Alarmen handeln, um die Anzahl der Fehlalarme zu reduzieren. Unabhängig von der Art der anfallenden Arbeit ist es wichtig, diese gleichmäßig und nachhaltig im Team zu verteilen. Nicht alle Schichten sind gleichwertig, einige sind herausfordernder als andere. Daher kann die Annahme, dass die Person, die den Alarm erhält, für die Bewältigung aller Konsequenzen dieses Alarms verantwortlich ist, zu einer ungleichen Verteilung der Arbeit führen. Es könnte sinnvoller sein, wenn der Schichtleiter für die Planung oder Verteilung der Arbeit verantwortlich ist, in der Erwartung, dass der Rest des Teams bereit ist, bei der Erledigung der anfallenden Aufgaben zu helfen.
Die Schaffung und Aufrechterhaltung eines Gleichgewichts zwischen Arbeits- und Privatleben (Work-Life-Balance)
Denken Sie an die Auswirkungen, die Bereitschaftsdienste auf das Leben außerhalb der Arbeit haben. Wenn Sie im Bereitschaftsdienst sind, fühlen Sie sich wahrscheinlich an Ihr Mobiltelefon und Ihren Laptop gebunden, was bedeutet, dass Sie Ihren Laptop und einen mobilen Hotspot (USB-Modem) immer dabei haben oder einfach das Haus/Büro nicht verlassen. Bereitschaftsdienste bedeuten in der Regel, auf Aktivitäten wie Treffen mit Freunden oder der Familie während Ihrer Schicht zu verzichten. Die Länge jeder Schicht hängt von der Anzahl der Personen in Ihrem Team ab, und die Häufigkeit der Schichten kann eine erhebliche Belastung darstellen. Möglicherweise müssen Sie mit der Dauer und dem Zeitplan Ihrer Schichten experimentieren, um einen Plan zu finden, der zumindest für die meisten beteiligten Personen geeignet ist, da unterschiedliche Teams und Personen unterschiedliche Prioritäten und Vorlieben haben.
Es ist äußerst wichtig, sich der Auswirkungen bewusst zu sein, die Bereitschaftsdienste auf das Leben der Menschen haben, sowohl auf der Verwaltungsebene als auch auf individueller Ebene. Es ist zu beachten, dass die Auswirkungen insbesondere von Menschen mit geringeren Privilegien stärker gespürt werden. Wenn Sie beispielsweise Zeit mit der Betreuung von Kindern oder anderen Familienmitgliedern verbringen müssen oder feststellen, dass ein großer Teil der Hausarbeit auf Ihren Schultern lastet, haben Sie bereits weniger Zeit und Energie als jemand, der diese Verpflichtungen nicht hat. Diese "zweite Schicht" oder "dritte Schicht" Arbeit hat tendenziell unverhältnismäßige Auswirkungen auf Menschen, und wenn Sie einen Bereitschaftsdienst mit einem Zeitplan oder einer Intensität implementieren, die voraussetzt, dass die Teilnehmer kein Privatleben außerhalb des Büros haben, schränken Sie die Personen ein, die in Ihrem Team teilnehmen können.
Ermutigen Sie die Mitarbeiter, einen Großteil ihres gewohnten Zeitplans beizubehalten. Ziehen Sie in Betracht, Ihrem Team mobile Router (USB-Modems) zur Verfügung zu stellen, damit die Mitarbeiter mit ihrem Laptop das Haus verlassen und dennoch ein gewisses Maß an Lebensqualität genießen können. Fördern Sie den Austausch von Bereitschaftsdiensten untereinander, wenn nötig, über kurze Zeiträume, damit die Mitarbeiter ins Fitnessstudio gehen oder einen Arzttermin während ihrer Bereitschaft wahrnehmen können. Schaffen Sie keine Kultur, in der Bereitschaft bedeutet, dass Ingenieure tatsächlich nichts tun, außer bereit zu sein. Die Balance zwischen Arbeit und Privatleben ist ein wesentlicher Bestandteil jeder Anstellung, insbesondere wenn man die Freizeit berücksichtigt. Höhere Mitglieder Ihres Teams sollten den anderen so weit wie möglich während der Bereitschaft ein Beispiel für diese Balance geben.
Auf individueller Ebene sollten Sie Ihren Freunden, Familienmitgliedern, Partnern, Haustieren usw. erklären, was Dienstbereitschaft bedeutet (wahrscheinlich ist es Ihren Katzen egal, da sie ohnehin um 4 Uhr früh aufstehen, wenn Sie einen Alarm erhalten, auch wenn sie Ihnen auf keinen Fall bei der Lösung helfen wollen). Stellen Sie sicher, dass Sie die verpasste Zeit nach Ihrer Schicht nachholen, sei es durch Treffen mit Freunden, Verwandten oder beispielsweise durch Schlaf. Wenn möglich, denken Sie darüber nach, einen geräuschlosen Alarm einzurichten (z. B. mit einer Smartwatch), die Sie durch Vibrieren am Handgelenk wecken kann, ohne die Menschen um Sie herum zu stören. Finden Sie Wege, um auf sich selbst Acht zu geben, während Sie sich inmitten der Dienstbereitschaft befinden und nach deren Ende. Vielleicht möchten Sie ein "Notfallkit für Dienstbereitschaft" zusammenstellen, um sich zu entspannen: einen Playlist Ihrer Lieblingsmusik hören, Ihr Lieblingsbuch lesen oder Zeit einplanen, um mit Ihrem Haustier zu spielen. Manager sollten die Selbstfürsorge fördern, indem sie den Leuten einen freien Tag nach einer Woche Dienstbereitschaft geben und darauf achten, dass die Menschen um Hilfe bitten (und sie auch erhalten), wenn sie diese benötigen.
Verbesserung der Bereitschaftserfahrung
Im Allgemeinen sollte die Bereitschaft nicht nur als unangenehme Pflicht angesehen werden: Sie haben die Gelegenheit und Verantwortung, aktiv daran zu arbeiten, sie für zukünftige Bereitschaftsdienste zu verbessern. Dies bedeutet, dass die kommenden Bereitschaftspersonen weniger Benachrichtigungen erhalten und diese präziser sind. Auch die Analyse der Wertigkeit Ihrer Benachrichtigungen, beispielsweise mit Opsweekly, kann helfen, herauszufinden, was Ihre Bereitschaft frustrierend macht und wie Sie das ändern können. Fragen Sie sich bei inaktiven Benachrichtigungen, ob es Möglichkeiten gibt, diese zu reduzieren – vielleicht, indem sie nur während der Arbeitszeiten ausgelöst werden, denn es gibt Dinge, auf die Sie mitten in der Nacht einfach nicht reagieren müssen. Scheuen Sie sich nicht, Benachrichtigungen zu löschen, zu ändern oder die Art und Weise anzupassen, wie diese gesendet werden, von „Telefon und E-Mail“ auf „nur E-Mail“. Experimente und Iteration sind der Schlüssel zur kontinuierlichen Verbesserung der Bereitschaft über die Zeit.
Wenn es um Warnungen geht, die tatsächlich von Bedeutung sind, sollten Sie darüber nachdenken, wie einfach es für Ingenieure ist, die erforderlichen Maßnahmen zu ergreifen. Jede funktionierende Warnung sollte mit einem Runbook versehen sein – ziehen Sie in Betracht, ein Tool wie nagios-herald zu verwenden, um Links zu Runbooks in Ihre Warnungen einzufügen. Wenn eine Warnung so einfach ist, dass sie kein Runbook benötigt, ist sie wahrscheinlich auch einfach genug, um die Antwort zu automatisieren, beispielsweise mit Nagios-Ereignis-Handlern. Damit sparen Sie Personen, die für leicht automatisierbare Aufgaben aufwachen oder unterbrochen werden müssen. Sowohl Runbooks als auch nagios-herald können Ihnen helfen, wertvollen Kontext zu Ihren Warnungen hinzuzufügen, was den Menschen ermöglicht, effektiver darauf zu reagieren. Überlegen Sie, ob Sie häufige Fragen beantworten können, wie: Wann wurde dieser Alarm zuletzt ausgelöst? Wer hat zuletzt darauf reagiert und welche Maßnahmen wurden ergriffen (sofern vorhanden)? Welche anderen Warnungen erscheinen gleichzeitig und stehen sie im Zusammenhang? Solche kontextuellen Informationen finden sich oft nur im Kopf der Menschen, daher kann die Förderung einer Dokumentations- und Informationskultur den Aufwand verringern, der für die Reaktion auf Warnmeldungen erforderlich ist.
Ein wesentlicher Teil der Müdigkeit, die durch Dienste entsteht, liegt darin, dass sie niemals enden — wenn Ihr Team Dienste hat, ist es unwahrscheinlich, dass sie in naher Zukunft enden. Dienste hören nie auf, und wir können das Gefühl haben, dass sie immer belastend sein werden. Diese Hoffnungslosigkeit stellt ein großes mentales Problem dar, das zu Stress und Erschöpfung beitragen kann. Daher ist es ein guter Anfang, die Wahrnehmung (neben der Realität) zu hinterfragen, dass Dienste immer belastend sein werden — um langfristig über Ihre Dienste nachzudenken.
Um den Menschen Hoffnung zu geben, dass sich die Situation während der Bereitschaftsdienste irgendwann verbessern wird, ist es notwendig, die Systemüberwachung (das gleiche Tracking und die Kategorisierung der Bereitschaftsdienste, auf die ich zuvor hingewiesen habe) zu implementieren. Achten Sie darauf, wie viele Warnungen Sie erhalten, welcher Prozentsatz davon das Eingreifen des Bereitschaftsinhabers erfordert und wie viele davon Menschen wecken. Arbeiten Sie dann daran, eine Kultur zu schaffen, die die Menschen ermutigt, Dinge besser zu machen. Wenn Sie ein großes Team haben, kann es verlockend sein, sobald Ihr Bereitschaftsdienst zu Ende geht, die Hände in den Schoß zu legen und zu sagen: 'Das ist das Problem des nächsten Bereitschaftsdienstes', anstatt sich die Mühe zu machen, etwas zu beheben. Wer möchte schon mehr Aufwand für den Bereitschaftsdienst aufbringen, als nötig ist? Hier kann eine Kultur der Empathie einen großen Unterschied machen, da Sie sich nicht nur um Ihr eigenes Wohlbefinden während des Bereitschaftsdienstes kümmern, sondern auch um das Ihrer Kollegen.
Es geht um Empathie.
Empathie ist ein wichtiger Bestandteil dessen, was uns dabei hilft, die Arbeit zu fördern, die das Erlebnis bei Schichten verbessert. Als Manager oder Teilnehmer können Sie das Verhalten von Personen, die die Schichten verbessern, positiv bewerten oder sogar belohnen. Die Unterstützung der Systeme (Operations) ist ein Bereich, in dem Ingenieure oft das Gefühl haben, dass die Aufmerksamkeit der Menschen nur dann auf sie gerichtet ist, wenn etwas schiefgeht: Die Menschen sind da, um sie zu kritisieren, wenn die Website ausfällt, aber sie erfahren selten von den „Hintergrund“-Anstrengungen, die die Operations-Ingenieure aufbringen, um die Website während der gesamten restlichen Zeit am Laufen zu halten. Die Anerkennung der geleisteten Arbeit kann entscheidend sein, ob es sich um einen Dank bei einem Meeting oder in einer allgemeinen E-Mail handelt für die Verbesserung eines bestimmten Alerts, eines technischen Aspekts der Schicht oder um jemandem die Möglichkeit zu geben, einen anderen Ingenieur für eine bestimmte Zeit abzulösen.
Ermutigen Sie Menschen dazu, Zeit und Mühe zu investieren, um die Situation bei den Schichten langfristig zu verbessern. Wenn Ihre Gruppe Schichten hat, sollten Sie die Planung und Prioritätensetzung für diese Aufgaben ebenso ernst nehmen wie für jede andere Arbeit in Ihrem Fahrplan. Schichten sind zu 90 % von Entropie geprägt, und wenn Sie nicht aktiv daran arbeiten, sie zu verbessern, werden sie mit der Zeit immer schlechter. Arbeiten Sie mit Ihrem Team zusammen, um herauszufinden, was die Menschen am meisten motiviert und anregt, und nutzen Sie dies, um die Mitarbeiter zu ermutigen, den Benachrichtigungslärm zu reduzieren, Runbooks zu erstellen und Werkzeuge zu entwickeln, die ihre Probleme bei den Schichten lösen. Was auch immer Sie tun, akzeptieren Sie nicht, dass schreckliche Schichten Teil des Status quo sind.
Quelle: habr.com
