Normkonforme Medizinproduktentwicklung

Ähnliche Dokumente
Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum


Sollten folgende drei Fragen durch das Team positiv beantwortet werden, sind wichtige SCRUM-Elemente in Ihrem Team erfolgreich installiert.

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Entwurf. Anwendungsbeginn E DIN EN (VDE ): Anwendungsbeginn dieser Norm ist...

Praktische Erfahrungen beim Einsatz des Vorgehensmodells "SCRUM" bei AGFA HealthCare

Einführung in das Scrum Framework & welche 10 Praktiken helfen, Scrum wirklich gut zu machen

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Gelebtes Scrum. Weg vom Management hin zur Führung

SCRUM. Software Development Process

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

den sicherheitskritischen Bereich Christoph Schmiedinger Frankfurter Entwicklertag

Agile Softwareentwicklung mit Scrum

Machbar? Machbar!

Maintenance & Re-Zertifizierung

Trotz Agilität nicht ins Abseits geraten Modellierung in einem agilen Umfeld. Susanne Mühlbauer, Philip Stolz, HOOD GmbH MID Insight 2012

Projektmanagement durch Scrum-Proxies

Unsere Kunden erzählen keine Geschichten. Ursula Meseberg microtool GmbH Berlin

07. November, Zürich-Oerlikon

Agile Management Einführung in agiles Management

Agilität selbst erfahren. Agile Softwareentwicklung in der Praxis: Jetzt bewerben für das erste Agile Code Camp 2013!

Agile Entwicklung nach Scrum

Hilfe, mein SCRUM-Team ist nicht agil!

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante

SCRUM. Legalisierung der Hackerei? GI Regionalgruppe Dortmund Dipl.-Inform. (FH) Dirk Prüter.

FUTURE NETWORK REQUIREMENTS ENGINEERING

Agile Software Development

Andrea Grass & Dr. Marcus Winteroll oose Innovative Informatik GmbH. Geschäftsprozessmanagement und Agilität geht das zusammen?

Referent: Mathias Notheis Kontakt:

Iterativ. Inkrementell

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Zum Beispiel ein Test

Software-Validierung im Testsystem

Meetings in SCRUM. Leitfaden. Stand:

SDD System Design Document

Formwerk AG. Die Sicherstellung konsistenter Nutzungserlebnisse über den gesamten SW-Produktlebenszyklus durch Human Centered Design.

Die Welt der SW-Qualität Ein Streifzug in 30 Minuten! Johannes Bergsmann Eigentümer

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Regulatorische Anforderungen an die Entwicklung von Medizinprodukten

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.»

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Prozessoptimierung. und. Prozessmanagement

Scrum in der Praxis (eine mögliche Umsetzung)

Praxisbericht: Agil skalierte Produktentwicklung im regulierten Umfeld. Andreas Becker, Uwe Valentini Agile-by-HOOD

Scrum. Übung 3. Grundlagen des Software Engineerings. Asim Abdulkhaleq 20 November 2014

Qualifikationsbereich: Application Engineering Zeit:

Agiles Testmanagement am Beispiel Scrum

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Datensicherung. Beschreibung der Datensicherung

Was versteht man unter Softwaredokumentation?

Scrum ist ein agiles Framework zur Software-Entwicklung. SCRUM bei Festo. Was ist SCRUM? Frank M. Hoyer, House of Software

Testen im Software- Entwicklungsprozess

Projektmanagement Vorlesung 14/ 15: Wiederholung ausgewählter Themen zur Klausurvorbereitung. Prof. Adrian Müller, PMP, PSM-1, CSM FH Kaiserslautern

Grundlagen Software Engineering

Scrum mit User Stories

Agile Softwareprozess-Modelle

Datenübernahme easyjob 3.0 zu easyjob 4.0

30 Multiple Choice-Fragen - pro Frage gibt es immer 1-4 richtige Antworten

Umfrage zum Informationsbedarf im Requirements Engineering

Water-Scrum-Fall Ein Entwicklungsprozess mit Zukunft? Bernhard Fischer

Die Softwareentwicklungsphasen!

Qualitätserlebnis statt Qualitätssicherung. Eine Mehrfachfallstudie agiler Teams

IKP Uni Bonn Medienpraxis EDV II Internet Projekt

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Studieren- Erklärungen und Tipps

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Einführung und Motivation

GS-Programme 2015 Allgemeines Zentralupdate

Hochschule Darmstadt Fachbereich Informatik

Erfahrungsbericht Agile Entwicklung einer BI Anwendung für das Meldewesen

Abschnitt 2 Vier Fragen, jeweils 5 Punkte pro Frage erreichbar (Maximal 20 Punkte)

Leichtgewichtige Traceability im agilen Entwicklungsprozess am Beispiel von Scrum

Projektmanagement Vorlesung 12/ 13

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

Scaling Scrum Nexus professionell umsetzen

Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. Manfred Thaller WS 2011/ Dana Wroblewski

Speicher in der Cloud

Was Sie über SCRUM wissen sollten...

