Thema 3.6 — DevOps und Engineering-Exzellenz

In einem Satz: In klinischen Systemen ist diszipliniertes Engineering – automatisierte Pipelines, kleine umkehrbare Releases, Infrastructure as Code und Beobachtbarkeit – das, was Veränderung sicherer, nicht riskanter macht; „wie wir Software bauen und betreiben“ als Anliegen von Sicherheit, Gerechtigkeit und öffentlichem Vertrauen zu behandeln ist das Kennzeichen einer reifen Organisation der digitalen Gesundheit.

Warum das in Gesundheit und Pflege wichtig ist#

Die Art, wie Sie Software entwickeln und betreiben, ist selbst eine Kontrolle der klinischen Sicherheit. Wenn eine Gemeindekrankenschwester eine Medikationsänderung nicht sehen kann, eine E-Überweisung still scheitert oder ein Ausfall Klinikpersonal aus einer gemeinsamen Patientenakte aussperrt, ist der Schaden keine abstrakte Unannehmlichkeit – es sind verzögerte Behandlung, eine übersehene Allergie, eine Lücke im Schutz. Die Engineering-Praktiken dieses Themas bestimmen, ob eine nötige Korrektur die Produktion in zehn Minuten oder zehn Wochen erreicht und ob eine schlechte Änderung sauber zurückgenommen werden kann oder Klinikpersonal tagelang um ein kaputtes System herum arbeiten lässt.

In regulierten Bereichen hält sich hartnäckig ein gefährlicher Mythos, Veränderung sei Risiko, sodass das sicherste System dasjenige sei, das man am wenigsten anfasst. Die Evidenz weist in die andere Richtung. Selten geänderte Systeme sammeln ungepatchte Schwachstellen, brüchige manuelle Bereitstellungsschritte und undokumentiertes Herrschaftswissen an; wenn Veränderung schließlich unvermeidlich wird – ein Sicherheitspatch, eine regulatorische Frist, ein Lieferantenrückzug –, trifft sie als großer, riskanter, schlecht verstandener „Big Bang“ ein. Organisationen, die kleine Änderungen häufig mit Automatisierung und schnellem Rollback ausliefern, erleben weniger Ausfälle und erholen sich schneller davon. In Gesundheit und Pflege wird dieser Unterschied in Patientensicherheit gemessen.

Engineering-Exzellenz ist auch eine Frage von Gerechtigkeit und öffentlichem Vertrauen. Software, die nicht beobachtbar ist, verbirgt, dass ein Service für Nutzende auf älteren Geräten oder in Gebieten mit schlechter Konnektivität schlechter abschneidet. Eine unsichere Software-Lieferkette gefährdet vertrauliche Patienteninformationen (siehe Thema 1.7 — Informationsgovernance, Datenschutz und Cybersicherheit). Und weil es um öffentliches Geld und öffentliche Daten geht, erwartet der Sektor zunehmend, dass Code nach offenen, einsehbaren Standards gebaut wird – manchmal buchstäblich offen. Wie Sie arbeiten, ist daher keine private Engineering-Angelegenheit; es ist gegenüber Patientinnen, Patienten, Klinikpersonal und Öffentlichkeit rechenschaftspflichtig.

Kernkonzepte#

DevOps. DevOps ist eine Kultur und ein Satz von Praktiken, die die traditionelle Mauer zwischen den Entwicklern, die Software bauen, und dem Betriebspersonal, das sie betreibt, abbauen. Statt Code „über die Mauer zu werfen“ zu einem separaten Team, teilen dieselben Menschen die Verantwortung für einen Service vom Design bis zum Live-Betrieb, gestützt auf Automatisierung und schnelle Rückmeldung. Es ist in erster Linie eine Arbeitsweise – geteilte Verantwortung, schuldfreies Lernen, kleine Chargen –, ermöglicht durch Werkzeuge, kein Werkzeug, das man kauft.

Continuous Integration und Continuous Delivery (CI/CD). Continuous Integration (CI) heißt, dass jede Entwicklerin kleine Änderungen häufig in einen gemeinsamen Hauptzweig einbringt, jeweils mit automatischem Build und Testlauf, sodass Probleme binnen Minuten auftauchen. Continuous Delivery (CD) erweitert dies so, dass Software stets in einem auslieferbaren Zustand ist und über eine automatisierte, wiederholbare Pipeline in die Produktion bereitgestellt werden kann. Continuous Deployment geht einen Schritt weiter und liefert jede Änderung, die die Pipeline besteht, automatisch aus. Testen ist der Inhalt der Tore der Pipeline – ausführlich behandelt in Thema 3.7 — Testen und Qualitätssicherung.

Trunk-based Development und kleine, umkehrbare Releases. Trunk-based Development hält alle nahe an einer einzigen Hauptlinie in der Versionsverwaltung und integriert viele Male am Tag, statt langlebige Zweige zu pflegen, die auseinanderdriften und schmerzhaft zusammengeführt werden. Die gepaarte Disziplin ist, kleine, häufige, unabhängig umkehrbare Änderungen auszuliefern. Eine kleine Änderung ist leicht zu prüfen, leicht zu testen und – entscheidend in einem klinischen System – leicht sauber zurückzunehmen, wenn etwas schiefgeht.

