Scrum für das Anforderungs-management im regulierten Umfeld
Scrum für das Anforderungs-management im regulierten Umfeld
Scrum für das Anforderungs-management im regulierten Umfeld
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
ReConf 2010 – München – 17. März 2010<br />
<strong>Scrum</strong> <strong>für</strong> <strong>Anforderungs</strong><strong>management</strong> <strong>im</strong> <strong>regulierten</strong> <strong>Umfeld</strong> –<br />
Darf man <strong>das</strong>?<br />
ZWISCHEN AGILITÄT UND REGULIERUNG<br />
Blaise Rey-Mermet, EVOCEAN GmbH, ©2010
Agenda<br />
Prinzipien bezüglich agilen Anforderungen mit <strong>Scrum</strong><br />
Agile Anforderungen schreiben<br />
Agilität und Regulierung ausbalancieren<br />
2 - © EVOCEAN www.evocean.com
Immer mehr Veränderungen machen die Anforderungen<br />
Ihrer Kunden schwer vorhersehbar; behalten Sie sie agil!<br />
Schlanke &<br />
agile<br />
Methoden<br />
Reguliertes <strong>Anforderungs</strong><strong>management</strong><br />
• Genügend Informationen <strong>für</strong> die Produktentwicklung<br />
Rückverfolgbare<br />
Produktanforderungen<br />
Effizient<br />
&<br />
Reguliert<br />
Agiles <strong>Anforderungs</strong><strong>management</strong><br />
• Ausprobieren ist <strong>im</strong> Entwicklungsprozess<br />
möglich<br />
• Komplizierte Probleme werden in verständliche<br />
Fragestellungen aufgeteilt<br />
• Eine unvollständige Produktdefinition zu<br />
Projektbeginn ist möglich<br />
• Rückverfolgbarkeit und Priorisierung<br />
3 - © EVOCEAN www.evocean.com
Prinzipien <strong>für</strong> agile Anforderungen mit <strong>Scrum</strong>
Die Prinzipien des Lean Manufacturing in der<br />
Produktentwicklung<br />
• Verschwendung el<strong>im</strong>inieren<br />
• Qualität einbauen<br />
• Know-how schaffen<br />
• Verbindlichkeiten verzögern<br />
• Schnell liefern<br />
• Teammitgliedern vertrauen<br />
• Kontinuierliche Verbesserung<br />
Verschwendung ist alles, was aus<br />
Kundensicht keinen Mehrwert<br />
generiert:<br />
• Funktionalitäten welche der<br />
Anwender nicht versteht / braucht<br />
Referenz: Implementing Lean Software<br />
Development by Mary & Tom Poppendieck<br />
5 - © EVOCEAN www.evocean.com
Sieben Prinzipien des agilen <strong>Anforderungs</strong><strong>management</strong><br />
• Kundenorientierter Ansatz: Der Kunde formuliert und priorisiert die Produktentwicklung<br />
• Wert orientiert: Der Kunde definiert den Wert seiner Anforderungen<br />
• Offen gegenüber Veränderungen: Anforderungen sind keine „Verträge“<br />
• Unmittelbares Feedback: der Kunde probiert <strong>das</strong> Produkt aus<br />
• Just-in-t<strong>im</strong>e Anforderungen schreiben; Details bei Bedarf und nicht <strong>im</strong> Voraus<br />
zufügen<br />
• So viele Anforderungen wie notwendig schreiben: bis die Funktionalität verstanden<br />
ist<br />
• Mitbest<strong>im</strong>mung in der Entwicklung fördern: Das Team best<strong>im</strong>mt wie die Kundenbedürfnisse<br />
am besten erfüllt werden können<br />
6 - © EVOCEAN www.evocean.com
Wie <strong>Scrum</strong> die Agilität von Anforderungen fördert<br />
Merkmale von <strong>Scrum</strong>:<br />
<strong>Scrum</strong> ist eine agile Entwicklungsmethode welche uns hilft, die <strong>für</strong> den Kunden<br />
wertvollsten Funktionalitäten in möglichst kurzer Zeit zu liefern.<br />
• Sich selbstorganisierende Teams: die einen effizienten Weg suchen, um die<br />
vom Kunden und Produktmanager gesetzten Prioritäten zu erfüllen.<br />
• Kurze Iteration: welche ermöglicht, Arbeitsresultate schnell und wiederholt zu<br />
untersuchen. Alle zwei bis vier Wochen kann jeder Stakeholder lauffähige<br />
Komponenten sehen, sie freigeben oder sie weiter bearbeiten.<br />
• Verminderte Anzahl von Artefakten und Rollen: So gibt es beispielsweise mit<br />
<strong>Scrum</strong> nur eine Liste von Anforderungen – den Product Backlog. Diese wird dann<br />
<strong>für</strong> jede Wiederholung mit Aufgaben erweitert (Sprint Backlog).<br />
• <strong>Scrum</strong> schreibt wenig Vorgehensweisen <strong>für</strong> die Entwicklung vor.<br />
7 - © EVOCEAN www.evocean.com
Product Backlog<br />
Sprint Backlog<br />
Übersicht: <strong>Scrum</strong> Prozess<br />
Sprint Development<br />
Envision<br />
Daily <strong>Scrum</strong><br />
24 hours<br />
<strong>Scrum</strong><br />
Master<br />
Team<br />
S0010<br />
S0020<br />
S0030<br />
S040<br />
S0050<br />
S0060<br />
Product<br />
Owner<br />
Sprint Plan<br />
S0010<br />
S0020<br />
Sprint<br />
2 -4 weeks<br />
Demo &<br />
Retrospective<br />
Product Backlog:<br />
wie vom Product<br />
Owner priorisiert<br />
Sprint Backlog:<br />
mit vom Entwicklungsteam<br />
best<strong>im</strong>mten Tasks<br />
Task 01<br />
Task 02<br />
Task 03<br />
Transparenz:<br />
Demo von <strong>für</strong> den Kunden<br />
wertvollen Funktionalitäten<br />
Potentially Shippable<br />
Product Increment<br />
8 - © EVOCEAN www.evocean.com
<strong>Scrum</strong> Rollen: Product Owner<br />
Product Owner<br />
Product Backlog<br />
Sprint Plan<br />
Code Prio Description Story<br />
Points<br />
S0040 1 Set up continuous integration<br />
system<br />
S0030 2 Create compilable application<br />
skeleton<br />
S0010 3 Display current mode in a<br />
s<strong>im</strong>plest possible way<br />
S0120 4 Set up the server to update<br />
status data<br />
Status<br />
10 done<br />
5 started<br />
2 accepted<br />
3 started<br />
Verantwortlichkeiten<br />
• Eine gemeinsame Vision fördern<br />
• Anforderungen definieren<br />
• Über Release Datum und Inhalt entscheiden<br />
• Produktrentabilität (ROI)<br />
• Backlog verwalten und auf Grund des<br />
Marktwerts Prioritäten setzen<br />
• Arbeitsresultate akzeptieren oder verwerfen<br />
Product Backlog:<br />
wie vom Product<br />
Owner priorisiert<br />
9 - © EVOCEAN www.evocean.com
Agile Anforderungen schreiben
Anforderungen als User Stories – klare Formulierung des<br />
Zwecks<br />
Die User Story beschreibt kurz eine Funktionalität<br />
des Systems, welche entweder <strong>für</strong> den<br />
Anwender oder den Product Owner von<br />
Nutzen ist.<br />
Die Formulierung ist standardisiert und stellt<br />
sicher, <strong>das</strong>s jede Anforderung einen Nutzen<br />
<strong>für</strong> den Anwender hat:<br />
Als möchte ich <strong>das</strong>s <br />
damit ich <br />
So werden Anforderungen in einer aktiven<br />
anstelle einer passiven Form geschrieben.<br />
11 - © EVOCEAN www.evocean.com
Die User Story beschreibt …<br />
Wer (Anwender -<br />
Rolle)<br />
Was<br />
(Funktionalität)<br />
Warum (Nutzen)<br />
12 - © EVOCEAN www.evocean.com
Warum resultieren User Stories in agilen Anforderungen?<br />
User Stories<br />
Herausforderungen bei der Formulierung von<br />
User Stories:<br />
• Fördern die klare Formulierung des<br />
Nutzens<br />
• Fördern die mündliche Kommunikation<br />
• Sind <strong>für</strong> alle Stakeholders verständlich<br />
• Haben die richtige Grösse <strong>für</strong> die Planung<br />
• Können bei der interativen Entwicklung<br />
eingesetzt werden<br />
• Verzögern die Definition von Details<br />
• Fördern die Mitwirkung von<br />
Teammitgliedern<br />
• Die Verwaltung von vielen kurzen Stories ist<br />
anspruchsvoll<br />
• Deren Rückverfolgbarkeit muss dokumentiert<br />
werden<br />
• User Stories ersetzen NICHT die Produktdokumentation<br />
13 - © EVOCEAN www.evocean.com
… was wenn in späteren Sprints Details benötigt werden ?<br />
Eine User Story mit Kommentaren.<br />
Story 01: As a patient, I want<br />
clear indication of the <strong>im</strong>plant<br />
operating mode, so I can easily<br />
read it when I am tired or<br />
confused.<br />
Details resp. zusätzliche Informationen können<br />
als Kommentar zur User Story hinzugefügt<br />
werden.<br />
Warum Kommentar? Bei User Stories steht<br />
NICHT die Verbindlichkeit <strong>im</strong> Vordergrund!<br />
Kommentare vermeiden den falschen Eindruck<br />
von Endgültigkeit.<br />
Priority 4 [10 Story Points]<br />
(Thomas) up to 7 modes are possible<br />
depending on the <strong>im</strong>plant type.<br />
14 - © EVOCEAN www.evocean.com
Product Backlog<br />
Product Backlog<br />
Product Backlog<br />
Product Backlog<br />
Sind detaillierte Anforderungen in agilen Projekten erlaubt?<br />
• Detaillierte Spezifikationen sollten nur <strong>für</strong> sich in Entwicklung befindenden Anforderungen<br />
geschrieben werden<br />
• Am Ende des letzten Sprints sind alle Anforderungen vollständig definiert<br />
• Veränderungen von Anforderungen, welche sich noch NICHT in Entwicklung befinden,<br />
haben keinen Einfluss<br />
Sprint 1<br />
Sprint 2<br />
Sprint 3<br />
Sprint N<br />
Stories<br />
Product<br />
Stories<br />
Product<br />
Stories<br />
Product<br />
Stories<br />
Product<br />
S0010<br />
S0010<br />
S0010<br />
S0010<br />
S0020<br />
S0020<br />
S0020<br />
S0020<br />
S0030<br />
S0030<br />
S0030<br />
S0030<br />
S0040<br />
S0040<br />
S0040<br />
S0040<br />
S0050<br />
S0050<br />
S0050<br />
S0050<br />
S0060<br />
S0060<br />
S0060<br />
S0060<br />
S0070<br />
S0070<br />
S0070<br />
S0070<br />
S0080<br />
S0080<br />
S0080<br />
S0080<br />
15 - © EVOCEAN www.evocean.com
Product Backlog<br />
Sprint Backlog<br />
Detaillierung von Anforderungen mit Use Cases und<br />
Nicht-Funktionalen Anforderungen (NFR)<br />
S0010<br />
S0020<br />
The (smallest possible)<br />
requirements model that<br />
details the Story<br />
S0030<br />
S0040<br />
TA0014<br />
S0050<br />
S0060<br />
S0070<br />
S0010<br />
TA0013<br />
TA0012<br />
NFR0036<br />
NFR0035<br />
S0080<br />
S0020<br />
TA0011<br />
UC0034<br />
Stories<br />
selected for the<br />
Sprint<br />
Backlog tasks<br />
expanded<br />
by Team<br />
16 - © EVOCEAN www.evocean.com
Agiles <strong>Anforderungs</strong>modell (basierend auf D. Leffingwell)<br />
Critical Goals /<br />
User Needs<br />
REQ<br />
realized by<br />
Use Case<br />
elaborates<br />
Backlog Item<br />
constrains<br />
Non-Functional<br />
Requirements<br />
REQ<br />
REQ<br />
is a kind of<br />
Epic<br />
realized<br />
by<br />
Feature<br />
realized<br />
by<br />
Story<br />
REQ<br />
REQ<br />
REQ<br />
verifies<br />
verifies<br />
Referenz: Agile Enterprise Requirements Information Model – Subset for Agile<br />
Project Teams - by Dean Leffingwell 2008<br />
www.scalingsoftwareagility.wordpress.com<br />
Acceptance Test<br />
TST<br />
17 - © EVOCEAN www.evocean.com
Beschreiben Sie vollständige Interaktionen mit Use Cases<br />
Use Case<br />
REQ<br />
elaborates<br />
Story<br />
REQ<br />
Stories und Use Cases haben unterschiedliche<br />
Ziele: Stories sind kurz – Use Cases<br />
beschreiben eine vollständige Interaktion:<br />
• Use Cases sind langlebiger<br />
• Use Cases beinhalten oft <strong>das</strong> Einvernehmen<br />
aller Beteiligten<br />
• Use Cases sind anfälliger bezüglich der<br />
Integration von technischen Details<br />
• Mit Use Cases können Stories, welche<br />
zusammen eine Sequenz bilden, zusammengefasst<br />
werden<br />
18 - © EVOCEAN www.evocean.com
Verwenden Sie Nicht-Funktionale Anforderungen als<br />
Rahmenbedingungen <strong>für</strong> die Stories<br />
Backlog Item<br />
REQ<br />
constrains<br />
Non-Functional<br />
Requirements<br />
REQ<br />
Nicht-Funktionale Anforderungen<br />
• definieren die Qualität (<strong>im</strong> weitesten Sinne)<br />
welche eine Anwendung oder ein System<br />
erfüllen muss<br />
• umschreiben <strong>das</strong> “wie gut” von (z.B. in<br />
welcher Qualität);<br />
• Leistung, Sicherheit, Zuverlässigkeit<br />
• Normen, Standards<br />
• Designeinschränkungen<br />
Funktionale Anforderungen hingegen beschreiben<br />
<strong>das</strong> „was“ – und kommen auch bei<br />
Test Cases zum Einsatz.<br />
19 - © EVOCEAN www.evocean.com
Ergänzen Sie die Stories mit Nicht-Funktionalen<br />
Anforderungen<br />
Eine User Story mit Nicht-Funktionalen<br />
Anforderungen<br />
Story 01: As a patient, I want<br />
clear indication of the <strong>im</strong>plant<br />
operating mode, so I can easily<br />
read it when I am tired or<br />
confused.<br />
Priority 4 [10 Story Points]<br />
• Acceptance Tests stellen sicher, <strong>das</strong>s die<br />
Nicht-Funktionalen Anforderungen eingehalten<br />
werden<br />
NFR_1-5<br />
(Environmental Constraint)<br />
The control unit display shall be<br />
clearly legible under an ambient<br />
luminance.<br />
20 - © EVOCEAN www.evocean.com
Verwenden Sie “Planguage” Stichwörter um die User<br />
Stories messbar zu machen<br />
Planguage ist eine informelle, strukturierte,<br />
stichwortartige Sprache um Anforderungen<br />
messbar zu formulieren:<br />
Min<strong>im</strong>um Goal Outstanding<br />
“Landing zone”<br />
Es gibt viel mehr Planguage<br />
Stichwörter – verwenden Sie<br />
diejenigen, welche <strong>für</strong> Ihre<br />
Story wertvoll sind<br />
Scale<br />
Scale: The measurement units used to<br />
quantify the statement (e.g., „mean t<strong>im</strong>e<br />
between failure‟).<br />
Meter: A practical method for measuring and<br />
testing on a defined scale.<br />
Min<strong>im</strong>um: level required to avoid failure.<br />
Goal: The level at which good success can<br />
be cla<strong>im</strong>ed.<br />
Outstanding: A future desired level, under<br />
defined [t<strong>im</strong>e, place, event] conditions,<br />
which is designed to challenge people to<br />
exceed Goal levels.<br />
Referenz: Tom Gilb - Competitive Engineering: A Handbook For<br />
Systems Engineering, Requirements Engineering, and Software<br />
Engineering Using Planguage- August, 2005 - www.gilb.com<br />
21 - © EVOCEAN www.evocean.com
Dokumentieren Sie Annahmen und Risiken bei kritischen<br />
Stories<br />
Story 01: As a patient, I want<br />
clear indication of the <strong>im</strong>plant<br />
operating mode, so I can easily<br />
read it when I am tired or<br />
confused.<br />
Priority 4 [10 Story Points]<br />
• Annahmen: Annahmen und Aussagen<br />
welche Probleme generieren wenn sie<br />
falsch sind<br />
• Risiken: Alles was Fehlfunktionen,<br />
Verzögerungen oder andere negativen<br />
Einflüsse auslösen kann<br />
(Thomas) Up to 7 modes are possible<br />
depending on the <strong>im</strong>plant type.<br />
NFR_1-5<br />
(Environmental Constraint)<br />
The control unit display shall be clearly legible under an<br />
ambient luminance.<br />
Assumptions:<br />
1) ambient luminance range: 100 to 1000 lux.<br />
2) Viewing distance: 20cm to 60cm (for alarm signals,<br />
specific requirements shall apply).<br />
22 - © EVOCEAN www.evocean.com
Wenn Sie über die richtige Menge von Details verfügen<br />
starten Sie mit dem Design!<br />
Eine User Story mit Acceptance Tests.<br />
Story 01: As a patient, I want<br />
clear indication of the <strong>im</strong>plant<br />
operating mode, so I can easily<br />
read it when I am tired or<br />
confused.<br />
Zusätzliche Erwartungen der Anwender<br />
können mit acceptance tests abgedeckt<br />
werden.<br />
Priority 4 [10 Story Points]<br />
Try it in horizontal screen mode<br />
Try it in ambient luminance<br />
range: 100 to 1000 lux.<br />
Try it for viewing distance:<br />
20cm to 60cm<br />
23 - © EVOCEAN www.evocean.com
… Überprüfen Sie anschliessend die Story mit dem Team<br />
und bewerten Sie die Funktionalitäten des Produkts<br />
Überprüfen der Story auf deren Konformität<br />
mit den Kundenerwartungen an <strong>das</strong> Produkt<br />
sowie mit den Erwartungen des Teams.<br />
Validieren des (lauffähigen) Produkts um<br />
sicher zu stellen, <strong>das</strong>s <strong>das</strong> Produkt die Ziele<br />
des Kunden erfüllt (nicht die Anforderungen).<br />
Die Charakteristiken der Story überprüfen:<br />
(INVEST model)<br />
• Independent<br />
• Negotiable<br />
• Valuable<br />
• Est<strong>im</strong>able<br />
• Small<br />
• Testable<br />
Sprint Review<br />
Das Team<br />
• präsentiert <strong>das</strong> <strong>im</strong> Sprint Erreichte<br />
• Erklärt / demonstriert die neuen<br />
Funktionalitäten<br />
• Lässt den Product Owner <strong>das</strong> Produkt<br />
ausprobieren<br />
Demo &<br />
Retrospective<br />
Potentially Shippable<br />
Product Increment<br />
24 - © EVOCEAN www.evocean.com
Agilität und Regulierung ausbalancieren
Standards machen einen definierten Prozess notwendig…<br />
Konform<br />
• Rückverfolgbar<br />
• Dokumentiert<br />
• Der Entwicklungsprozess muss dokumentiert<br />
sein<br />
• „Best Practices“ <strong>für</strong> ein min<strong>im</strong>ales Produktrisiko<br />
und eine max<strong>im</strong>ale Zuverlässigkeit<br />
• Das Produkt ist vollständig spezifiziert<br />
• Das Produkt ist auf allen <strong>Anforderungs</strong>stufen<br />
rückverfolgbar<br />
Agil<br />
26 - © EVOCEAN www.evocean.com
Standards machen einen definierten Prozess notwendig,<br />
…Agilität macht ihn flexibel gegenüber Veränderungen<br />
Konform<br />
• Rückverfolgbar<br />
• Dokumentiert<br />
Agil<br />
• Flexibel gegenüber<br />
Veränderungen<br />
• Kleine Schritte<br />
• Kreativ<br />
Agile Prozesse unterstützen Prozesse,<br />
welche mit „Wasserfallprozessen“ nicht<br />
abgedeckt wurden:<br />
• Exper<strong>im</strong>entieren und Feedback aus<br />
gemachten Erfahrungen müssen integriert<br />
werden.<br />
• Menschliche Kreativität ist kein linearer<br />
Prozess. Verschiedene Aspekte einer<br />
Entwicklung werden gleichzeitig abgedeckt.<br />
• Komplexe Probleme müssen in kleine, gut<br />
handhabbare Schritte aufgeteilt werden.<br />
27 - © EVOCEAN www.evocean.com
Das CMMI ® Modell in einem agilen<br />
<strong>Anforderungs</strong><strong>management</strong> anwenden<br />
CMMI<br />
• Capability Maturity Model Integration<br />
(CMMI) ist ein Reifegradmodell <strong>für</strong> die<br />
Verbesserung von Prozessen zur<br />
Entwicklung von Produkten und<br />
Dienstleistungen.<br />
• CMMI definiert fünf Reifegrade um<br />
bewährte Entwicklungspraktiken in der<br />
Organisation zu etablieren.<br />
• CMMI <strong>im</strong>pliziert NICHT <strong>das</strong> Wasserfall-<br />
Modell; es gibt kein Vorgehen vor.<br />
• CMMI ist auch <strong>für</strong> kleine<br />
Entwicklungsteams anwendbar.<br />
Der nächste Release von CMMI<br />
(V1.3, erwartet <strong>im</strong> November<br />
2010) wird agile Ansätze<br />
beinhalten.<br />
Agiles <strong>Anforderungs</strong><strong>management</strong><br />
• <strong>Scrum</strong> definiert einige Prinzipien und<br />
Praktiken, nicht aber ein Prozessmodell.<br />
• Die “richtige Menge” an Dokumentation ist<br />
erforderlich<br />
• Kunden erinnern sich nicht unbedingt<br />
daran, was sie gefordert haben: Eine<br />
gewisse Menge von Dokumentation ist<br />
hilfreich.<br />
Ref. http://www.sei.cmu.edu/cmmi/ It is developed by the Software Engineering<br />
Institute (SEI) of the Carnegie Mellon University. CMMI resp.<br />
CMMI, CMM, and Capability Maturity Model are registered in the U.S. Patent and<br />
Trademark Office.<br />
28 - © EVOCEAN www.evocean.com
Agiles <strong>Anforderungs</strong><strong>management</strong> mit CMMI ® Praktiken<br />
abbilden<br />
CMMI<br />
Der Zweck des <strong>Anforderungs</strong><strong>management</strong>s (REQM) ist,<br />
die Anforderungen an Produkte und Produktbestandteile des<br />
Projekts zu verwalten und Inkonsistenzen zwischen diesen<br />
Anforderungen und den Plänen und Arbeitsergebnissen des<br />
Projekts zu erkennen.<br />
Agiles <strong>Anforderungs</strong><strong>management</strong><br />
Anforderungen sind mit andere Formen dokumentiert – z.B.<br />
mit User Stories.<br />
• SP 1.1 Verständnis über Anforderungen erlangen<br />
• SP 1.2 Zusagen zu Anforderungen einholen<br />
• SP 1.1 & 1.2 Der Sprint Plan legt fest, <strong>das</strong>s die<br />
Stories mit allen Beteiligten besprochen wurden.<br />
• SP 1.3 <strong>Anforderungs</strong>änderungen verwalten<br />
• SP 1.4 Bidirektionale Nachverfolgbarkeit von<br />
Anforderungen aufrecht erhalten<br />
• SP 1.3 Für Änderungen an Stories, welche bereits<br />
<strong>im</strong>plementiert sind, kann ein Configurations &<br />
Change Management verwendet werden.<br />
• SP 1.4 Die Rückverfolgbarkeit von Stories kann<br />
durch Acceptance Tests dokumentiert werden.<br />
• SP 1.5 Inkonsistenzen zwischen Projektarbeit und<br />
Anforderungen erkennen<br />
• SP 1.5 Sprint Reviews decken Inkonsistenzen auf.<br />
Unterstützend wirken <strong>im</strong> Voraus definierte Testfälle<br />
<strong>für</strong> die Entwicklung von Codes.<br />
(SP = Specific Practice)<br />
29 - © EVOCEAN www.evocean.com
Agiles <strong>Anforderungs</strong><strong>management</strong> mit CMMI ® typischen<br />
Arbeitsergebnissen abbilden<br />
CMMI: Typische Arbeitsergebnisse <strong>für</strong><br />
<strong>Anforderungs</strong>entwicklung (Requirements<br />
Development, RD)<br />
Agiles <strong>Anforderungs</strong><strong>management</strong><br />
SG1: Kundenanforderungen entwickeln<br />
• Kundenanforderungen<br />
• Kundeneinschränkungen <strong>für</strong> die<br />
Durchführung der Verifizierung<br />
• Kundeneinschränkungen <strong>für</strong> die<br />
Durchführung der Validierung<br />
SG2: Produktanforderungen entwickeln<br />
• Abgeleitete Anforderungen<br />
• Produktanforderungen<br />
• Anforderungen an Produktbestandteile<br />
• Schnittstellenanforderungen<br />
(SG = Specific Goal)<br />
• Product Backlog<br />
• Stories<br />
• Acceptance Tests <strong>für</strong> Stories<br />
• Sprint Backlog<br />
• Modelle<br />
• Rückverfolgbarkeit zwischen Produkt und<br />
NFR<br />
• Architecture Stories<br />
30 - © EVOCEAN www.evocean.com
In IEC <strong>regulierten</strong> Systemen verursachen die Validierung<br />
und Verifikation lange Entwicklungszyklen<br />
Empfohlenes Vorgehen <strong>für</strong> den FDA Design<br />
Guide<br />
user needs<br />
reviews<br />
design<br />
input<br />
design<br />
process<br />
You built the right thing<br />
design<br />
output<br />
You built it right<br />
medical device<br />
validation<br />
verification<br />
Der Design Input wird dem Design Output<br />
gegenüber gestellt und verifiziert.<br />
• In herkömmlichen Vorgehen finden<br />
Verifikation und Validierung nicht während<br />
sonder nach dem Design statt.<br />
• Es wird davon ausgegangen, <strong>das</strong>s die<br />
Validierung <strong>für</strong> ein fertiges Produkt durchgeführt<br />
wird.<br />
• Kurze Iterationen sind daher schwer zu<br />
erreichen.<br />
31 - © EVOCEAN www.evocean.com
Design<br />
Input<br />
Design Output<br />
Klassisches IEC <strong>Anforderungs</strong>modell<br />
User Needs<br />
REQ<br />
validates<br />
Validation Test<br />
TST<br />
realized by<br />
Product<br />
Specifications<br />
REQ<br />
verifies<br />
Verification Test<br />
TST<br />
•Performance Req.<br />
•Safety Req.<br />
•Environmental Req.<br />
•Biocompatibility Req.<br />
•Product Durability<br />
and Shelf Life Req.<br />
•…<br />
realized by<br />
realized by<br />
realized by<br />
Mechanical<br />
Specifications<br />
Electrical<br />
Specifications<br />
REQ<br />
REQ<br />
verifies<br />
Software Requirement<br />
Specifications<br />
REQ<br />
Functional<br />
Requirements<br />
REQ<br />
constrains<br />
Non-Functional<br />
Requirements<br />
REQ<br />
32 - © EVOCEAN www.evocean.com
Agile Anforderungen und IEC 62304<br />
ANSI/AAMI/IEC 62304:2006<br />
Medical Device Software – Software Process<br />
Life cycle process<br />
Software requirements should include<br />
• functional requirements;<br />
• physical characteristics<br />
• performance<br />
• computing environment.<br />
• software systems inputs and outputs;<br />
• data characteristics<br />
• Ranges & l<strong>im</strong>its<br />
• Etc..<br />
“NOTE 7: All of these<br />
requirements might not be<br />
available at the beginning of<br />
the software development.”<br />
Agile Anforderungen<br />
• Stories sind teilweise nicht ausreichend und<br />
müssen z.B. mit NFR präzisiert werden<br />
• Entwicklung starten ohne auf vollständige<br />
Anforderungen zu warten<br />
• Die Komponenten werden mit den Stories<br />
validiert<br />
• Hardware- und Embedded Komponenten<br />
mit langen Entwicklungszeiten werden<br />
modelliert<br />
• Stories werden dokumentiert und ergänzt<br />
• Rückverfolgbarkeit zwischen Produkt und<br />
Stories wird sicher gestellt<br />
33 - © EVOCEAN www.evocean.com
Agiles <strong>Anforderungs</strong>modell und IEC 62304<br />
Sprint Development / Design Output<br />
Use Case<br />
REQ<br />
verifies<br />
Acceptance Test<br />
TST<br />
Non-Functional<br />
Requirements<br />
Envision / Design Input<br />
Backlog Item<br />
User needs<br />
REQ<br />
Models (Electrical,<br />
Mechanical,<br />
Software)<br />
validation of user<br />
goals & intended<br />
use by actually<br />
using the product<br />
realized by<br />
REQ<br />
Story<br />
REQ<br />
Sprint Plan<br />
<strong>im</strong>plemented by<br />
Task<br />
Demo &<br />
Retrospective<br />
Validation Record<br />
TST<br />
Potentially Shippable<br />
Product Increment<br />
34 - © EVOCEAN www.evocean.com
Fazit: Man darf! … nach einer Anpassung an Ihre Projekte<br />
Was können Sie mitnehmen, anpassen und in<br />
Ihrem Unternehmen <strong>im</strong>plementieren:<br />
• Sieben Prinzipien <strong>für</strong> ein agiles <strong>Anforderungs</strong><strong>management</strong><br />
– passen Sie sie an und<br />
wenden Sie sie diszipliniert an<br />
• Ein agiles <strong>Anforderungs</strong>modell<br />
• Techniken, um den Nutzen in den Vordergrund<br />
zu stellen<br />
• Techniken, um Stories zu präzisieren (wenn<br />
notwendig)<br />
• Eine Abbildung von agilen <strong>Anforderungs</strong>modellen<br />
<strong>für</strong> regulierte Projekte<br />
35 - © EVOCEAN www.evocean.com
Referenzen<br />
Literatur zum Thema <strong>Scrum</strong> und agile<br />
Anforderungen<br />
• Agile Project Management with <strong>Scrum</strong> by Ken<br />
Schwaber (Microsoft Press 2004)<br />
• Agile Software Development with <strong>Scrum</strong> by<br />
Ken Schwaber and Mike Beedle (Prentice Hall<br />
2002)<br />
• User Stories Applied for Agile Software<br />
Development by Mike Cohn<br />
• Implementing Lean Software Development by<br />
Mary and Tom Poppendieck (Addison Wesley<br />
2006)<br />
• Agile Enterprise Requirements Information<br />
Model – Subset for Agile Project Teams- 2008<br />
by Dean Leffingwell<br />
www.scalingsoftwareagility.wordpress.com<br />
• Implementing Lean Software Development<br />
(Addison Wesley 2006) by Mary and Tom<br />
Poppendieck<br />
• Competitive Engineering: A Handbook For<br />
Systems Engineering, Requirements<br />
Engineering, and Software Engineering Using<br />
Planguage - by Tom Gilb, Aug.2005<br />
www.gilb.com<br />
Literatur zum Thema agile Anforderungen<br />
und Regulation<br />
• Software Development Resolving the Conflict<br />
Between Speed and Compliance – by D.<br />
Jennings, Medical Devices May/June 2009 -<br />
http://www.devicelink.com/mdt/archive/09/05/0<br />
08.html<br />
• Hillel Glazer, Jeff Dalton and other. - CMMI®<br />
or Agile: Why Not Embrace Both! CMU/SEI-<br />
2008-TN-003<br />
http://www.sei.cmu.edu/reports/08tn003.pdf<br />
• Process Improvement for All: What to Expect<br />
from CMMI Version 1.3 by M. Phillips,<br />
S.Shrum – Jan.2010 CrossTalk<br />
http://www.stsc.hill.af.mil/CrossTalk/2010/01/1001PhillipsS<br />
hrum.html<br />
36 - © EVOCEAN www.evocean.com