22.11.2013 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!