Infrastructure as Code (IaC). Statt Server von Hand zu konfigurieren, definieren Sie Infrastruktur in maschinenlesbaren Dateien unter Versionsverwaltung. Die Umgebung wird reproduzierbar, prüfbar und auditierbar: Sie können sie identisch neu aufbauen, sehen, wer was warum geändert hat, und beweisen, dass Test und Produktion übereinstimmen. Das ist das Fundament zuverlässiger Umgebungen (siehe Thema 4.0 — Technische Architektur, Cloud und Altsysteme).

Platform Engineering und Developer Experience. Platform Engineering behandelt die internen Werkzeuge, Pipelines und Umgebungen, von denen Lieferteams abhängen, als Produkt, dessen Nutzende die Teams sind. Eine gut gebaute interne Plattform gibt Teams eine „gepflasterte Straße“ – sichere Voreinstellungen, vorab genehmigte Muster, Ein-Klick-Bereitstellung –, damit sie schnell und sicher vorankommen, ohne dass jedes Compliance neu erfindet. Gute Developer Experience ist keine Nachsicht; sie ist die Art, den sicheren Weg zum leichten Weg zu machen.

Die DORA-Kennzahlen. DevOps Research and Assessment (DORA) identifizierte vier Maße, die leistungsstarke Teams auszeichnen: Bereitstellungshäufigkeit (wie oft Sie ausliefern), Durchlaufzeit von Änderungen (wie lange vom Commit bis zur Produktion), Änderungsfehlerrate (welcher Anteil der Änderungen ein Problem verursacht) und Zeit bis zur Wiederherstellung des Services (wie schnell Sie sich erholen). Zusammen zeigen sie, dass Geschwindigkeit und Stabilität gemeinsam steigen – die Teams, die am häufigsten ausliefern, scheitern auch am seltensten und erholen sich am schnellsten.

„You build it, you run it“, SRE und Beobachtbarkeit. Bei Amazon populär gemacht, bedeutet „you build it, you run it“, dass das Team, das einen Service schreibt, ihn auch betreibt, den Pager trägt und seine Ausfälle spürt – und so die Rückkopplungsschleife zwischen Engineering-Entscheidungen und operativer Realität schließt (siehe Thema 3.8 — Servicemanagement und Live-Betrieb). Site Reliability Engineering (SRE) ist eine spezifische Umsetzung, die Engineering auf den Betrieb anwendet, mit expliziten Zuverlässigkeitszielen und Fehlerbudgets. Beobachtbarkeit – die Fähigkeit, den inneren Zustand eines Systems aus seinen Ausgaben (Metriken, Logs, Traces) zu verstehen – ist, was Sie Probleme erkennen und diagnostizieren lässt, bevor es Patientinnen, Patienten und Klinikpersonal tun.

Sichere Software-Lieferkette. Moderne Software wird aus vielen Komponenten und Abhängigkeiten Dritter zusammengesetzt. Ein Lieferkettenangriff nutzt eine vertraute Komponente aus, um alles zu kompromittieren, was von ihr abhängt. Abhängigkeiten zu steuern, auf bekannte Schwachstellen zu scannen und eine Software Bill of Materials zu führen ist zentrale Engineering-Hygiene, kein optionales Sicherheitsextra.

Coding in the Open und Open-Source-Software. Die britische Regierungspolitik – ausgedrückt im GDS Service Standard und im NHS Service Standard – bittet Teams, neuen Quellcode standardmäßig offen zu machen und offene Standards zu nutzen. Für öffentlich finanzierte Gesundheitssoftware verbessert das Prüfung, Wiederverwendung und Vertrauen, vorausgesetzt Patientendaten und echte Geheimnisse werden strikt aus öffentlichen Repositories herausgehalten.