Die Zertifizierungsstelle der TÜV Informationstechnik GmbH bescheinigt hiermit dem Unternehmen

Agile Enterprise Development. Sind Sie bereit für den nächsten Schritt?

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

WAS finde ich WO im Beipackzettel

Mit agilen Methoden kommen Sie weiter

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Scrum. Agile Software Entwicklung mit. Agile Software Entwicklung mit. Scrum. Raffael Schweitzer 18. November 2003

.. für Ihre Business-Lösung

Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt?

Departement Bau, Verkehr und Umwelt Abteilung Tiefbau

Marc Bless. Scrum. und die IEC Medizinische Software mit agilen Methoden normkonform entwickeln. Gekürzte Ausgabe

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich?

Fragen und Antworten

Vitaphone Software Entwicklung Vorgehensmodell 19. Oktober 2011 Berlin. Dr. Michael Hübschen

Transkript:

Agile Methoden in der Medizintechnik mit agilen Prozessen und Artefakten Marc Bless Version 0.1 28. Mai 2012, Baden-Baden

Inhaltsverzeichnis Vorwort 4 Von der Norm zum Prozess: des Meta-Prozesses 7 Überblick der Prozesse und Artefakte 10 Prozesse, Meetings, Reviews 12 Acceptance Testing 13 Clean Code / SOLID Principles 14 Continuous Integration 16 Early Integration / Early Testing 17 Exploratory and Manual Testing 18 Integration Testing 19 Problem Communication 20 Product Backlog Grooming 21 Quality Management Prozess 23 Release Planning Meeting 24 Risk Analysis and Management 25 Scrum 27 Software Maintenance Process 28 Sprint Planning 29 Sprint Retrospective 31 Sprint Review 32 Team Kick-Off Meeting 34 Test Automation 35 Version 0.1 / 28.05.2012 2

Test-Driven Design (TDD) 37 Unit Testing 39 Usability Process 40 Zero Bug Tolerance 41 Dokumente, Artefakte, Pläne 43 Architecture Documentation 44 Definition of Done 45 Definition of Ready 47 Iteration Notes 49 Linkable IDs 50 Product Backlog 51 Release Notes 53 Software Development Plan 54 Software Maintenance Plan 56 Sprint Development Plan = Sprint Backlog 57 Team Charter / Working Agreements 59 Test Documentation 61 User Story 62 Versioning System 64 Historie und Ausblick 66 Version 0.1 / 28.05.2012 3

Vorwort Medizintechnik und die Entwicklung entsprechender Medizinprodukte befinden sich in einem regulierten Umfeld. Gesetze, Normen und Richtlinien geben mehr oder weniger harte Rahmenbedingungen vor, in deren Grenzen ein Medizinprodukt umgesetzt werden darf. Lange Entwicklungszeiten für Produktlebenszyklen sind wirtschaftlich heutzutage nicht mehr sinnvoll. Eine kurze Time-to-Market wird immer wichtiger, um den Marktbegleitern einen Schritt voraus zu sein und innovative Produktideen schnell als erster am Markt platzieren zu können. Der Kunde eines Medizinproduktes wird immer mündiger und entscheidet selbst über den Erfolg einzelner Produkte und Dienstleistungen. Dies erfordert bereits bei der Entstehung neuer Produktideen eine gewisse Nähe zum Anwender oder sogar die entwicklungsbegleitende Einbindung echter Anwender. In traditionellen Vorgehensweisen kann der Anwendungserfolg oft erst ganz am Ende des Prozesses ermittelt werden. Ein entsprechendes Reagieren auf Kunden und Anwender sowie deren wertvolles Feedback kann dann erst in einem nächsten Produkt, Projekt oder Release stattfinden und sich auswirken. Der Kunde bewertet ein Produkt nicht nur nach seinen Funktionen und der einfachen Handhabung, sondern auch nach seiner Qualität und Fehlerfreiheit. Dabei spielen oft schon Kleinigkeiten eine große Rolle, die zu einer negativen Bewertung eines Produktes führen können. In sozialen Netzwerken und Produktbewertungsportalen multiplizieren sich diese Effekte mittlerweile soweit, dass wir feststellen müssen: über Sieg oder Niederlage eines Produktes kann heute die breite Masse der Anwender entscheiden, unabhängig von Marketing- und Werbemaßnahmen. Der Einsatz agiler Management- und Entwicklungsmethoden liegt auf der Hand. Schnelle Entwicklungszyklen, Einbindung und Feedback echter Anwender, sowie höchste Qualitätsansprüche können durch agile Methoden nachhaltig realisiert werden. Des weiteren haben agile Methoden in den letzten Jahren ein breites Publikum erreicht und sind in aller Munde. Viele Versprechen, aber auch Missverständnisse kursieren bezüglich agiler Methoden: Scrum ist chaotisch. Jeder macht, was er will. Es wird nichts mehr dokumentiert. Scrum funktioniert nur bei kleinen Web-Projekten. Version 0.1 / 28.05.2012 4

