GxP-Blog

Agile Softwareentwicklung im GxP-regulierten Umfeld

In Zeiten immer komplexer werdender Softwarelösungen und IT-Architekturen stellt die Notwendigkeit einer detaillierten Aufstellung der Anforderungen zu Projektbeginn eine große Herausforderung dar. Um komplexe Lösungen schneller und qualitätsbewusst zu entwickeln, hat die agile Softwareentwicklung in den vergangenen Jahren immer mehr an Bedeutung gewonnen. Der im Jahr 2008 erschienene GAMP 5© Leitfaden gilt bis heute als Standardregelwerk für die Validierung computergestützter Systeme in der pharmazeutischen Industrie. Zum ersten Mal wurde neben dem V-Modell zur Softwareentwicklung das breite Spektrum anderer Vorgehensmodelle, Entwicklungsmethoden und -schemen explizit zugelassen, einschließlich agiler Softwareentwicklungsmethoden. Das V-Modell ist demnach als Basis für Validierungsvorgehensweisen nicht mehr die Regel.

Was bedeutet agil?

Das im Jahr 2001 verfasste „Manifesto for Agile Software Development“, welches als kleinster gemeinsamer Nenner aller agilen Vorgehensmodelle gilt, stellt eine Gegenbewegung zu den traditionellen Modellen dar. Das Ziel des agilen Manifestes ist, Me-thoden zu finden, welche die Softwareentwickler wieder näher an ihre Kernkompetenz, nämlich die tatsächliche Entwicklung von Software, führen. Über die Jahre hat sich ge­zeigt, dass sich Softwareentwicklung aufgrund ihrer Komplexität und der „Moving Targets“ nur schwer mit einem starren Phasenmodell realisie­ren lässt. Vielmehr liegt der Schlüssel darin, in Form von Iterationen zu arbeiten, wie es einst Barry W. Boehm mit seinem Spiralmodell beschrieben hat. Die agile Softwareentwicklung hat diesen Aspekt mit ihrer Vielzahl von iterativen und inkrementellen Me­thoden aufgegriffen und beschreibt, welche Schritte wie durchzuführen sind, um ein Softwareprojekt zu reali­sieren.

Im Gegensatz zum Spiralmodell sind die Iterationen wesentlich kürzer und am Ende jeder Iteration steht eine lauffähige Software mit qualitativ hochwertigem Code, und nicht lediglich ein Prototyp. Die agile Softwareentwicklung hat sich in der Vergangenheit in zahllosen Projekten bewährt und es kann damit gerechnet werden, dass sie auch zukünftig eine wesentliche Rolle in der Softwareentwicklung spielen wird.

Agile Softwareentwicklung in der regulierten Industrie

In der regulierten Industrie gibt es viele Unternehmen, die den Einsatz agiler Vorgehensmodelle scheuen. Dies liegt unter anderem daran, dass einer der Leitsätze des agilen Manifestes besagt, dass eine lauffähige Software immer Vorrang vor einer umfassenden Dokumentation hat. Gerade diese umfassende Dokumentation jedoch ist es, welche ein wesentlicher Baustein des Nachweises des validen Zustands einer Software in der regulierten Industrie ist. Betrachtet man Software von ihrer Entwick­lung über die Inbetriebnahme und Nutzung bis hin zur Stilllegung als Lebenszyklusmodell, so wird die Bedeutung einer gesicherten Softwareentwicklung und deren Dokumentation als Teil des Lebenszyklus deutlich. In der Entwicklung werden die Anforderungen spezifiziert und die Risiken identifiziert. Anschließend entsteht der Programmcode und wird gegen die Anforderungen und Risiken getestet. Inspektoren die den validierten Zustand eines computergestützten Systems überprüfen wollen, haben es in der Regel schwer einen Einblick in den Entwicklungsprozess eines Lieferanten zu bekommen. Im Rahmen behördlicher Inspektionen wird der valide Zustand computergestützter Systeme anhand ihrer Lebenszyklusdokumentation untersucht. Das geschieht mithilfe klassischer Designdokumentationen, Risiko-bewertungen, Validierungsplänen und -berichten sowie Testkonzepten bestehend aus Testplänen, Testprotokollen und Testberichten.