Bewährte Praktiken#

  1. Bauen Sie eine CI/CD-Pipeline, bevor Sie den Service bauen. Richten Sie ab der ersten Woche automatisierten Build, Test und Bereitstellung ein, damit jede Änderung über denselben wiederholbaren, prüfbaren Weg in die Produktion fließt. In der Pipeline leben Ihre Tore für klinische Sicherheit, Sicherheit und Barrierefreiheit als automatisierte Prüfungen und geben Ihnen eine dokumentierte, manipulationssichere Aufzeichnung, was genau wann bereitgestellt wurde. In einem regulierten System ist diese Prüfspur kein Overhead – sie ist Evidenz für Ihren Safety Case (siehe Thema 1.6 — Klinische Sicherheit und Risikomanagement).

  2. Stellen Sie kleine, häufige, umkehrbare Änderungen bereit. Bevorzugen Sie viele kleine Releases gegenüber gelegentlichen großen und gestalten Sie jede Änderung so, dass sie schnell zurückgenommen oder deaktiviert werden kann. Eine winzige Änderung, die scheitert, ist leicht zu verstehen und umzukehren; ein vierteljährlicher Mega-Release, der scheitert, ist ein klinischer Vorfall mit hundert Verdächtigen. Techniken wie Feature Flags, Canary-Releases und Blue-Green-Deployment lassen Sie Veränderung schrittweise aussetzen und sofort zurückziehen – und machen Bereitstellung von einem gefürchteten Ereignis zu einem routinierten, dramaarmen Akt.

  3. Machen Sie schnelles, sauberes Rollback zu einer erstklassigen Sicherheitskontrolle. Proben Sie Rollback, wie Sie eine Brandübung proben, und messen Sie, wie lange es tatsächlich dauert. In einem klinischen System ist die wertvollste operative Fähigkeit, binnen Minuten in einen bekannt guten Zustand zurückzukehren, wenn eine Änderung Schaden anrichtet. Ein nie getestetes Rollback ist eine Hoffnung, keine Kontrolle; beweisen Sie, dass es funktioniert, und beweisen Sie es immer wieder.

  4. Behandeln Sie Infrastruktur und Konfiguration als Code. Definieren Sie Umgebungen, Netzwerke und Konfiguration deklarativ unter Versionsverwaltung und stellen Sie sie automatisch bereit. Das gibt Ihnen reproduzierbare Umgebungen, von Kolleginnen geprüfte Änderungen und die Fähigkeit, nach einem Ausfall oder einer Katastrophe neu aufzubauen (siehe Thema 3.9 — Business Continuity und Disaster Recovery). Manuelle, von Hand abgestimmte „Snowflake“-Server sind nicht wiederholbar, undokumentiert und die übliche Ursache für „im Test lief es, in der Produktion nicht“.

  5. Nutzen Sie die DORA-Kennzahlen für ehrliche Gespräche, nicht zum Ranken von Menschen. Verfolgen Sie Bereitstellungshäufigkeit, Durchlaufzeit, Änderungsfehlerrate und Wiederherstellungszeit als Gesundheitssignal des Systems und beobachten Sie, wie sie sich gemeinsam hin zu schneller-und-sicherer bewegen. Widerstehen Sie dem Verwandeln in Ranglisten von Einzelnen oder Teams – die eigenen Autoren von DORA warnen davor, weil es Tricksen und verstecktes Risiko treibt. Die richtige Nutzung ist diagnostisch: Eine steigende Änderungsfehlerrate sagt Ihnen etwas über Testabdeckung oder Chargengröße, das ein Vorstand hören wollen sollte.

  6. Übernehmen Sie „you build it, you run it“, gestützt auf Beobachtbarkeit. Geben Sie Lieferteams echte Verantwortung für ihre Services in der Produktion, einschließlich Bereitschaftsverantwortung, damit die Menschen, die Designentscheidungen treffen, mit den operativen Folgen leben. Unterlegen Sie das mit Beobachtbarkeit – Metriken, strukturierte Logs und Traces sowie sinnvolle, an die Nutzerwirkung gebundene Alarmierung –, damit Teams Probleme finden, bevor Klinikpersonal sie meldet. Das schließt die Rückkopplungsschleife, die Engineering-Entscheidungen über die Zeit besser macht, und hängt direkt mit dem Servicemanagement zusammen (Thema 3.8).

  7. Sichern Sie die Software-Lieferkette kontinuierlich. Führen Sie ein Inventar der Abhängigkeiten, scannen Sie automatisch auf bekannte Schwachstellen, fixieren und verifizieren Sie Versionen und halten Sie eine Software Bill of Materials, damit Sie binnen Stunden nach dem nächsten breit bekannt gewordenen Mangel „sind wir betroffen?“ beantworten können. Beschränken Sie, wer und was in die Produktion pushen kann, und schützen Sie Geheimnisse und Zugangsdaten rigoros (siehe Thema 4.2 — Identitäts- und Zugriffsmanagement). In Gesundheit und Pflege ist eine kompromittierte Abhängigkeit ein Weg zu vertraulichen Patientendaten; Lieferketten-Hygiene ist daher Arbeit für Patientensicherheit und Informationsgovernance.

  8. Legen Sie Engineering-Standards fest, setzen Sie sie durch und steuern Sie technische Schulden bewusst. Vereinbaren Sie Coding-Standards, automatisches Linting, Code-Review und eine klare „Definition of Done“, damit Qualität eingebaut statt später hineininspiziert wird. Verfolgen Sie technische Schulden explizit und bauen Sie sie als geplante Arbeit ab, denn ungesteuerte Schulden in einem klinischen System erhöhen still Kosten und Risiko jeder künftigen Änderung. Standards machen Code für die nächste Entwicklerin lesbar – und für die Prüfenden, Sicherheitsbeauftragten und Open-Source-Reviewer, die ihn womöglich lesen müssen.

  9. Programmieren Sie offen, wo Sie es sicher können. Folgen Sie der Erwartung von GDS und NHS, neuen Quellcode standardmäßig offen zu machen und offene Standards wiederzuverwenden, und halten Sie Patientendaten und Geheimnisse durch disziplinierte Geheimnisverwaltung strikt aus öffentlichen Repositories heraus. Offener Code lädt zu Prüfung ein, die Qualität und Sicherheit verbessert, ermöglicht Wiederverwendung in einem klammen System und schafft öffentliches Vertrauen, dass Software, die öffentliches Geld ausgibt, tut, was sie behauptet. Wo Code wirklich nicht geöffnet werden kann (etwa manche sicherheitsempfindlichen Komponenten), dokumentieren Sie den Grund, statt aus Gewohnheit standardmäßig geschlossen zu bleiben.