Agilität funktioniert nicht bei komplexen Medizintechnik-Projekten. Agile Methoden funktionieren in unserer Organisation nicht. Scrum ist die Lösung all unserer Probleme. Durch Agilität werden wir effizienter. Die IEC 62304 beschreibt einen konkreten Software-Life-Cycle-Prozess und muss eins-zueins umgesetzt werden. Wir müssen ein V-Modell einsetzen, um normkonform zu arbeiten. Die Kombination der agilen Welt und des regulierten Umfeldes der Medizinproduktentwicklung bereitet vielen Leuten Kopfzerbrechen und führt zu großer Unsicherheit. In dieser Unsicherheit lauert die Gefahr, agile Methoden in bestehende, normkonforme Prozesse zu pressen, ohne dass sich der Vorteil echter Agilität entfalten kann. Eine vereinfachte, beschränkte oder missverstandene Anwendung agiler Methoden kann dazu führen, dass das Scheitern eines Produktes oder Projektes eben diesen agilen Methoden zugerechnet wird: Agil haben wir schon probiert, das hat ja auch nicht funktioniert. Agil hat bei uns alles nur schlimmer gemacht. Scrum hat uns mit Problemen konfrontiert, die wir vorher gar nicht hatten. Können beide Welten effektiv nebeneinander existieren? Wie viel Agilität passt in die normativen Anforderungen? Welche agilen Praktiken eignen sich für einen regulierten Entwicklungsprozess? Die grundsätzliche Frage lautet: wie kann die Normkonformität agiler Prozesse und Methoden nachgewiesen werden? Dieses Dokument beschreibt den Prozess, mit dessen Hilfe die Anforderungen aus der IEC 62304 an den Software-Life-Cycle-Prozess zu konkreten agilen und traditionellen Praktiken transferiert wurden. Diese anwendbaren Praktiken werden im Detail beschrieben und können gesamtheitlich als reines Scrum betrachtet werden mit entsprechenden Erweiterungen, um die normativen Anforderungen an den Software-Life-Cycle abzubilden. Zukünftige Ausgaben dieses Dokumentes werden die Normen 14971, 13485 und 62366 e- benso einbinden und abgeleitete Praktiken beschreiben. Des weiteren ist die Einbindung von Praktiken geplant, welche einen agilen, FDA-konformen Entwicklungsprozess ermöglichen. Version 0.1 / 28.05.2012 5

Das vorliegende Dokument beschreibt eine vollständige, IEC 62304 konforme Implementierung von Scrum als Projektmanagementmethode sowie agilen Entwicklungspraktiken aus dem Extreme Programming. Ich freue mich auf Fragen, Feedback und konstruktive Kritik der Leserschaft und bedanke mich vorab für das Interesse an der Thematik. Marc Bless Baden-Baden, Juni 2012 Version 0.1 / 28.05.2012 6

Marc Bless Von der Norm zum Prozess: des Meta-Prozesses Um zu einem normkonformen Prozess zu gelangen, bin ich vorgegangen, wie im Folgenden beschrieben. Anforderungen an den Software-Life-Cycle-Prozess Zunächst habe ich die Struktur der IEC 62304 vollständig aufgebrochen. Aus den einzelnen Kapiteln, Sektionen und jedem darin enthaltenen Paragraphen habe ich die eigentlichen Anforderungen an einen Software-Life-Cycle-Prozess extrahiert. Abgeleitete Anforderungen: Der Prozess - Teil 1/2 IEC 62304 Kapitel & Sektionen Paragraphen Anforderungen Marc Bless --- --- Scrum und die IEC 62304 - Wie soll das gehen? --- ScrumMed 2012, 15.02.2012 agile coach.de Die Struktur der Norm suggeriert einen sequentiellen Entwicklungsablauf, der einem agilen Ansatz im Wesen widerspricht. Gleichzeitig stecken in dieser Struktur viele redundante Anforderungen, die zu einem sequentiellen Ablauf eher orthogonalen Charakter haben, wie zum Beispiel das gesamte Thema Risikomanagement. agile coach.de Version 0.1 / 28.05.2012 7

