Der Lebenszyklus medizinischer Software

Im Beitrag"Medizintechnik - im Dickicht der Normen" erwähnte ich, dass sich die regulatorischen Anforderungen der Medizintechnik erst seit einem knappen Jahrzehnt eigens mit Softwareentwicklung beschäftigen.Das hat einen einfachen Grund: Die Software spielte bei der Entwicklung medizintechnischer Produkte lange Zeit eine untergeordnete Rolle. Software war "das Programm", mit dem die Geräte bespielt werden mussten, "Hardware was king" (http://rtcmagazine.com/articles/print_article/102203). Heute kann man sich dieses Weltbild nicht mehr leisten. Je mehr Software in einem Produkt steckt, desto größer deren Bedeutung - und Komplexität. Es stellt sich die Frage, wie diese überhaupt in den Griff zu bekommen ist. Wie ist zu gewährleisten, dass die Software das (und zwar nur das!) tut, was sie tun soll? In einer Spiele-App kann noch verziehen werden, wenn die Applikation unvorhergesehenes Verhalten zeigt. Schlimmstenfalls ist dann ein Neustart erforderlich. In der Medizintechnik kann das gleiche Verhalten Leben kosten.Vor diesem Hintergrund wurde 2007 die EN IEC 62304 verabschiedet. Hierbei handelt es sich um eine mit den entsprechenden Richtlinien harmonisierte Norm, die sich mit dem so genannten "Lebenszyklus" (lifecycle) medizinischer Software beschäftigt. Mit "Lebenszyklus" ist der Lebenslauf der Software von der Planung bis zur Wartung gemeint. Die IEC 62304 nennt in diesem Zusammenhang fünf Prozessgebiete, die spezifisch für Software zutreffen:

  • Entwicklung
  • Wartung
  • Risikomanagement
  • Konfigurationsmanagement
  • Problemlösung

Für jeden dieser Bereiche macht die EN 62304 Vorschläge zur Umsetzung. Die EN 62304 legt sich jedoch auf kein Entwicklungsmodell fest. Vielmehr erwähnt sie Wasserfall, iterativ-inkrementelle, und evolutionäre Vorgehensweisen als Beispiele, mit denen gearbeitet werden kann. Schauen wir uns die Umsetzungsvorschläge dieser Norm genauer an:

  • Anforderungen an die Software: Diese sollten vollständig sein und alle Maßnahmen zur Risikobeherrschung enthalten. Sie dürfen sich nicht widersprechen, sollten verständlich und so formuliert sein, dass ihre Erfüllung überprüft werden kann. Ebenfalls müssen sich Testfälle, Änderungen im Code und Änderungen im Design auf Anforderungen zurückverfolgen lassen (traceability).
  • Implementierung: Hier fordert die EN 62304, dass alle zuvor spezifizierten Software-Module oder -Einheiten implementiert werden. Dazu gehört die Festlegung von Akzeptanzkriterien und -tests, die die Umsetzung der Anforderungen durch den Code formulieren bzw. verifizieren.
  • Tests: Hiermit sind System-, Integrations- und Regressionstests gemeint. Neben dem Testen der implementierten Funktionalitäten geht es auch um die Wirksamkeit von Maßnahmen zur Reduzierung von Risiken, um Performancetests sowie um die Funktion der Schnittstellen (insbesondere externe). Von der Planung über die Durchführung bis zur Ergebnissicherung fällt Dokumentationsaufwand an, der die Tests auch in Zukunft nachvollziehbar und reproduzierbar machen soll.
  • Verifikation: Im Kontext der EN 62304 ist mit Verifikation der Nachweis gemeint, dass die Anforderungen im Sinne der Norm umgesetzt wurden.
  • Validierung: Hier geht es um den Nachweis, dass das Produkt den intendierten Anwendungszweck erfüllt.

Die hier genannten Aktivitäten ziehen einen nicht geringen Dokumentationsaufwand nach sich. Dieser Aspekt führt häufig zur Meinung, dass agile Methoden für die Einhaltung solcher Normen nicht geeignet seien. Martin Bakal von IBM schlägt in dieselbe Kerbe, wenn er schreibt:"There is even a fairly new standard, IEC 62304, adopted worldwide that is wholly focused on software traceability from requirements through architecture to tests. These requirements and others mean we need traceability and reporting we typically only see in heavy-weight processes like waterfall." (http://agile.dzone.com/articles/making-agile-development-work)Hier müssen wir unterscheiden zwischen den Möglichkeiten agiler Frameworks und ihrer aktuellen Nutzung. Natürlich werden Scrum und andere agile Frameworks u.a. in Projekten angewandt, die ein geringes Maß an Reporting und Traceability erfordern. Das heißt aber noch lange nicht, dass Scrum et al. zur Anwendung in hochregulierten Branchen ungeeignet sind.Eher im Gegenteil: Mit ihrem Anspruch, am Ende jedes Sprints potenziell auslieferbare Funktionalitäten fertigzustellen, sind agile Frameworks wie Scrum von Natur aus darauf ausgerichtet, Verifikation und Validation in die Sprints zu packen. Continuous Integration und Testautomatisierung führen dazu, dass Software permanent auf ihre Integrität getestet wird. Auch das Risikomanagement lässt sich mit Scrum hervorragend integrieren: In einem unserer derzeitigen Projekte prüft das Entwicklungsteam jede neue Story mit Hilfe eines Templates auf Produktrisiken. Diese Prüfung ist Teil der Definition of Done dieses Teams, so dass Stories nicht erledigt sind, solange die Risikoprüfung nicht stattgefunden hat. Auch gibt es mitterweile eine Reihe von Tools, die speziell dafür entwickelt wurden, den Lebenszyklus medizinischer Software für agile Produktentwicklung inklusive umfassender Traceability abzubilden.In der nächsten Folge: Qualitätsmanagement mit der Norm EN ISO 13485

Agile Toolbox
Scrum
bgloger-redakteur
May 7, 2014

Table of content

Diesen Beitrag teilen

Das könnte auch interessant sein:

FRAGE: Warum macht ihr eigentlich kein SAFe?
Boris Gloger

FRAGE: Warum macht ihr eigentlich kein SAFe?

FRAGE: Was würdet ihr Kund:innen raten, die mit denselben Herausforderungen, wie BG sie aktuell hat, zu euch kommt?
Boris Gloger

FRAGE: Was würdet ihr Kund:innen raten, die mit denselben Herausforderungen, wie BG sie aktuell hat, zu euch kommt?

FRAGE: Wie wird darüber entschieden, welche:n Berater:in wir bekommen? Können wir die Berater:innen vorher kennenlernen?
Boris Gloger

FRAGE: Wie wird darüber entschieden, welche:n Berater:in wir bekommen? Können wir die Berater:innen vorher kennenlernen?

FRAGE: Was kostet eine agile Transformation?
Boris Gloger

FRAGE: Was kostet eine agile Transformation?

FRAGE: Welche Rolle spielt Training?
Boris Gloger

FRAGE: Welche Rolle spielt Training?

FRAGE: Wer sind die Top 10 agilen Unternehmensberatungen?
Boris Gloger

FRAGE: Wer sind die Top 10 agilen Unternehmensberatungen?

FRAGE: Was sind die Hauptunterschiede zwischen klassischen Beratungen und borisgloger?
Boris Gloger

FRAGE: Was sind die Hauptunterschiede zwischen klassischen Beratungen und borisgloger?

FRAGE: Wie viel bringt die Investition? Was ist der Business Case dahinter?
Boris Gloger

FRAGE: Wie viel bringt die Investition? Was ist der Business Case dahinter?

FRAGE: Habt ihr Beispiele für konkrete Situationen, in denen ihr Kunden bei einer schwierigen Herausforderung geholfen habt?
Boris Gloger

FRAGE: Habt ihr Beispiele für konkrete Situationen, in denen ihr Kunden bei einer schwierigen Herausforderung geholfen habt?

FRAGE: Welche Vorteile bietet es uns, wenn wir borisgloger beauftragen, anstatt die Transformation mit Internen voranzutreiben?
Boris Gloger

FRAGE: Welche Vorteile bietet es uns, wenn wir borisgloger beauftragen, anstatt die Transformation mit Internen voranzutreiben?

FRAGE: Welche sind häufige Herausforderungen, die ihr beim Kunden löst?
Boris Gloger

FRAGE: Welche sind häufige Herausforderungen, die ihr beim Kunden löst?

FRAGE: Warum sollten wir mit borisgloger arbeiten?
Boris Gloger

FRAGE: Warum sollten wir mit borisgloger arbeiten?