Fragen zur Diskussion im Team#

  1. Glauben wir wirklich, dass häufigeres Ändern unserer klinischen Systeme sie sicherer macht – und entspricht unser Verhalten diesem Glauben? Diese Frage zwingt ein Team, die Lücke zwischen Evidenz und Instinkt zu konfrontieren. Die DORA-Forschung ist klar, dass Teams, die kleine Änderungen häufig bereitstellen, niedrigere Fehlerraten haben und sich schneller erholen, doch viele Gesundheitsorganisationen bündeln Änderungen im Namen der Sicherheit noch immer in seltene, stark getorte Releases und machen jeden unbeabsichtigt größer und riskanter. Debattieren Sie, wo Ihre Change-Advisory-Prozesse Risiko tatsächlich senken und wo sie nur Verzögerung hinzufügen, die Teams zu Big-Bang-Releases drängt. Schauen Sie ehrlich auf Ihre letzten Vorfälle: Wurden sie durch häufige kleine Änderungen verursacht oder durch seltene große und ungepatchte Vernachlässigung? Überlegen Sie, ob Ihre Rollback-Fähigkeit real und geprobt ist, denn das Argument für häufige Änderung ruht ganz darauf, sie schnell umkehren zu können. Eine gute Antwort ist nicht ideologisch; sie benennt die konkreten Kontrollen – automatisiertes Testen, Canary-Releases, getestetes Rollback –, die Sie die Änderungshäufigkeit erhöhen und zugleich Ihre Pflichten zu klinischer Sicherheit und Assurance erfüllen ließen.

  2. Wer betreibt unsere Services um 2 Uhr nachts in der Produktion, und was sagt uns das über unsere Engineering-Entscheidungen? „You build it, you run it“ ist leicht zu befürworten und schwer zu leben. Diese Frage bringt ans Licht, ob die Menschen, die Architektur- und Lieferentscheidungen treffen, die operativen Folgen tatsächlich spüren oder ob Schmerz auf ein separates Betriebs- oder Service-Desk-Team abgeladen wird, das Grundursachen nicht beheben kann. Ergründen Sie den Stand Ihrer Beobachtbarkeit: Wenn eine gemeinsame Patientenakte langsamer wird, erfahren Sie es aus Dashboards und Alarmen oder von einem verärgerten Kliniker? Besprechen Sie auch die menschlichen Kosten – Bereitschaft muss menschlich, finanziert und geteilt sein, sonst wird sie zu einem Burnout- und Bindungsproblem, was in einem personalbeschränkten NHS ein ernstes Risiko ist (siehe Thema 7.2 — Personalplanung). Es gibt einen echten Zielkonflikt zwischen voller Team-Verantwortung und der Realität, dass manche kleineren Organisationen und Lieferanten tatsächlich eine gemeinsame Plattform oder einen Managed Service brauchen, um Dinge zuverlässig zu betreiben. Eine starke Antwort verbindet operative Verantwortung mit dem Design: Sie identifiziert, wo die Rückkopplungsschleife zwischen Bauen und Betreiben gebrochen ist und was Sie ändern würden, damit Engineering-Entscheidungen von der Realität des Live-Betriebs informiert werden.

  3. Wie viel unseres Codes und unserer Engineering-Praxis würde es aushalten, öffentlich gemacht zu werden – und was offenbart die Antwort? Die Politik von Regierung und NHS bittet Teams, standardmäßig offen zu programmieren, und diese Frage nutzt diese Linse als Diagnose, auch wo volle Offenheit noch nicht möglich ist. Wenn die Aussicht, Ihre Repositories zu veröffentlichen, Angst auslöst, fragen Sie genau, warum: sind es fest kodierte Geheimnisse, eingebettete Patientendaten, fehlende Tests, undokumentierte Entscheidungen oder schlicht Unvertrautheit? Jedes davon ist ein echtes Problem der Engineering-Qualität oder Informationsgovernance, das Geschlossenheit nur verbirgt, statt es zu lösen. Debattieren Sie die echten Beschränkungen – manch sicherheitsempfindlicher Code sollte geschlossen bleiben, und richtige Geheimnisverwaltung ist Voraussetzung – gegen den Nutzen von Prüfung, Wiederverwendung in einem klammen System und öffentlichem Vertrauen in die Verwendung von Ausgaben für Gesundheitssoftware. Bedenken Sie den Reputations- und Sicherheitswert externer Augen, die einen Mangel finden, bevor es ein Angreifer tut. Eine gute, ehrliche Antwort unterscheidet Code, der aus einem vertretbaren, dokumentierten Grund geschlossen ist, von Code, der aus Gewohnheit oder Verlegenheit geschlossen ist, und verpflichtet sich, die zugrunde liegenden Qualitäts- und Hygieneprobleme so oder so zu beheben.

  4. Wenn morgen früh eine breit bekannt gewordene Schwachstelle in einer verbreiteten Abhängigkeit angekündigt würde, wie lange bräuchten wir, um „sind wir betroffen, und wo?“ zu beantworten? Diese Frage prüft, ob Lieferketten-Hygiene eine echte Fähigkeit oder eine Aspiration ist, anhand der Art sektorweiten Ereignisses – ein Mangel im Stil von Log4j –, das ein abstraktes Risiko in einen Notfall am selben Tag verwandelt. Die ehrliche Antwort hängt davon ab, ob Sie ein genaues Inventar der Abhängigkeiten und eine Software Bill of Materials führen oder ob Sie Tage damit verbrächten, Repositories zu durchsuchen und Lieferanten zu fragen, die es womöglich selbst nicht wissen. Ergründen Sie, wie viel Ihrer Software aus Komponenten Dritter und Open Source zusammengesetzt ist und wie viel dieser Oberfläche Sie tatsächlich mit automatisiertem Scannen statt gelegentlichen manuellen Prüfungen überwachen. Besprechen Sie auch die Dimension Dritter und Lieferanten, denn in Gesundheit und Pflege wird ein Großteil des Bestands gekauft statt gebaut, und eine kompromittierte Abhängigkeit im Produkt eines Lieferanten ist ein Weg zu vertraulichen Patientendaten, die Sie nicht direkt kontrollieren (siehe Thema 1.7 — Informationsgovernance, Datenschutz und Cybersicherheit). Überlegen Sie, ob Ihre Pipelines und Produktions-Push-Berechtigungen so eng sind, dass eine vergiftete Komponente nicht still ausgeliefert werden könnte. Eine starke Antwort nennt eine realistische Zeit bis zur Antwort in Stunden, verweist auf die konkreten Werkzeuge und Inventare, die sie ermöglichen, und ist offen bei den Teilen des Bestands – besonders lieferantenbereitgestellten –, in denen die Sicht derzeit schwach ist.

  5. Sagen uns unsere Engineering-Kennzahlen die Wahrheit, oder sind sie still zu einem Leistungsziel geworden, das Menschen nach oben managen? Die DORA-Kennzahlen sind nur als ehrliches Systemsignal nützlich, und diese Frage prüft, ob Ihre den Kontakt mit organisatorischen Anreizen überstanden haben. Das Goodhart'sche Gesetz ist unerbittlich: Sobald Bereitstellungshäufigkeit oder Änderungsfehlerrate zu einer Zahl wird, an der ein Team gemessen wird, optimieren Menschen die Zahl statt der zugrunde liegenden Realität – sie teilen Bereitstellungen, um die Häufigkeit aufzublähen, oder klassifizieren Vorfälle still um, damit sie nicht als Fehler zählen. Debattieren Sie, wer diese Kennzahlen sieht und warum und ob sie diagnostisch genutzt werden, um Investitionen in Testabdeckung oder Chargengröße anzustoßen, oder als Rangliste, die Tricksen und verstecktes Risiko treibt. Bedenken Sie auch die Kehrseite: Teams, die nichts messen und sich auf Anekdoten verlassen, sodass eine steigende Fehlerrate unsichtbar bleibt, bis sie zu einem klinischen Vorfall wird. Es gibt eine echte Spannung zwischen dem legitimen Bedürfnis des Vorstands nach Assurance und der Tatsache, dass die nützlichsten Kennzahlen jene sind, die Teams sich sicher fühlen, ehrlich zu melden. Eine gute Antwort beschreibt, wie Messung gerahmt und gesteuert wird, damit sie unbequeme Wahrheiten früh ans Licht bringt, statt Menschen dafür zu belohnen, sie zu verbergen.

  6. Wann haben wir zuletzt bewusst technische Schulden abgebaut, und wie entscheiden wir, was „gut genug“ Engineering in einem klinischen System bedeutet? Technische Schulden in einem klinischen System sind keine Frage der Ordentlichkeit; sie erhöhen still Kosten und Risiko jeder künftigen Änderung, sodass die Korrektur, die einen Tag dauern sollte, zwei Wochen dauert und Code berührt, den niemand zu refaktorieren wagt. Diese Frage zwingt ein Team zu konfrontieren, ob Schulden als sichtbare, geplante Arbeit gesteuert oder nur angesammelt werden, bis etwas kaputtgeht, und ob Engineering-Standards – Code-Review, Linting, eine klare Definition of Done – wirklich durchgesetzt oder unter Lieferdruck erlassen werden. Ergründen Sie den echten Zielkonflikt zwischen dem Ausliefern der Funktion, die ein Service jetzt braucht, und dem Erhalt der inneren Qualität, die das System später sicher änderbar hält, denn in Gesundheit und Pflege sind beide legitim und die Balance ist ein Urteil, keine Parole. Besprechen Sie, wie Standards Code nicht nur für die nächste Entwicklerin lesbar machen, sondern auch für die Prüfenden, Clinical Safety Officers und Open-Source-Reviewer, die ihn womöglich lesen müssen. Überlegen Sie, ob Sie Ihre Schulden überhaupt sehen können: Sind sie benannt und verfolgt, oder ist es Herrschaftswissen darüber, welche Module beängstigend sind? Eine ehrliche Antwort verweist auf konkrete, finanzierte Sanierung, die tatsächlich stattgefunden hat, und auf eine geteilte, vertretbare Definition der Qualitätslatte, die ein reguliertes System verlangt.