Aus diesem Grund ordnete ich die Anforderungen neuen Clustern zu, welche einzelne Entwicklungsthematiken inhaltlich abgeschlossen handhabbar machten. Eine für uns grundlegende Aussage der Norm lautet: agile Vorgehensweisen sind (erlaubt und) möglich. ( Jeder beliebige wasserfallartige, iterative oder evolutionäre Prozess kann verwendet werden. ) Dokumente und Prozesse Den Anforderungen in den Clustern wurden konkrete agile und klassische Praktiken und Artefakte zugeordnet. Die Zuordnungen einzelner Praktiken und Artefakte zu einzelnen Anforderungen habe ich so vollständig vorgenommen, dass die Gesamtmenge aller normativen Anforderungen vollständig erfüllt wird. Jede einzelne Zuordnung ist schriftlich begründet, um einen Nachweis der Anforderungserfüllung führen zu können. Das Ergebnis aller Praktiken und Artefakte mitsamt ihrer Begründungen findet sich im Hauptteil dieses Dokuments. Das wichtigste Prinzip für die Zuordnung von Praktiken und Artefakten ist Simplicity (Einfachheit) und bedeutet, die minimale, aber vollständige Befriedigung der normativen Anforderungen zu finden. Praktiken sind dabei im Wesentlichen Prozesse, Reviews, Meetings, Besprechungen und Workshops. Unter Artefakten verstehen wir sämtliche Dokumente, Ergebnisse, funktionierende Software, Pläne und en, welche im Entwicklungsverlauf entstehen und eine Rolle spielen. Nachweis der Normkonformität Der Nachweis der Normkonformität wird aus kopierrechtlichen Gründen nicht in diesem Dokument geführt. Da die Originalquellen und Anforderungen der Normen nicht bei den Zuordnungen der Praktiken und Artefakte beschrieben sind, mag es an manchen Stellen nicht offensichtlich sein, für welche Anforderung und aus welchem Grund eine bestimmte Praktik oder ein Artefakt Normkonformität herstellt. Der interessierte Leser darf sich gerne an den Autoren wenden, um mehr über das Thema Nachweis der Normkonformität zu erfahren. Grundsätzlich können zwei Anwendungsfälle unterschieden werden. Der Abgleich der normativen Anforderungen mit einem bestehenden (agilen oder klassischen) Life-Cycle-Prozess ist ein sehr aufwändiges, aber notwendiges Verfahren, um die Normkonformität des beste- Version 0.1 / 28.05.2012 8

henden Prozesses nachzuweisen. Im Gegensatz dazu führt die Ableitung eines neuen, normkonformen Prozesses zu einer vollständigen Scrum-Umsetzung mit minimalem Tailoring. (Scrum steht hierbei nur für eine mögliche agile Referenzimplementierung, es können beliebige andere Vorgehensmodelle oder Prozessframeworks modelliert werden. Der in diesem Dokument vorgestellte Ansatz beschreibt eine vollständige Scrum-Implementierung.) Der Aufwand für diese Ableitung ist ebenfalls nicht unerheblich, wird jedoch durch die Gewissheit über die Normkonformität relativiert. Abgeleitete Anforderungen: Der Prozess - Teil 2/2 Anforderungen Dokumente Artefakte Prozesse Reviews Meetings Simplicity = Einfachheit: Minimale, aber vollständige Befriedigung der normativen Anforderungen Abgleich mit (bestehendem) Life-Cycle-Prozess Nachweis der Normkonformität Marc Bless --- --- Scrum und die IEC 62304 - Wie soll das gehen? --- ScrumMed 2012, 15.02.2012 Abschließend lässt sich sagen: Scrum und die Norm IEC 62304... harmonieren perfekt miteinander, benötigen minimales Tailoring, widersprechen sich nicht und verfolgen ähnliche Zielsetzungen. Version 0.1 / 28.05.2012 9

Überblick der Prozesse und Artefakte Das nachfolgende Diagramm zeigt den gesamten Überblick aller Prozesse und Artefakte, welche aus normativen und gewünschten agilen Gründen benötigt werden. Im folgenden Hauptteil dieses Dokumentes werden die einzelnen Praktiken und Artefakte im Detail beschrieben in jeweils eigenen Kapiteln. Die Struktur dieser einzelnen Kapitel ist folgendermaßen aufgebaut: - kurze Erklärung der Praktik oder des Artefaktes für das bessere Verständnis, welche Absicht dahintersteckt und welche Ergebnisse erwartet werden. - Liste der üblicherweise beteiligten Rollen für eine bessere Einschätzung, welche Rollen in einem bestehenden Unternehmenskontext für den Einsatz der Praktik oder des Artefaktes in Frage kommen. Die in diesem Dokument aufgeführten Rollen müssen nicht genau so übernommen werden, sie dienen eher dem Aufzeigen potentieller, sinnvoller Möglichkeiten. Version 0.1 / 28.05.2012 10

- Liste von Büchern, Artikeln und Webseiten, welche sich mit der Praktik oder dem Artefakt detailliert auseinandersetzen. - Liste der direkt aus dem Normtext abgeleiteten Anforderungen an den Software-Life-Cycle-Prozess. Hinweis: aus Copyright-Gründen sind diese Listen mit Norminhalten nicht in diesem Dokument enthalten. - Durchzuführende Maßnahmen und Aktivitäten sowie Begründungen, weswegen die beschriebene Praktik oder das Artefakt zur Herstellung der Normkonformität benötigt wird. Version 0.1 / 28.05.2012 11

Prozesse, Meetings, Reviews Version 0.1 / 28.05.2012 12