Der Inspektor konzentriert sich also vorwiegend auf die Validierungsaktivitäten, die im Rahmen der Inbetriebnahme durchgeführt wurden. Der Softwareentwicklungsprozess spielt aber eine essentielle Rolle im Lebenszyklus eines computergestützten Systems. Um Software zu entwickeln, die den Anforderungen der regulierten Industrie entspricht, müssen die oben genannten Lebenszyklusdokumente als Qualitätsnachweise erbracht werden.

Das agile Manifest sieht die Erbringung der oben genannten Nachweise prinzipiell nicht vor. Vielmehr widerspricht das Manifest diesen Dokumentationspflichten sogar.

Agil und dennoch GxP-konform

In der Realität gibt es – unabhängig von der Industrie – nur sehr wenige Unternehmen, die agile Vorgehens-modelle in ihrer Reinform anwenden. Vielmehr werden hybride Softwareentwicklungsprozesse erstellt, welche lediglich Aspekte des agilen Manifestes aufgreifen, um den Nachteilen der traditionellen, schwerfälligen Vor­gehensmodelle entgegenzuwirken. Scrum, englisch für Gedränge, beschreibt eine 1995 entwickelte Methode der agilen Software-Entwicklung. Der Ansatz beruht auf der Erfahrung, dass viele Entwicklungsprojekte zu komplex sind, um sie in einem alles umfassenden Plan abzubilden. In seiner ursprünglichen Form ist Scrum für die Anforderungen der regulierten Industrie jedoch nicht direkt anwendbar, da der auslieferbare Code als das einzige Artefakt gilt, auf das nicht verzichtet werden kann. Das Ziel ist es, durch die Implementierung von Qualitätssicherungsmaßnahmen nachzuweisen, dass die agile Entwicklung keinen negativen Einfluss auf die Qualität der Software hat. Durch die Entwicklung in kurzen Iterations­zyklen und der engen Zusammenarbeit mit dem Kunden sowie den Feedback-Mechanismen für das Team werden viele agile Prinzipien berücksichtigt, die zu einer flexibleren und kontrollierbareren Softwareentwicklung führen.

Die Kunst besteht darin, das Vorgehensmodell für den Entwicklungsprozess unter Berücksichtigung einer Validierungsstrategie zu definieren. Werden Entwicklungs­prozess und Validierungsstrategie so gestaltet, dass die geforderten Nachweise im Rahmen der Softwareentwicklung erbracht werden, spricht nichts gegen die Verwendung von agilen Entwicklungsansätzen. Die größte Herausforderung besteht wohl darin, einen dynamischen und effizienten Prozess zu entwickeln, um Anforderungen, deren Risikobewertungen, und die daraus resultieren­den Testszenarios, stets aktuell zu halten, und diese auch, zumindest minimal ausreichend, zu dokumentieren und für ein späteres Change-Management zur Verfügung zu stellen. Mit Hilfe von Impact Analysen muss festzustellen sein, welche Designänderungen Einfluss auf andere Softwarefunktionen oder -module haben. Das zentrale Element ist und bleibt das Risikomanagement, das letzt­lich den Umfang der finalen Testphase bestimmt.

Ein solches Hybridmodell ist gemäß dem agilen Manifest keine durch und durch agile Methode. Es versucht aber, gemäß den Best Practices, einen ausgewogenen Mit­telweg zwischen den klassischen reichhaltigen und den agilen Methoden zu finden. Oberstes Ziel bleibt es immer eine Software so zu entwickeln, dass nachweislich keine Gefahr für die Datenintegrität, die Produktsicherheit und -qualität sowie die Patientensicherheit von ihr ausgeht. Chemgineering ist Ihr Partner für die Planung und Entwick­lung eines agilen und dennoch GxP-konformen Rahmen­werks und der dazugehörigen Validierungsstrategie. Die Zeiten in denen das V-Modell als einziges Vorgehensmo­dell für die Softwareentwicklung in der regulierten Industrie galt, sind längst vorbei.

Kontakt

Diese Seite verwendet Cookies, um Ihnen das bestmögliche Erlebnis zu gewährleisten. Surfen Sie weiterhin auf unserer Seite, stimmen Sie unserer Cookie-Nutzung und unserer Datenschutzrichtlinie zu.