In der Praxis: ein Beispiel aus Gesundheit und Pflege#

Ein Integrated Care System (ICS) betreibt einen gemeinsamen „Single Point of Access“-Service, der dringende Überweisungen an die Gemeindeversorgung an das richtige Team leitet. In seinen ersten zwei Jahren wurde der Service etwa einmal im Quartal von Hand bereitgestellt: Ein Entwickler folgte an einem Freitagabend einer Wiki-Seite mit manuellen Schritten, und jeder Release war ein angespanntes Ereignis mit allen Mann an Deck. Als ein Fehler im Überweisungs-Routing auftauchte – der gelegentlich Überweisungen mit komplexem Bedarf an das falsche Team schickte –, saß die Korrektur sechs Wochen in einer Warteschlange und wartete auf das nächste Release-Fenster, und Klinikpersonal steuerte das Risiko mit manuellen Umgehungen.

Der neue Engineering-Leiter rahmt dies als Problem der klinischen Sicherheit um, nicht bloß der Effizienz. Das Team führt eine CI/CD-Pipeline ein: Jede Änderung ist klein, von Kolleginnen geprüft und automatisch gebaut und getestet, mit Prüfungen zu Barrierefreiheit und Sicherheit und einem Freigabeschritt der klinischen Sicherheit, als Pipeline-Tore kodiert, die eine prüfbare Aufzeichnung für das Gefährdungsprotokoll erzeugen. Die Infrastruktur wird in Code überführt, sodass Test- und Produktionsumgebungen endlich übereinstimmen. Bereitstellungen wandern von vierteljährlich zu mehrmals die Woche, zuerst in einem einzelnen Ortsteil als Canary ausgeliefert, mit einem getesteten Rollback, das in unter fünf Minuten in den letzten bekannt guten Zustand zurückkehrt.