Acceptance Testing Process Akzeptanz-Tests sind ein grundlegender Bestandteil von (agilen) Anforderungen. Durch ihre Einhaltung wird sichergestellt, dass (a) die gewünschten Anwenderbedürfnisse befriedigt werden, (b) die umgesetzte Funktionalität durch geprüfte Schnittstellen integriert werden kann und (c) die Anforderung als "fertig" (done) betrachtet werden kann. Product Owner Entwicklungs-Team Lisa Crispin - Agile Testing http://de.wikipedia.org/wiki/softwaretest#abnahmetest Mit Hilfe von definierten Akzeptanz-Tests wird sichergestellt, dass das erstellte Software- Produkt die Bedürfnisse der Anwender befriedigt und die Anforderungen korrekt umgesetzt wurden. Mit Hilfe von Akzeptanz-Tests wird sichergestellt, dass eine in Software umgesetzte Anforderung abgekapselt funktioniert und damit für eine Integration in andere Strukturen bereit ist. Durch Akzeptanztests wird sichergestellt, dass die entwickelte Software entsprechende Akzeptanzkriterien befriedigt. Akzeptanztests entsprechen Black-Box-Tests. Version 0.1 / 28.05.2012 13

Clean Code / SOLID Principles Process Clean Code ist ein Wertesystem zur Professionalisierung der Software-Entwicklung. In ihm sind viele Good Practices und grundlegende Prinzipien enthalten, welche durch die Erfahrungen in den letzten Jahrzehnten als gültig und korrekt betrachtet werden können. Bekannter sind in erster Linie die fünf SOLID-Prinzipien: Single Responsibility Principle SRP Eine Klasse darf nur aus einem Grund geändert werden. Open Closed Principle OCP Eine Klasse muss offen sein für Erweiterungen, aber geschlossen gegen Modifikationen. Liskov Substitution Principle LSP Eine abgeleitete Klasse verhält sich immer so wie ihre Basisklasse. Interface Segregation Principle ISP Clients werden nicht mit Details versehen, die sie nicht benötigen. Dependency Inversion Principle DIP Klassen hoher Ebenen sollen nicht von Klassen niedriger Ebenen abhängig sein, sondern beide sollen von Interfaces/Abstraktionen abhängen. Interfaces sollen nicht von Details abhängen, sondern Details von Interfaces. Entwicklungs-Team http://www.clean-code-developer.de/solid.ashx Version 0.1 / 28.05.2012 14

Robert C. Martin - Clean Code Durch die korrekte Anwendung objekt-orientierter Prinzipien wie "Separation of Concerns" und "Single Responsibility Principle" entstehen lose gekoppelte Architekturen. Durch die Anwendung objekt-orientierter Prinzipien wird die Aufteilung von Software-Einheiten in weitere Einheiten getrieben. Modernes Software-Engineering wird umgesetzt mit der Anwendung von Clean Code und SOLID-Prinzipien, TDD, Unit Tests, Design Patterns und vielen anderen Methoden, die hier nicht vollständig aufgeführt werden können. Version 0.1 / 28.05.2012 15

Continuous Integration Process Kontinuierliche Integration beschreibt den Prozess des regelmäßigen, vollständigen Neubildens und Testens einer Anwendung. Jeder Entwickler checkt seine Änderungen früh und regelmäßig (mindestens täglich) in eine Versionsverwaltung ein. Von dort aus wird das gesamte System neu gebaut und automatisch getestet, damit die Entwickler schnellstmöglich auf vorhandene Fehler im System aufmerksam gemacht werden können. Entwicklungs-Team http://www.martinfowler.com/articles/continuousintegration.html Konsequent angewandte Continuous Integration ist die Aktivität, durch welche eine frühzeitige Integration aller beteiligten Komponenten inklusive der dazugehörigen Integrationstests sichergestellt wird. Die einzelnen Software-Einheiten werden kontinuierlich integriert. Kontinuierliche Integration bedient sich eines Versionierungssystems, um jederzeit kleine Änderungen am System integrieren zu können. Kontinuierliche Integration benötigt eine funktionierende Test-Automatisierung, um ihren Nutzen entfalten zu können. Version 0.1 / 28.05.2012 16

Early Integration / Early Testing Process Frühzeitige Integration und frühzeitiges Testen sind zum Einen Konzepte der kontinuierlichen Integration mit Test-Automation, zum Anderen können sie auch entwicklungsbegleitend manuell durchgeführt werden. Im Extremfall können Anforderungen vor ihrer eigentlichen Umsetzung bereits getestet werden (Test-First Development). Das darunterliegende Prinzip heißt "Schnelles Scheitern" (Fail Fast). Wir möchten so schnell wie möglich wissen, dass unser Vorhaben nicht erfolgreich sein kann. Entwicklungs-Team James Shore - The Art of Agile Development (Kapitel 13.2) Anforderungen können bereits vor ihrer endgültigen Umsetzung getestet und integriert werden. Frühe Integration bedient sich eines Versionierungssystems, um Änderungen am System sofort integrieren zu können. Version 0.1 / 28.05.2012 17

