Upload
imke-wernecke
View
140
Download
6
Embed Size (px)
Citation preview
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Vortragsreihe „Produktentwicklung im Griff“
Kundenorientierung in der Produktentwicklung- mit Methoden des Anforderungsmanagements
Rainer Erne
Prof. Dr. Hans-Joachim Vollbrecht
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Kundenorientierung in der Produktentwicklung- mit Methoden des Anforderungsmanagements
Begriffsklärung– Wozu Anforderungsmanagement?
– Was sind Anforderungen?
– Was ist Anforderungsmanagement?
Beispiele– Methoden des Anforderungsmanagements
in der Software-Entwicklung
– Methoden des Anforderungs- und Änderungsmanagements in der System-Entwicklung
Beiträge– Diskussion
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Implementation Lieferung Benutzerbedürfnis
Anforderungs- Systemanalyse Entwurfbeschreibung
Wozu Anforderungsmanagement?- Typische Probleme -
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Typische Probleme Typische Ursachen Grundsätze
nicht realisierte Funktionen und Features
ungenügende oder nicht rechtzeitige Beteiligung der Kunden / Auftraggeber
Einbezug und Beratung der Kunden / Auftraggeber so früh wie möglich
unnötige und nicht gewünschte Funktionen und Features
„Vergoldung“ von Produkten Analyse und Priorisierung der Anforderungen nach Machbarkeit, Kosten und Terminen
Ständige Änderungswünsche und Überarbeitungen in der Produktentwicklung
„Einschleichende Anforderungen“
Iterative Entwicklung der Anforderungen mit klaren Vereinbarungen
Regelmäßige Überschreitung von Terminen und / oder Budgets
Verschwommene und mehrdeutige Anforderungen
Sicherstellung einer eindeutigen, vollständigen und widerspruchsfreien Darstellung, die von allen verstanden wird
Wozu Anforderungsmanagement?- Typische Probleme -
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Wozu Anforderungsmanagement?- Typische Probleme -
Auftraggeber Auftragnehmer
Wissen Anforderungen vollständig kennen Wissen
KönnenAnforderungen eindeutig und verständlich darstellen können Können
Wollen Kompromisse schließen wollen Wollen
Anforderungen
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Anforderungen legen die qualitativen und quantitativen Eigenschaften eines Produkts aus der Sicht der Interessensgruppen fest.
schlechtes Anforderungsmanagement stellt ein Hauptproblem bei der Produktentwicklung dar
Anforderung: Eine Bedingung oder Fähigkeit, die eine Sache oder eine Person erfüllen oder besitzen muss, um an sie gestellte Wünsche und Erwartungen zu erfüllen.
Poor user input13%
Changing requirements12%
Poor technical skills7%
Poor staffing6%
Other50%
Incomplete requirements12%
nach [Standish94] gehen 37% aller Misserfolgsfaktoren (in SW-Projekten) auf die Fehler im Anforderungsmanagement zurück!
Was sind Anforderungen?- Begriffsklärung -
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Was sind Anforderungen?- Urheber -
Stakeholdereiner
Produkt-entwicklung
Projektleiter
ProjektteamSteuerungs-gremium
Fertigungs-planung
Entwicklung
Projekt-mitarbeiter
Soft-ware
Hard-ware
System
Appli-kation
Kunden
Auftraggeber
Endkunden
Aftermarket
Entwicklung
Einkauf
Fertigung
gewerblich privat
eigenesUnternehmen
Fertigung
ControllingVertrieb
Personal
Einkauf
Qualitäts-sicherung
GesetzgebungNormungs-
gremien
Lieferanten
Entwicklungs-Dienstleister
Komponenten-lieferanten
System-partner
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Was sind Anforderungen?- Qualitätskriterien -
Eindeutig– bzgl. Sprache
Vollständig– bzgl. Standards
– bzgl. Kundenanforderungen
Konsistent– begrifflich
– logisch
Überprüfbar
Änderbar
Verfolgbar
Qualitätskriterien für Anforderungen
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Methoden der Anforderungserfassung müssen unterstützen bei:
Modelle
Muster/Prototypen
Simulation / Rollenspiel
Anforderungsmodellierung mit Diagrammtechniken
das Wesentliche vom Unwesentlichen trennen
Anforderungen finden
Analyse(Formalisierung)
Anforderungen, die• eindeutig• vollständig• widerspruchsfrei
sind
Was ist Anforderungsmanagement?- Kernaufgaben -
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Multifacettenmodellierung (am Beispiel SW-Produkte):ein System kann man auf vielfältige Weise betrachten und modellieren
System
Funktionen Dialoge,GUIs
HW
Ereignisse,paralleleProzesse
Datenfluss
Datenstruktur
Was ist Anforderungsmanagement?- Kernaufgaben -
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Multifacettenmodellierung
gibt ein vollständiges Bild des Systems
hilft, Inkonsistenzen / Unvollständigkeiten zu finden
erlaubt, ein System schrittweise zu definieren (Komplexitätsbewältigung)
gibt Vorgaben für verschiedene Realisierungsteile
Was ist Anforderungsmanagement?- Kernaufgaben -
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Multifacettenmodellierung funktionsorientierte Sicht
Modelle: Datenflussdiagramme, UseCases, Interaktionsdiagramme
datenorientierte SichtModelle: ERM-Diagramme
objektorientierte SichtModelle: Domänenklassendiagramme, etc.: UML
algorithmische und regelbasierte SichtModelle: Fluss-/Struktogramme, Entscheidungsbäume und -Tabellen, Logik
zustandsorientierte SichtModelle: Automaten, state charts, Petri-Netze
ergonomische Sicht
Methoden: Strukturierte Analyse, Objektorientierte Analyse
Was ist Anforderungsmanagement?- Kernaufgaben -
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Was ist Anforderungsmanagement?- Kernaufgaben -
Anforderungs-management
Planung
Verfolgung
Pflege
Änderungsmanagement
Ermittlung
Analyse
Konsensbildung
Verabschiedung
Anforderungsspezifikation(Requirements Engineering)
Anforderungsverwaltung(Requirements Administration)
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Software ist ein intellektuelles Produkt
Software als Automatisierung greift stark in die Arbeitsabläufe ein
es ist sehr schwer, Anforderungen an das Produkt zu erfassen
Software unterliegt keinem Verschleiß
Software ist i. allg. leichter und schneller änderbar als andere Produkte
Software ist leicht reproduzierbar
Software hat komplizierten, schwer zu kontrollierenden Lebenslauf
Software wird nicht durch physikalische Gesetze begrenzt
Software ist schwer zu »vermessen«
Softwarequalität ist schwer zu steuern
Warum ist Software so schwer zu definieren?
... weil das Produkt so ungewöhnlich ist
Wie funktioniert Anforderungsmanagement?- Beispiele aus der Softwareentwicklung –
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Software-Evolution: Software-Klassifikation nach Lehman (1985)
S-Typ: SW, die vollständig durch eine formale Spezifikation beschrieben werden kann.
Entwicklung ist erfolgreich, wenn die Programme nachweislich die Spezifikation erfüllen.
Typische Beispiele: Sortieren von Daten, Berechnung mathematischer Funktionen.
P-Typ: SW, die ein spezifisches Problem löst, wobei nicht in jedem Fall formal
beschrieben werden kann, was eine Lösung ist. Erfolgreich, wenn das Problem
zufriedenstellend gelöst ist. Typisches Beispiel: Berechnung von Wettervorhersage-
modellen in der Meteorologie.
E-Typ: SW, welche eine in der realen Welt eingebettete Anwendung realisiert. Die
Entwicklung ist erfolgreich, wenn Anwender mit der SW zufrieden sind.
formale Spezifikation: eine mathematische/logische Angabe, was ein Programm zu leisten hat: z.B. Vor- und Nachbedingungen in formaler Logik, oder algebraische Verknüpfungsregeln
formale Spezifikation: eine mathematische/logische Angabe, was ein Programm zu leisten hat: z.B. Vor- und Nachbedingungen in formaler Logik, oder algebraische Verknüpfungsregeln
nur Software vom S-Typ ist stabil. Software vom P- und E-Typ ist einer Evolution unterworfen. Software vom E-Typ trägt selbst zur Evolution bei
Warum ist Software so schwer zu definieren?
Wie funktioniert Anforderungsmanagement?- Beispiele aus der Softwareentwicklung –
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
lineare Prozessmodelle
Das Wasserfallmodell (W.W.Royce70, B.Boehm81)- sequentielles Durchgehen durch (notwendige) Phasen, ohne Sprünge: nur einfache Rückkopplungen
- eins der ältesten Entwicklungsmodelle
- weit verbreitet, weil einfach zu steuern
Wie funktioniert Anforderungsmanagement?- Beispiele aus der Softwareentwicklung –
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
inkrementelle Prozessmodelle
Motivation: Lösung folgender Probleme des Wasserfall-Modells
Anforderungen lassen sich nicht vollständig und konsistent beschreiben
der Einsatz eines Systems verändert die daran gestellten Anforderungen
Antworten:
kurze Entwicklungszeiten
Feedback vom Anwender so früh als möglich; Commitment vom Anwender
wichtigstes Merkmal: Erwartungsmanagement gegenüber dem Benutzer/Auftraggeber
die sogenannten "frühen" Phasen (Analyse) immer wieder durchführen
Vorteile Projektfortschritt wird durch ausführbare Systeme gezeigt. jedes Inkrement implementiert eine Menge neuer Anforderungen.
Wie funktioniert Anforderungsmanagement?- Beispiele aus der Softwareentwicklung –
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
ProjektinitialisierungProjektinitialisierung
Requirements-WorkshopsRequirements-Workshops
grobe OO-Analysegrobe OO-Analyse
Timebox-Planung(Iterationen)
Timebox-Planung(Iterationen)
Timeboxesfür andereProjekte
Timeboxesfür andereProjekte
ProjektplanungProjektplanung
Technischer AuditTechnischer Audit
3 mal
Timebox (Iteration)
Prototyping:
OOAnalyseOODesignOOProgram.
BenutzerReview
Planung der nächsten Timebox
EinführungEinführung
Domänen-ModellierungDomänen-Modellierung
Mak
rozy
klus
Mik
rozy
klus
1 Woche
2-3 Wochen
2-6WochenproTimebox
UP - der Unified Process: Grundideen
Wie funktioniert Anforderungsmanagement?- Beispiele aus der Softwareentwicklung –
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
die wichtigsten Teile einer Anforderungserfassung im UP
Stakeholders
Use Cases
Domänenmodell
UP - der Unified Process: Grundideen
Wie funktioniert Anforderungsmanagement?- Beispiele aus der Softwareentwicklung –
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
jede Anforderung ans System muss auf ein Interesse eines Stakeholders
zurückführbar sein
eine explizite Formulierung der Interessen der Stakeholder
eines SW-Produktes gibt die Basis
für eine gründliche und methodische Anforderungserfassung
Stakeholder ("Stake": Einsatz, Gewinn - Interessensträger):
"An individual who is materially affected by the outcome of the system" [UP-Glossar]
z.B. Benutzer, Steuerbehörde, Einkaufsabteilung, Rechenzentrum, Buchhaltung etc.
Stakeholders im Unified Process
Wie funktioniert Anforderungsmanagement?- Beispiele aus der Softwareentwicklung –
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Name Rolle/Funktion interessiert an
Verkäufer
Fertigungs-planer
…
ein Verkäufer erfasst Verkäufe (nicht über dieses System) mit Mengen und vom Kunden gewünschten Lieferterminen eines oder mehrerer Artikel.
ein Fertigungsplaner ist für die Ein- und Freigabe von geplanten Fertigungsaufträgen in das PPS verantwortlich
…
- strikter Einhaltung der in der Verkaufserfassung abgemachten Liefertermine
- Unterstützung bei der Terminfindung
- optimiertem Fertigungs- auftragsplan (optimierte Mengen und Termine)- ...
…
Stakeholders im Unified Prozess: Beispiel “Fertigungsplanungssystem”
Wie funktioniert Anforderungsmanagement?- Beispiele aus der Softwareentwicklung –
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Kassierer
«system»KassaNova
beginneNeuenVerkauf
gibWarenpostenEin( WarenID )
Warenbeschreibung, Preis, Totalpreis
wiederholen für jeden Posten
beendeVerkauf
Totalpreis mit Steuern
bezahlen( Betrag )
Restgeld , Quittung
Use Case: Fall einer konkreten Benutzung des Systems
szenarienbasiert:eine erzählende Beschreibung einer Sequenz von Interaktionen zwischen Akteur und System aus externer Sicht
Use Cases im Unified Prozess
Wie funktioniert Anforderungsmanagement?- Beispiele aus der Softwareentwicklung –
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Das Neue am Use Case:
keine präzise Anforderung oder funktionale Spezifikation, sondern eine Illustration einer Benutzung, die Anforderungen impliziert
ein Use Case ist eine informale Beschreibung: leichte Verständlichkeit
ist deshalb aber auch anfällig gegenüber Inkonsistenzen und Zweideutigkeiten
verlangt deshalb spätere Aufarbeitung mit formaleren Modellen (UML)
Vergleich mit formaler Beschreibung:TYPEN STACK
FUNKTIONENempty: STACK BOOLEANnew: STACKpush: INT x STACK STACKpop: STACK STACKtop: STACK INT
VORBEDINGUNGEN:pop( s: STACK) = not empty(s)top( s: STACK ) = not empty(s)
AXIOME
für alle x: INT, s: STACK gilt
empty( new() )
not empty( push(x,s) )
top( push(x,s) ) = x
pop( push(x,s) ) = s
Use Cases im Unified Prozess
Wie funktioniert Anforderungsmanagement?- Beispiele aus der Softwareentwicklung –
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Domänenmodell im Unified Prozess
Wie funktioniert Anforderungsmanagement?- Beispiele aus der Softwareentwicklung –
- Modell zur Begriffsklärung wichtiger Konzepte
- fördert Strukturierung durch Abstraktion, Assoziation und Teil-Ganzes
- stabilster Teil der Anforderungen
- einfach und doch streng formal
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Anforderungen SystemUrsprünglicheKundenanforderungen
Spezifikation SystemSystem-
spezifikation
Anforderungsmanagement in der Systementwicklung
Wie funktioniert Anforderungsmanagement?- Beispiele aus der Systementwicklung -
Subsystem-spezifikation
Steuergerät,Leistungs-elektronik
Anforderungen
Spezifikation
Software
if a and b then u = true else u = false......
Anforderungen
Spezifikation
Elektro-mechanik
Anforderungen
Spezifikation
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Start Ende
Akqui-sition
Produkt-konzeption
Produkt-entwicklung
A-Muster
Produkt-entwicklung
B-Muster
Produkt-entwicklung
C-Muster
Entwicklungs-abschluss
Serien-betreuung
Wie funktioniert Anforderungsmanagement?- Beispiele aus der Systementwicklung -
Anforderungs-
Freeze
Anforderungs-
Freeze
Anforderungs-
Freeze
Anforderungs-
Freeze
Anforderungs-
Freeze
Änderungsmanagement
Produktentwicklungsprozess in der Systementwicklung (Beispiel)
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Ausgänge
Rolle
Prozess-schritt
Eingänge
Zeitl. Aufwand [h]Durchlaufzeit [Tage]
1.2
Klärung
Teilprojektleiter
1.3
Analyse &Bewertung
1.5
Bearbeitung /Verfolgung
Anforderungs-/Änderungs-
Status “Freeze”
Gesamtprojektleiter
“Change Control Board” Gesamtprojekt
1.4
Entscheidung
1.0
Anforderung/Änderungswunsch
1.1
Erfassung
formlose Einzel-
anforderung
V V
M
V
M M
EntwicklungsteamTeilprojekt
VM
M
V
Anforderungs-/Änderungs-
tabelle
I
formlose Einzel-
anforderung
Anforderungs-/Änderungs-
tabelle
Anforderungs-/Änderungs-
Status “Freeze”
Ent-scheidungs-
vorlage
Ent-scheidungs-
vorlage
Ent-scheidung;
Offene Punkte
Ent-scheidung;
Offene Punkte
UpdateDokumente;
Kommunikation
Kunde M
M
I
M
M
M
M
M
M
M
Wie funktioniert Anforderungsmanagement?- Beispiele aus der Systementwicklung -
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Wie funktioniert Anforderungsmanagement?- Beispiele aus der Systementwicklung -
Freigabekriterien für Anforderungen und Änderungswünsche
Die Anforderung / der Änderungswunsch ist kompatibel mit den Produktzielen und dem Geschäftsplan
Die Anforderung / der Änderungswunsch ist umsetzbar im Hinblick auf Technik, Ressourcen, Termine, Budget, Risiken
Es liegen keine unlösbaren Konflikte mit anderen Anforderungen vor Die Annahme gefährdet nicht die Durchführung des Gesamtprojekts
mit allen Abhängigkeiten Alle Seiteneffekte der Änderung (auf Dokumente, Design,
Implementierung, Testfälle, Betrieb, Pflege usw.) sind handhabbar
Forschungszentrum Prozess und Produkt-Engineering
Produkt-strategie
Produkt-idee
Produkt-konzept
Produkt-ent-
wicklung
Markt-ein-
führung
Beiträge- Diskussion -
Wesentliche Unterschiede beim Anforderungsmanagement
in der Software- und in der System-Entwicklung
Übertragbarkeit der Ansätze zum Anforderungsmanagement
auf andere Branchen
Probleme in der Praxis bei den Ansätzen zum Anforderungsmanagement– Personal– Prozesse– Technik– Beziehungen zum Kunden
Kosten und Nutzen des Anforderungsmanagements
bei unterschiedlichen Projektgrößen