Sechs Monate später erzählen die DORA-Kennzahlen dem Vorstand die Geschichte in einfachen Begriffen: Die Durchlaufzeit einer Korrektur ist von sechs Wochen auf unter einen Tag gefallen, die Bereitstellungshäufigkeit ist auf das Zehnfache gestiegen, und die Änderungsfehlerrate ist gesunken, weil Änderungen nun klein und beobachtbar sind. Als ein subtiler Routing-Fehler wiederkehrt, markieren Beobachtbarkeits-Dashboards die Anomalie binnen Minuten, das Team nimmt zurück, bevor eine Überweisung falsch geleitet wird, liefert am nächsten Morgen eine Korrektur aus und hält eine schuldfreie Nachbetrachtung fest. Das Team veröffentlicht zudem die nicht sensible Routing-Regel-Engine als Open Source unter dem NHS Service Standard, und ein benachbartes ICS nutzt sie wieder. Das System häufiger zu ändern hat es nachweislich sicherer gemacht.

Sektorperspektiven#

Startup#

Ein Startup der digitalen Gesundheit kann von Tag eins an moderne Engineering-Praxis übernehmen, ohne ein Legacy-Betriebsteam, mit dem zu verhandeln ist – Trunk-based Development, CI/CD und Infrastructure as Code sind in einem kleinen Greenfield-Team im Wesentlichen kostenlose Voreinstellungen, und das ist ein echter Vorteil. Das Risiko ist, dass „move fast“ still die Disziplinen fallen lässt, die Gesundheit verlangt: Automatisierte Tests, getestetes Rollback, Geheimnisverwaltung und Abhängigkeitsscanning fühlen sich wie Reibung an, wenn noch keine Aufsicht zusieht. Die Gründenden müssen erkennen, dass Pflichten zu klinischer Sicherheit und Lieferkette unabhängig von der Unternehmensgröße gelten und ein einziger geleakter Patientendatensatz oder eine ungesteuerte Abhängigkeit das Unternehmen beenden kann. Der pragmatische Weg ist, sich auf verwaltete Cloud-Plattformen und eine kleine, meinungsstarke „gepflasterte Straße“ zu stützen, damit ein winziges Team Sicherheit per Voreinstellung bekommt, ohne eine Plattformgruppe aufzubauen, die es sich noch nicht leisten kann.

Kleines Unternehmen#

Ein etablierter kleiner Anbieter oder Lieferant – eine Hausarztpraxis, eine Gemeindeapotheke, ein Pflegeheim, eine Einzelstandort-Klinik oder ein kleiner Health-Tech-Anbieter jenseits der Phase ohne Umsatz – hat meist echte Patientinnen, Patienten und realen Betrieb, aber keine eigene Engineering- oder IT-Funktion, um Pipelines, Beobachtbarkeit oder Bereitschaft zu betreiben. Für die meisten solcher Organisationen ist die praktische Form von Engineering-Exzellenz, sie gut zu kaufen statt zu bauen: Wählen Sie Lieferanten und verwaltete Plattformen, deren eigene DevOps-Disziplin Sie prüfen können, und machen Sie automatisierte Updates, getestete Backups und das Patchen von Abhängigkeiten zu vertraglichen Erwartungen statt Hoffnungen. Wo ein kleiner Anbieter tatsächlich Software schreibt, liefert eine einzige gut konfigurierte CI/CD-Pipeline auf einer verwalteten Cloud-Plattform, mit automatisiertem Abhängigkeitsscanning und aus dem Repository herausgehaltenen Geheimnissen, den größten Teil des Sicherheitsnutzens zu Kosten, die ein schlankes Team tragen kann. Die Falle ist anzunehmen, kleine Größe senke die Latte für klinische Sicherheit, Sicherheit und Informationsgovernance – das tut sie nicht, und eine ungepatchte Abhängigkeit oder eine schiefgegangene handbereitgestellte Änderung schadet Patientinnen und Patienten in einer Zwei-Kliniker-Praxis ebenso sicher wie in einer nationalen Stelle. Das realistische Ziel ist Sicherheit per Voreinstellung, geerbt von guten Plattformen und Lieferanten, wobei die begrenzte Aufmerksamkeit der Praxis darauf verwendet wird zu prüfen, dass diese Voreinstellungen tatsächlich eingeschaltet sind.

Großunternehmen#

Ein großer NHS Trust oder ein großer Health-Tech-Lieferant hat die Ressourcen, Platform Engineering, Beobachtbarkeit und „you build it, you run it“ ordentlich zu betreiben, wird aber von Altsystemen, siloierten Entwicklungs- und Betriebsteams und für eine langsamere Ära gebauten Change-Advisory-Prozessen zurückgehalten. Das charakteristische Versagen ist ein schwerfälliges Change Board, das beim Versuch, Risiko zu kontrollieren, große gebündelte Releases erzwingt, die gefährlicher sind als die häufigen kleinen, die es fürchtet. Die Chance ist, in eine interne Entwicklerplattform zu investieren, die Compliance-, Sicherheits- und Tore der klinischen Sicherheit in eine gepflasterte Straße einbaut, sodass Dutzende Teams gute Praxis erben, statt sie je auszuhandeln. Größe ist hier das zweischneidige Schwert: Der Wirkungsradius einer schlechten Bereitstellung ist enorm, weshalb Automatisierung, Canary-Releases und getestetes Rollback gerade wesentlich statt optional sind.

