07522 Agile Entwicklung medizinischer Software mit Scrum
Mit klassischen Projektmanagement-Methoden ist die Entwicklung von Software meist schlecht steuerbar und schwerfällig. Hier setzen agile Methoden wie Scrum an. Die Software-Entwicklung wird durch sehr kurze Iterationen flexibler. Eine detaillierte Planung erfolgt nur auf Sicht, für die jeweils aktuelle Iteration, eine langfristige Planung wird nur grob erarbeitet. Die kurzen Iterationen haben das Ziel, immer lauffähige Software bereitzustellen. Der Fortschritt kann somit klar bemessen werden und es lassen sich verlässlichere Vorhersagen über die Einhaltung von Budget- und Zeitplanung machen. von: |
1 Einführung
Andere Prinzipien
Software-Entwicklung folgt anderen Prinzipien als die Entwicklung mechanischer oder elektronischer Systeme. Beispielsweise muss nicht auf die Anlieferung von Komponenten gewartet werden. Änderungen können bis kurz vor der Auslieferung durchgeführt werden. Klassische Projektmanagement-Methoden bringen oft lange Wartezeiten mit sich, bis wieder Änderungen an der Software möglich sind. Zudem ist es schwierig, während der Entwicklung den Fortschritt zu messen oder Informationen darüber zu erhalten, ob das Konzept tragfähig ist. Somit ist es schwer vorherzusagen, ob eine Software termin- und budgetgerecht ausgeliefert werden kann. Des Weiteren lässt sich der Entwicklungsaufwand von Software schlecht schätzen, wodurch der Zeitplan oft unzuverlässig ist. Darüber hinaus weist die Food and Drug Administration (FDA) daraufhin, dass gerade Änderungen in einer Software häufig zu kritischen Fehlern führen. Oft verletzen die Entwickler bei späten Änderungen in Systemen implizite Annahmen, sodass Software-Fehler auftreten.
Software-Entwicklung folgt anderen Prinzipien als die Entwicklung mechanischer oder elektronischer Systeme. Beispielsweise muss nicht auf die Anlieferung von Komponenten gewartet werden. Änderungen können bis kurz vor der Auslieferung durchgeführt werden. Klassische Projektmanagement-Methoden bringen oft lange Wartezeiten mit sich, bis wieder Änderungen an der Software möglich sind. Zudem ist es schwierig, während der Entwicklung den Fortschritt zu messen oder Informationen darüber zu erhalten, ob das Konzept tragfähig ist. Somit ist es schwer vorherzusagen, ob eine Software termin- und budgetgerecht ausgeliefert werden kann. Des Weiteren lässt sich der Entwicklungsaufwand von Software schlecht schätzen, wodurch der Zeitplan oft unzuverlässig ist. Darüber hinaus weist die Food and Drug Administration (FDA) daraufhin, dass gerade Änderungen in einer Software häufig zu kritischen Fehlern führen. Oft verletzen die Entwickler bei späten Änderungen in Systemen implizite Annahmen, sodass Software-Fehler auftreten.
„Gedränge”
An all diesen Punkten setzen die Methoden der agilen Software-Entwicklung an. Insbesondere Scrum (engl. für „Gedränge”) wird oft als eine Möglichkeit gesehen, die Entwicklung von Software besser zu steuern. Jedoch scheinen einige der Prinzipien des agilen Manifestes, die bei einer Entwicklung nach Scrum Anwendung finden, gegen die Forderungen der für die CE-Kennzeichnung benötigten Normen zu verstoßen. Eine Reihe erfahrener Software-Entwickler hat das agile Manifest unterzeichnet; sie stellten fest, dass rigides Projekt- und Prozessmanagement nicht unbedingt die Qualität von Software erhöht. Das agile Manifest beschreibt, was in einer Software-Entwicklung wertzuschätzen ist [1] :
An all diesen Punkten setzen die Methoden der agilen Software-Entwicklung an. Insbesondere Scrum (engl. für „Gedränge”) wird oft als eine Möglichkeit gesehen, die Entwicklung von Software besser zu steuern. Jedoch scheinen einige der Prinzipien des agilen Manifestes, die bei einer Entwicklung nach Scrum Anwendung finden, gegen die Forderungen der für die CE-Kennzeichnung benötigten Normen zu verstoßen. Eine Reihe erfahrener Software-Entwickler hat das agile Manifest unterzeichnet; sie stellten fest, dass rigides Projekt- und Prozessmanagement nicht unbedingt die Qualität von Software erhöht. Das agile Manifest beschreibt, was in einer Software-Entwicklung wertzuschätzen ist [1] :
Agiles Manifest | |
• | Individuen und Interaktionen mehr als Prozesse und Werkzeuge; |
• | Funktionierende Software mehr als umfassende Dokumentation; |
• | Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung; |
• | Reagieren auf Veränderung mehr als das Befolgen eines Plans. |
Ohne den Zusatz „Das heißt, obwohl wir die Werte auf der rechten Seite wichtig finden, schätzen wir die Werte auf der linken Seite höher ein” wird das agile Manifest oft missverstanden. Einige der Forderungen aus den Normen für die Entwicklung medizinischer Software stehen sicherlich im Widerspruch zu den oben zitierten Aussagen. Im Folgenden wird gezeigt, wie diese scheinbaren Widersprüche sinnvoll zu vereinen sind. Denn auch agile Software-Entwicklung ist kein Freibrief für eine chaotische Entwicklung. Im Gegenteil wird oft durch das Zusammenspiel mehrerer Methoden sehr geschickt das Ziel einer hohen Software-Qualität erreicht und somit die Intention der zur CE-Kennzeichnung geforderten Normen erfüllt. Daher führen agile Projekte oft zu einer hohen Qualität der entwickelten Software, so dass Schäden für Patienten meist ausbleiben.