Exploratory and Manual Testing Process Neben einer funktionierenden Test-Automation beschäftigen sich agile, entwicklungsbegleitende Tester mit explorativem und manuellem Testen des Systems. Entwicklungs-Team Lisa Crispin - Agile Testing Exploratives Testen entspricht Black-Box-Tests. Die benötigte Test Dokumentation wird mit den Ergebnissen der explorativen und manuellen Tests angereichert. Version 0.1 / 28.05.2012 18

Integration Testing Process Integrations-Tests stellen sicher, dass sich die einzelnen Teile eines entwickelten System miteinander verbinden lassen und ein funktionierendes Ganzes entsteht. Entwicklungs-Team http://de.wikipedia.org/wiki/integrationstest Lisa Crispin - Agile Testing Integrations-Tests entsprechen Black-Box-Tests bezüglich der Schnittstellen einzelner Systemkomponenten und White-Box-Tests bezüglich der System-Architektur. Die Software-Integration wird durch Integrationstests verifiziert. Die integrierten Software-Einheiten werden durch Integrationstests verifiziert. Durch Test- Automation kann eine Dokumentation der Testergebnisse erzeugt werden. Integrations- sowie System-Tests können mit Simulationen, Prototypen und Mocks durchgeführt werden. Version 0.1 / 28.05.2012 19

Problem Communication Process Ein Problem-Kommunikationsprozeß wird dafür eingesetzt, Stakeholder, Anwender, Kunden und allgemein alle am Produkt interessierten Personen darüber zu informieren, welche Fehler und Probleme sich in dem Produkt befinden und behoben bzw. nicht länger benutzt werden sollten. Product Owner keine Probleme und deren Konsequenzen werden über einen "Problem Communication"-Prozeß an Anwender kommuniziert. Einzubindende Stakeholder werden durch einen "Problem Communication"-Prozeß über die Existenz eines Problems informiert. Version 0.1 / 28.05.2012 20

Product Backlog Grooming Process Im Product Backlog Grooming Meeting wird von Product Owner und Team bewertet, welche Änderungen sich am Produkt durch Anforderungen (z.b. Änderungsanträge und User Stories) ergeben. Die Entscheidung darüber, welche Anforderungen umgesetzt werden sollen, liegt einzig und alleine beim Product Owner. Product Owner Entwicklungs-Team Scrum Master http://www.scrumalliance.org/articles/339 Im Product Backlog Grooming Meeting werden bestehende Anforderungen und User Stories im Product Backlog neu bewertet und aktualisiert. Der Product Owner läßt im Product Backlog Grooming Meeting neue und geänderte Anforderungen vom Team bewerten und erteilt deren Freigabe durch Aufnahme und Einsortierung in sein Product Backlog. Im Product Backlog Grooming Meeting werden neue und geänderte Anforderungen auf ihren Einfluß auf bestehende Produkte und Systeme untersucht. Version 0.1 / 28.05.2012 21

Im Product Backlog Grooming Meeting durchlaufen neue und geänderte Anforderungen den Risikomanagement-Prozess, um neue Risiko-Maßnahmen abzuleiten. Im Product Backlog Grooming Meeting durchlaufen neue und geänderte Anforderungen den Risikomanagement-Prozess, um sie mit bestehenden Risiko-Maßnahmen abzugleichen. Im Product Backlog Grooming Meeting werden Fehler- und Problem-Berichte bewertet und ihr Einfluß auf die Sicherheit bestehender Produkte und Systeme festgestellt, um notwendige Anforderungsänderungen im Product Backlog abzuleiten. Im Product Backlog Grooming werden notwendige Änderungen am System diskutiert und für die Entwicklung freigegeben. Im Product Backlog Grooming werden Probleme und Fehler von bereits releaster Software besprochen. Im Product Backlog Grooming werden die Funktionalitäten und Performance-Anforderungen an einzusetzende SOUP-Komponenten definiert. Im Product Backlog Grooming werden Änderungen an der Software analysiert, bewertet und ins Product Backlog einsortiert. Damit durchlaufen Änderungen den gleichen Entwicklungsprozeß wie Anforderungen und User Stories. Im Backlog Grooming werden die Anforderungen an Hardware und Software identifiziert, welche durch den Einsatz von SOUP notwendig werden. Im Product Backlog Grooming wird das Product Backlog kontinuierlich überarbeitet und angepasst. Im Product Backlog Grooming werden User Stories erstellt, verfeinert, abgeschätzt, verworfen und in einzelne User Stories aufgesplittet. Version 0.1 / 28.05.2012 22

Quality Management Prozess Process Ein zertifiziertes Qualitätsmanagementsystem (z.b. nach ISO 13485) für medizinische Produkte wird dafür genutzt, die Normkonformität für Medizinproduktentwicklungen nachzuweisen und damit deren Marktfreigabe zu erwirken. Qualitätsmanager Scrum Master ISO 13485 http://de.wikipedia.org/wiki/iso_13485 Ein Qualitäts-Management-Prozess ist definiert und wird eingesetzt. Version 0.1 / 28.05.2012 23