Regierung#

Eine nationale Stelle wie NHS England oder ein dezentrales Gesundheitsministerium setzt die Standards, denen andere folgen – die Service Standards von NHS und GDS, die Ausgabenkontrollen, die Erwartung, offen zu programmieren – und ist gegenüber Parlament und Öffentlichkeit dafür rechenschaftspflichtig, wie Software gebaut und betrieben wird. Ihre Engineering-Entscheidungen wirken über das System: Eine gut betriebene nationale Plattform, veröffentlichte Open-Source-Komponenten und klare Leitlinien zur Lieferkette heben die Untergrenze für jeden Trust und Lieferanten. Die Beschränkungen sind real – mehrjährige Finanzierung, Beschaffungsregeln und die schiere Größe und Sensibilität nationaler Daten bedeuten, dass der Bereitstellungstakt gemessener ist als in einem Startup. Die Regierungsperspektive muss vorbildliche Transparenz und Wiederverwendung gegen die Sicherheit national kritischer Systeme abwägen, bewusst entscheiden, was geöffnet und was geschützt wird, und die Begründung so oder so dokumentieren.

Häufige Fehlermuster#

  • „Veränderung ist Risiko“-Lähmung. Selten bereitstellen, um sich sicher zu fühlen, was große, gefährliche, schlecht verstandene Releases und ungepatchte Vernachlässigung erzeugt. Gegenmittel: kleine, häufige, umkehrbare Änderungen mit getestetem Rollback.
  • Die Mauer zwischen Dev und Ops. Entwickler „werfen Code über die Mauer“ zu einem separaten Betriebsteam, das Grundursachen nicht beheben kann; niemand verantwortet die ganze Schleife. Gegenmittel: geteilte Verantwortung und „you build it, you run it“, menschlich unterstützt.
  • Manuelle Snowflake-Bereitstellungen. Releases hängen von einer Person und einer Wiki-Seite ab; Umgebungen driften, und „im Test läuft es, in der Produktion bricht es“ ist Routine. Gegenmittel: CI/CD plus Infrastructure as Code.
  • Kennzahlen als Knüppel. DORA-Zahlen dienen dem Ranken von Teams und treiben Tricksen und verstecktes Risiko. Gegenmittel: als Systemdiagnose nutzen, wie DORA selbst rät.
  • Alarmblinder Betrieb. Keine Beobachtbarkeit, sodass Patientinnen, Patienten und Klinikpersonal Ausfälle zuerst entdecken. Gegenmittel: Metriken, Logs, Traces und an die Nutzerwirkung gebundene Alarmierung.
  • Vernachlässigte Lieferkette. Ungepatchte Abhängigkeiten und ungescannte Komponenten werden zum Einbruch. Gegenmittel: kontinuierliches Scannen, eine Software Bill of Materials und geschützte Pipelines.
  • Versehentliche Offenlegung. Nachlässig betriebenes Coding in the Open, das Geheimnisse oder Patientendaten leakt. Gegenmittel: rigorose Geheimnisverwaltung und Scannen vor der Veröffentlichung, nicht der Rückzug ins Standard-Geschlossene.

Reifegradmodell#

Dimension Initiieren Entwickeln Standardisieren Steuern Orchestrieren
Build und Release Manuelle, seltene Bereitstellungen durch eine Person Teilweise Automatisierung; Releases weiter gebündelt und gefürchtet CI/CD-Pipeline mit automatisierten Tests und Toren Bereitstellungshäufigkeit und Durchlaufzeit gegen Ziele verfolgt; Pipeline-Tore abgesichert und auditiert Continuous Delivery kleiner Änderungen; Bereitstellung ist Routine
Änderung und Rollback Kein Rollback-Plan; Fehler bleiben bestehen Rollback existiert auf dem Papier, selten getestet Getestetes Rollback; Canary-/Feature-Flag-Releases Rollback-Zeit gemessen und berichtet; Änderungsfehlerrate gegen Schwellen gesteuert Schnelles Rollback als bewährte, geübte Sicherheitskontrolle
Infrastruktur Von Hand konfigurierte Snowflake-Server Etwas Skripting; Umgebungen driften Infrastructure as Code, versionsverwaltet Drift-Erkennung und Compliance-as-Code durchgesetzt; Umgebungsparität aktiv überwacht Voll reproduzierbar, Self-Service, katastrophenfest wiederherstellbar
Betreiben und Beobachten Separates Ops-Team; Fehler von Nutzenden gefunden Grundlegende Überwachung; reaktives Brandlöschen Team betreibt seinen Service; Metriken, Logs, Traces, Alarmierung SLOs und Fehlerbudgets verfolgt; Alarmierung auf Nutzerwirkung abgestimmt und gegen Ziele überprüft „You build it, you run it“ mit SLOs und schuldfreiem Lernen
Lieferkette und Offenheit Abhängigkeiten ungesteuert; aller Code geschlossen Gelegentliches manuelles Scannen; Offenheit ad hoc Automatisiertes Scannen, SBOM; offen, wo sicher Schwachstellenexposition gemessen und nach SLA behoben; Lieferketten-Kontrollen abgesichert Kontinuierliche Lieferketten-Assurance; standardmäßig offen mit Wiederverwendung

