DEVOPSEXTREME PROGRAMMING
Warum Extreme Programming und die DevOps-Mentalität effektive Methoden für die Entwicklung medizinischer Anwendungen sind
IStock 1149178089

Die Medizintechnikbranche ist ein wachstumsstarker Industriezweig. Mit ihrer Hilfe kann das Leben vieler Menschen verbessert oder gar gerettet werden. Die Entwicklung neuer digitaler Medizinprodukte und -anwendungen ist aus guten Gründen deutlich komplexer als in den meisten anderen Branchen. Höchste Qualitätsstandards sind für den sicheren Betrieb einer medizinischen Anwendung unabdingbar. 

Digitale Softwarelösungen müssen eine Vielzahl von gesetzlichenund regulatorischen Anforderungen an Qualitätssicherung, Benutzerfreundlichkeit und Risikokontrolle erfüllen, sodass diese bestimmte Zulassungen oder Zertifizierungen für die Markteinführung und den fortlaufenden Vertrieb erlangen können. Medizinische Anwendungen durchlaufen während ihrer Entwicklung einen streng regulierten Prozess, in dem jeder Schritt evaluiert und normkonform dokumentiert werden muss. Neben Fragen der Datensicherheit, die Vertraulichkeit, Integrität und Verfügbarkeit voraussetzen, ist hier auch die Stabilität und Zuverlässigkeit der Software entscheidend.

Bereits die Methodik, mit der Software entwickelt wird, kann einen Maßgeblichen Einfluß auf die Qualität der Software haben. Lange Entwicklungszyklen mit unregelmäßigen Tests und Deployments bringen immer eine hohe Fehleranfälligkeit mit sich. Bugs, die erst nach Wochen oder gar Monaten der Entwicklung zu Tage treten, sind oft schwierig zu beheben. Umständliche Workarounds bergen die Gefahr unerwünschter Nebeneffekte. Die Gefahr, weitere Fehler einzubauen oder bestehende zu übersehen, ist groß. Das alles mag bei herkömmlichen Anwendungen zwar äußerst ärgerlich sein, ist bei Medizintechnologischen Produkten jedoch absolut inakzeptabel. Im besten Fall scheitert das Produkt an der Zertifizierung; im schlimmsten Fall kommen Menschen zu Schaden.

Wie kann man bereits in der Entwicklungsphase Fehler in der Software weitestgehend vermeiden? Ein wichtiger Schritt hierzu ist die Wahl der richtigen Methodik. Extreme Programming und DevOps bieten sich daher bei der Entwicklung von medizinischen Softwareprodukten geradezu an: Jeder noch so kleinste Entwicklungsschritt wird von dem Entwicklerteam über eine feste Test- und Deployment-Infrastruktur automatisiert deployed und getestet. Fehler im Code können sofort erkannt und behoben werden. Das so gewonnene Feedback fließt direkt in den Entwicklungsprozess ein. Das erhöht nicht nur die Geschwindigkeit, mit der Software entwickelt wird, sondern wirkt sich auch maßgeblich auf deren Qualität aus. Extreme Programming ermöglicht es, zeitnah in kurzen Iterationen Prototypen zu bauen (Rapid Prototyping). Die für Medizinprodukte notwendige Stabilität und Zuverlässigkeit von Softwareprodukten und Features bleibt stets gewährleistet. Sowohl Extreme Programming als auch DevOps verbessern die Qualität der Software, verringern die Zeit bis zur Marktreife neuer Produkte und steigern die Effizienz und Produktivität des Entwicklerteams.

Mit dem konsequenten Einsatz des Pair-Programmings wird der Code kontinuierlich nach dem Vier-Augen-Prinzip überprüft; Fehler werden deutlich zuverlässiger und schneller erkannt. Probleme lassen sich einfacher lösen, wenn zwei Personen an der Problemlösung beteiligt sind. Darüber hinaus teilt sich das ganze Team die Verantwortung für den Code und folgt einen gemeinsamen Coding-Standard. Das erhöht die Codequalität, reduziert Fehler reduziert und vereinfacht die Dokumentation und Rückverfolgbarkeit des Codes.

Das Entwicklerteam muss in der Lage sein, sich selbst zu organisieren und schnell auf Feedback reagieren zu können. Daher müssen Team- und Organisationsstrukturen so (um)gestaltet werden, dass sie dem Entwicklerteam schnelle Feedbackschleifen und größtmögliche Reaktionsspielräume ermöglichen. Gerade weil das Entwicklerteam im medizinischen Bereich strenge Regularien bei der Entwicklung zu beachten hat, muss es in der Lage sein, eigenständig nach dem Best-Practice-Ansatz zu entscheiden, um einfache aber funktionale Lösungen für das Produkt oder Feature im Rahmen der Vorgaben zu finden. Wenn das Team gegen starre Architekturvorgaben von teamfremden Entscheider*innen ankämpfen muss, leidet unweigerlich auch die Softwarequalität darunter.

Fazit: Das DevOps Mindset und die konsequente Anwendung von Extreme Programming Praktiken bietet Entwicklerteams und Unternehmen signifikante Vorteile im Vergleich zu traditionellen und starren Wasserfall-Methoden. Strenge Regularien können mit dem Best-Practice-Ansatz erfolgreich berücksichtigt werden, ohne dass die Softwarequalität darunter leidet. Offene Coding-Standards ermöglichen eine einfachere Dokumentation und Rückverfolgbarkeit des Code und erleichtern so die Umsetzung der gesetzlichen Vorgaben. Das Vier-Augen-Prinzip und eine automatisierte Deployment- und Test-Infrastuktur minimieren das Fehlerrisiko bei der Entwicklung. Produkte erreichen schneller die Marktreife. Teams arbeiten effektiver – was sich nicht zuletzt auch auf die Zufriedenheit des Teams und damit wiederum auch auf die Softwarequalität auswirkt.