Release Planning Meeting Process Im Release Planning wird regelmäßig darüber entschieden, welcher Inhalt/Scope in die Produktentwicklung einfließen soll und welche Zeiträume und Meilensteine sich daraus ergeben. Product Owner Entwicklungs-Team http://www.energizedwork.com/weblog/2006/04/release-planning.html Im Release Planning findet die Vorbewertung und Priorisierung statt für Probleme und Fehler von bereits releaster Software. Das Release Planning unterscheidet nicht, ob ein Release aus neuen Anforderungen besteht oder aus Änderungen an einem bestehenden System. Im Release Planning wird festgelegt, ob ein Release als vollständiges System-Release erstellt wird oder als Patch zu einem bestehenden System-Release. Im Release Planning wird entschieden, welche Maßnahmen und Aktivitäten durchzuführen sind, um eine verläßliche Auslieferung der Software zu gewährleisten. Im Release Planning wird das Product Backlog initial erstellt bzw. in späteren Release Planning Meetings kontinuierlich überarbeitet und angepasst. Version 0.1 / 28.05.2012 24

Risk Analysis and Management Process In einem Risiko-Management-Prozeß werden Gefährdungen für Menschen und Umwelt durch Gebrauch eines Medizinproduktes analysiert, bewertet, durch Maßnahmen reduziert und entsprechend kontrolliert. Der Risiko-Management-Prozeß findet während aller Entwicklungsaktivitäten und -phasen statt. Qualitätsmanager Product Owner Entwicklungs-Team Scrum Master ISO 14971 Im Sprint Planning Meeting wird sichergestellt, dass alle Maßnahmen aus der Risiko-Analyse einer in diesem Sprint geplanten Anforderung in das Product Backlog als Anforderung einfließen. Im Sprint Planning Meeting wird sichergestellt, dass alle Maßnahmen aus der Risiko-Analyse einer in diesem Sprint geplanten Anforderung in das Product Backlog als Anforderung einfließen. Version 0.1 / 28.05.2012 25

Im Sprint Planning Meeting durchlaufen alle Anforderungen eine Risiko-Analyse, um notwendige Maßnahmen abzuleiten. In der Risiko-Analyse während des Sprint Planning Meetings werden alle Anforderungen auf möglichen Mißbrauch untersucht und entsprechende Maßnahmen abgeleitet. Notwendige Änderungen an der Software, die durch System-Tests erkannt werden, durchlaufen während des Sprint Plannings die notwendige Risikoanalyse. Im Sprint Planning Meeting werden Probleme und Fehler auf sicherheitsrelevante Aspekte mit Hilfe der Risikoanalyse untersucht. Die Sicherheitsklassifizierung wird im Sprint Planning für alle umzusetzenden Software-Einheiten überdacht und gegebenenfalls neu vergeben. Im Sprint Planning werden die Architektur und die Software-Einheiten der umzusetzenden Anforderungen definiert. Die identifizierten Software-Einheiten durchlaufen die Risiko-Analyse. Im Sprint Planning wird die Risiko-Analyse der umzusetzenden Architektur und ihrer Software-Einheiten durchgeführt. Im Sprint Planning werden für fehlerhaftes Verhalten der Software mögliche Ursachen in Hardware- und Software-Fehlern analysiert Im Sprint Planning werden User Stories daraufhin untersucht, ob sie zu einer Gefahrensituation beitragen können, die in der Risiko-Analyse enthalten ist. Im Sprint Planning werden die umzusetzenden Anforderungen und deren abgeleitete Software-Einheiten durch die Risiko-Analyse auf mögliche Gefährdungen hin untersucht. Im Sprint Planning werden Workflows und sequentielle Abfolgen von Events in der Software durch die Risiko-Analyse auf Gefahrensituationen untersucht. Im Sprint Planning werden die umzusetzenden Software-Einheiten durch die Risiko-Analyse auf Gefahrensituationen untersucht. Im Sprint Planning wird der zu erstellenden Software-Einheit eine Sicherheitsklassifizierung zugewiesen (A, B, C), welche weitere Details im Entwicklungsprozess bestimmt. Im Sprint Planning werden zu jeder Software-Einheit mit möglichen Gefahrensituationen entsprechende Maßnahmen identifiziert und festgehalten. Im Sprint Planning werden mögliche Ursachen für Fehlverhalten von SOUP durch die Risiko- Analyse identifiziert. Im Sprint Planning werden SOUPs und ihre bekannten Fehler/Abweichungen durch die Risiko-Analyse betrachtet. Risiko-Management wird in erster Linie im Sprint Planning durchgeführt. Risiko-Management wird im Sprint Planning Meeting durchgeführt. Im Sprint Planning wird jeder Anforderung und User Story (auf jeder Ebene) eine Sicherheitsklassifizierung zugeordnet durch die Anwendung der Risiko-Analyse. Version 0.1 / 28.05.2012 26

