Der Professor für Organisation und Wirtschaftsinformatik wird auf dem LIMS-Forum am 6.-7. November 2012 in Bonn über agile Methoden in der Softwareentwicklung sprechen. Auf die Frage, warum eine besondere Vorgehensweise notwendig sei, erklärte er: „In den meisten Fällen meinen Nutzer zu wissen, was sie wollen, entdecken aber erst im Prozess, was sie wirklich brauchen. Die IT-Spezialisten meinen dagegen zu wissen, wie das angeforderte LIMS zu erstellen ist - lernen aber erst während der Entwicklung, was der Nutzer wirklich braucht“. Für den Projektverlauf bedeute das im Normalfall: Viele Änderungen, oft auch Missverständnisse und Frustrationen.
Kontinuierlich Nutzen generieren
Komus hält daher agile Methoden in der Softwareentwicklung für besonders geeignet. Er selbst ist „Certified Scrum Master“ und weiß: Agile Methoden agieren mit hoher Interaktion. Speziell Scrum arbeite außerdem mit kurzen Entwicklungszyklen und einer kontinuierlicher Nutzengenerierung. Darüber hinaus setze es die am höchsten priorisierten Anforderungen bereits zu einem frühen Zeitpunkt des Entwicklungsprozesses um. Die Folgen: Erhöhte Entwicklungsgeschwindigkeit, reduzierte Fehlerzahl, verbesserte Mitarbeiterzufriedenheit und verringerte Kosten. „In der Praxis wird Scrum bereits von Unternehmen wie SAP AG, Microsoft, Google und auch der Deutschen Telekom eingesetzt“, berichtet Komus aus seiner Erfahrung als Berater in der freien Wirtschaft.*
Wie Scrum arbeitet
Scrum unterteilt die Softwareentwicklung in kurze Zyklen – sogenannte „Sprints“ von maximal 30 Tagen. Jeder Sprint hat ein definiertes Set an Aufgaben und schließt mit der Präsentation der Ergebnisse ab, die an sich schon auslieferbar und nutzbringend sein sollen. Innerhalb eines Sprints organisiert sich das Team selbst. Zum Team gehören sowohl die Softwareentwickler als auch die „Delegierten“ des Kunden wie IT-Fachleute und Endnutzer. In „Daily Scrums“ von etwa 15 Minuten bespricht das Team die erreichten Ergebnisse, die anstehenden Arbeiten und die gegebenenfalls auftretenden Hindernisse. Fazit: Am Ende eines jeden Sprints wird immer ein aktueller und lauffähiger Stand des Produktes bereitgestellt.
„Eine weitere Rolle spielt das „Product Backlog“ in dieser Vorgehensweise“ erläutert der Scrum-Master weiter. Um sicherzugehen, dass wirklich die Aufgaben mit dem höchsten unmittelbaren Mehrwert für den Kunden im Mittelpunkt stehen, werde das angestrebte Ziel in kleine Aufgabenblöcke zerlegt. Diese werden laufend bewertet: Die Aufgaben mit dem jeweils besten Verhältnis von Aufwand zu Nutzen werden dann im nächsten Sprint bearbeitet.
Computer- und Software-Validierung und Scrum
Für Validierungszwecke (CSV) kann Scrum den Anforderungen angepasst werden. Weil die Arbeitspakete am Ende eines jeden Sprints vollständig und abschließend bearbeitet werden müssen, kann in einer „Definition of Done“ (DoD) festgelegt werden, was eine „gänzliche Bearbeitung“ beinhaltet. Eine vollständige Dokumentation und deren Abnahme kann hier nach größeren Zyklen festgeschrieben werden.
„In der agilen Softwareentwicklung wird außerdem großer Wert auf Strukturverbesserungen, dem „Refactoring“ von Programm-Quelltexten gelegt“, erklärt der Professor weiter. „Kontinuierlich verbessert werden hier die Lesbarkeit, Wartbarkeit und Erweiterbarkeit, ohne dabei die Funktionalität anzutasten. Mit dieser Qualitätsverbesserung können die Vorgaben der CSV dann nachhaltig erfüllt werden“.
Scrum im regulierten Bereich
Der Leitfaden GAMP5 (Good Automated Manufacturing Practice) hat sich zunehmend als Standard für die Computervalidierung in der pharmazeutischen Industrie durchgesetzt. Hier wird das klassische V-Modell nicht mehr zwingend vorgeschrieben. „Agile Modelle sind somit nicht ausgeschlossen“, so Komus. Das Lastenheft müsse nicht mehr vollständig finalisiert sein, bevor begonnen werden kann, Pflichtenheft und der Entwicklungsspezifikation zu erstellen. Mit Scrum werden die Anforderungen, Anwenderrollen und der konkrete Nutzen in Form von „User Stories“ zu Beginn eines Sprints spezifiziert. Die Orientierung siehe vor, dass mit dem Abschluss des jeweiligen Sprints die darin enthaltenen Arbeitspakete abschließend bearbeitet wurden. „Und abschließend, heißt wirklich abschließend“, betont Komus.
Im Allgemeinen muss jede Phase im Scrum-Vorgehen Spezifikation, Umsetzung und Test beinhalten. Dabei werde besonderer Wert auf abschließende Prüfungen in jedem Zyklus gelegt. Tests gemäß den Anforderungen zu dokumentieren, sei jedoch im regulierten Umfeld relativ aufwendig. Ändern sich Anforderungen, ist außerdem ein dokumentierter Nachtest erforderlich. „Es sollte also gut überlegt werden, wann - auch im agilen Umfeld - das System einen stabilen Zustand erreicht hat“, betont Ayelt Komus an dieser Stelle. „Erst dann, also in einer späten Iterationsphase, solle ein Sprintzyklus durchgeführt werden, der den Schwerpunkt auf die formellen GMP-Anforderungen legt. Das können z.B. die aufwändiger zu dokumentierenden Validierungstests sein.“
Das LIMS-Forum findet 6.-7. November 2012 in Bonn statt. Veranstalter ist Klinkner & Partner. Das Gespräch mit Prof. Komus führte Dr. Marion Kwart.
*Der Begriff Scrum ist die englische Bezeichnung für das „Angeordnete Gedränge im Rugby-Sport“. Der Bezug zu Scrum: Das Team steht im Mittelpunkt und bespricht jeweils vor den nächsten Arbeitspaketen die geplanten Spielzüge. Die Selbstorganisation des Teams ist ein essentieller Bestandteil von Scrum.