Checkliste#

  • Eine CI/CD-Pipeline baut, testet und stellt jede Änderung über einen prüfbaren Weg bereit, mit kodierten Toren für Sicherheit/Security/Barrierefreiheit.
  • Änderungen sind klein, häufig und unabhängig umkehrbar (Feature Flags, Canary- oder Blue-Green-Releases).
  • Rollback in einen bekannt guten Zustand wird regelmäßig getestet und dauert eine dokumentierte, kurze Zeit.
  • Infrastruktur und Konfiguration sind als versionsverwalteter Code definiert; Test- und Produktionsumgebungen stimmen überein.
  • Die vier DORA-Kennzahlen werden als Systemsignal verfolgt, nicht zum Ranken von Einzelnen oder Teams genutzt.
  • Lieferteams verantworten ihre Services in der Produktion, mit menschlicher, finanzierter Bereitschaft und sinnvoller Beobachtbarkeit (Metriken, Logs, Traces, Alarmierung).
  • Abhängigkeiten sind inventarisiert und werden automatisch gescannt; eine Software Bill of Materials existiert, und Geheimnisse sind geschützt.
  • Engineering-Standards, Code-Review und eine Definition of Done sind vereinbart; technische Schulden werden verfolgt und als geplante Arbeit abgebaut.
  • Neuer Quellcode ist standardmäßig offen, wo sicher, mit rigorosen Prüfungen, dass keine Patientendaten oder Geheimnisse offengelegt werden.
  • Engineering-Praxis ist dokumentiert, sodass eine neue Entwicklerin, ein Prüfer oder eine Sicherheitsbeauftragte verstehen kann, was läuft und warum (siehe Thema 10.3).

Zentrale Quellen#

  • Nicole Forsgren, Jez Humble & Gene Kim, Accelerate: The Science of Lean Software and Development and DevOps — die DORA-Forschung und die vier Schlüsselkennzahlen.
  • DORA (DevOps Research and Assessment) — jährliche State-of-DevOps-Berichte und Fähigkeitenkatalog — dora.dev.
  • Jez Humble & David Farley, Continuous Delivery — die Deployment-Pipeline und Release-Automatisierung.
  • Betsy Beyer et al. (Hrsg.), Site Reliability Engineering — das SRE-Buch von Google zum Betrieb von Produktionssystemen.
  • NHS England — NHS Service Standard und NHS Digital Service Manual (einschließlich Coding in the Open und offene Standards).
  • GOV.UK Service Manual / Government Service Standard (GDS) — „make new source code open“, Continuous Delivery und Betrieb eines Services.
  • National Cyber Security Centre (NCSC) — Leitlinien zu sicherer Softwareentwicklung und Lieferkettensicherheit.
  • NHS England — Standards zum klinischen Risikomanagement DCB0129 und DCB0160 (Engineering-Änderung als Teil des klinischen Safety Case).

Referenzen#

  1. DevOps — Wikipedia — https://en.wikipedia.org/wiki/DevOps
  2. CI/CD — Wikipedia — https://en.wikipedia.org/wiki/CI/CD
  3. Continuous integration — Wikipedia — https://en.wikipedia.org/wiki/Continuous_integration
  4. Continuous delivery — Wikipedia — https://en.wikipedia.org/wiki/Continuous_delivery
  5. Version control — Wikipedia — https://en.wikipedia.org/wiki/Version_control
  6. Infrastructure as code — Wikipedia — https://en.wikipedia.org/wiki/Infrastructure_as_code
  7. Platform engineering — Wikipedia — https://en.wikipedia.org/wiki/Platform_engineering
  8. DevOps Research and Assessment (DORA) — Wikipedia — https://en.wikipedia.org/wiki/DevOps_Research_and_Assessment
  9. Site reliability engineering — Wikipedia — https://en.wikipedia.org/wiki/Site_reliability_engineering
  10. Observability (software) — Wikipedia — https://en.wikipedia.org/wiki/Observability_(software)
  11. Supply chain attack — Wikipedia — https://en.wikipedia.org/wiki/Supply_chain_attack
  12. Open-source software — Wikipedia — https://en.wikipedia.org/wiki/Open-source_software
  13. Accelerate: The Science of Lean Software and DevOps — Nicole Forsgren, Jez Humble & Gene Kim (IT Revolution) — https://itrevolution.com/product/accelerate/
  14. DORA — DevOps Research and Assessment — Google Cloud / DORA — https://dora.dev/
  15. Continuous Delivery — Jez Humble & David Farley — https://continuousdelivery.com/
  16. Site Reliability Engineering — Google (O'Reilly) — https://sre.google/books/
  17. NHS Service Standard — NHS England — https://service-manual.nhs.uk/standards-and-technology/service-standard-points
  18. Making source code open and reusable — Government Digital Service, GOV.UK Service Manual — https://www.gov.uk/service-manual/technology/making-source-code-open-and-reusable
  19. Secure software development and supply chain security — National Cyber Security Centre (NCSC) — https://www.ncsc.gov.uk/collection/developers-collection
  20. Clinical risk management standards DCB0129 and DCB0160 — NHS England — https://digital.nhs.uk/services/clinical-safety

Diese Seite auf GitHub bearbeiten — das Buch ist die Quelle der Wahrheit; diese Website stellt es dar.