Scrum Process Scrum ist ein Management-Framework für die empirische Prozeßkontrolle. Product Owner Entwicklungs-Team Scrum Master http://www.scrum.org/scrumguides/ Ken Schwaber - Agiles Projektmanagement mit Scrum Roman Pichler - Scrum Scrum ist ein gültiges Prozeß-Framework für den Software-Life-Cycle. Version 0.1 / 28.05.2012 27

Software Maintenance Process Process Der Software Maintenance-Prozess (Software Wartungsprozeß) beschreibt alle Aktivitäten, die für die Änderung von sich im Markt befindlichen Medizinprodukten notwendig sind. Dazu gehört das Einholen und Bewerten von Anwender-Feedback sowie ein installierter Fehlerbehebungsprozeß. Product Owner Entwicklungs-Team https://www.ibm.com/developerworks/mydeveloperworks/blogs/c914709e-8097-4537-92e f-8982fc416138/entry/march_10_2012_11_27_am8?lang=en Über den Software Maintenance Prozeß erfolgt das Einholen des Feedbacks zu releaster Software innerhalb der eigenen Organisation. Über den Software Maintenance Prozeß erfolgt das Einholen des Feedbacks zu releaster Software von tatsächlichen Anwendern. Version 0.1 / 28.05.2012 28

Sprint Planning Process Im Sprint Planning Meeting einigen sich der Product Owner und das Team auf ein Sprint-Ziel und das dafür umzusetzende Sprint Backlog. Im zweiten Teil des Sprint Plannings werden vom Team konkrete Architektur- und Umsetzungsaufgaben identifiziert und geplant. Product Owner Entwicklungs-Team Scrum Master http://www.mountaingoatsoftware.com/scrum/sprint-planning-meeting Im Sprint Planning Meeting wird vom Team festgestellt, ob sich Anforderungen im Product Backlog widersprechen. Im Sprint Planning Meeting wird sichergestellt, dass über die Anforderungen ein einheitliches Verständnis bei allen Beteiligten herrscht. Im Sprint Planning Meeting wird sichergestellt, dass zu jeder Anforderung Akzeptanz-Kriterien für die Integration in andere Strukturen erstellt werden. Im Sprint Planning Meeting werden bestehende Anforderungen und User Stories im Product Backlog neu bewertet und aktualisiert. Version 0.1 / 28.05.2012 29

Spätestens im Sprint Planning Meeting werden Anforderungen auf ihre korrekte und vollständige Definition geprüft. Im Sprint Planning Meeting werden vom Team alle Tasks identifiziert, welche für die Umsetzung einer Änderung (erneut) durchgeführt werden müssen. Im Sprint Planning erfolgt die Planung der Integrations-Tests sowie der System-Tests. Im Sprint Planning finden die notwendigen Risiko-Analysen sowie die Umsetzungsplanung statt für Probleme und Fehler von bereits releaster Software. Im Sprint Planning werden die Fehler- und Problemberichte analysiert. Im Sprint Planning werden für benötigte SOUP-Komponenten die Funktionalitäten und Performance-Anforderungen festgelegt. Im Sprint Planning werden die umzusetzenden Anforderungen in eine Architektur überführt und diese wiederum in Software-Einheiten runtergebrochen. Im Sprint Planning werden die Architektur und die Schnittstellen der umzusetzenden Software-Einheiten sowie der einzubindenden externen Software-Einheiten festgelegt. Die grundlegenden Software-Strukturen und Architektur-Entscheidungen können im Sprint Planning getroffen werden. Im Sprint Planning werden Software-Einheiten, die eine Risiko-Maßnahme umsetzen, genauso behandelt wie alle anderen Anforderungen und befolgen den definierten Entwicklungsprozeß. Im Sprint Planning Meeting wird das Sprint Backlog bzw. der Sprint Development Plan festgelegt. Im Sprint Planning werden die Iteration Notes (Sprint Notizen) angefangen. Im Sprint Planning Meeting wird in der zweiten Phase (Sprint Planning 2) die Architektur der umzusetzenden Anforderungen besprochen, skizziert und festgehalten. Version 0.1 / 28.05.2012 30

Sprint Retrospective Process In der Sprint Retrospektive hat das Team die Möglichkeit, Verbesserungsmaßnahmen für die eigenen Prozesse und Strukturen zu identifizieren und zu beschließen. Product Owner Entwicklungs-Team Scrum Master Norman Kerth - Project Retrospectives Esther Derby, Diana Larsen - Agile Retrospectives Der Team Charter und die Working Agreements können vom Team im Sprint Retrospective Meeting an veränderte Situationen und gegebene Notwendigkeiten angepasst werden. Die Definition-of-Ready kann vom Team im Sprint Retrospective Meeting an veränderte Situationen und gegebene Notwendigkeiten angepasst werden. Die Definition-of-Done kann vom Team im Sprint Retrospective Meeting an veränderte Situationen und gegebene Notwendigkeiten angepasst werden. Der Software Development Plan kann vom Team im Sprint Retrospective Meeting an veränderte Situationen und gegebene Notwendigkeiten angepasst werden. Version 0.1 / 28.05.2012 31