Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Rainer Erne Prof. Dr. Hans-Joachim Vollbrecht

Ähnliche Präsentationen


Präsentation zum Thema: "Rainer Erne Prof. Dr. Hans-Joachim Vollbrecht"—  Präsentation transkript:

1 Rainer Erne Prof. Dr. Hans-Joachim Vollbrecht
Vortragsreihe „Produktentwicklung im Griff“ Kundenorientierung in der Produktentwicklung - mit Methoden des Anforderungsmanagements Rainer Erne Prof. Dr. Hans-Joachim Vollbrecht Forschungszentrum Prozess und Produkt-Engineering

2 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

3 Wozu Anforderungsmanagement? - Typische Probleme -
Anforderungs Systemanalyse Entwurf beschreibung Implementation Lieferung Benutzerbedürfnis Forschungszentrum Prozess und Produkt-Engineering

4 Wozu Anforderungsmanagement? - 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 Einschleichende“ Kundenanforderungen Forschungszentrum Prozess und Produkt-Engineering

5 Wozu Anforderungsmanagement? - Typische Probleme -
Anforderungen Auftraggeber Auftragnehmer Wissen Anforderungen vollständig kennen Können Anforderungen eindeutig und verständlich darstellen können Wollen Kompromisse schließen wollen Einschleichende“ Kundenanforderungen Forschungszentrum Prozess und Produkt-Engineering

6 Was sind Anforderungen? - Begriffsklärung -
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. Anforderungen legen die qualitativen und quantitativen Eigenschaften eines Produkts aus der Sicht der Interessensgruppen fest. schlechtes Anforderungsmanagement stellt ein Hauptproblem bei der Produktentwicklung dar nach [Standish94] gehen 37% aller Misserfolgsfaktoren (in SW-Projekten) auf die Fehler im Anforderungsmanagement zurück! Forschungszentrum Prozess und Produkt-Engineering

7 Was sind Anforderungen? - Urheber -
Kunden Auftraggeber Endkunden Aftermarket Entwicklung Einkauf Fertigung gewerblich privat Projektleiter Projektteam Steuerungs- gremium Fertigungs- planung Entwicklung Projekt- mitarbeiter Soft- ware Hard- System Appli- kation Stakeholder einer Produkt- entwicklung Lieferanten Entwicklungs- Dienstleister Komponenten- lieferanten System- partner eigenes Unternehmen Fertigung Controlling Vertrieb Personal Einkauf Qualitäts- sicherung Normungs- gremien Gesetzgebung Forschungszentrum Prozess und Produkt-Engineering

8 Was sind Anforderungen? - Qualitätskriterien -
Qualitätskriterien für Anforderungen Eindeutig bzgl. Sprache Vollständig bzgl. Standards bzgl. Kundenanforderungen Konsistent begrifflich logisch Überprüfbar Änderbar Verfolgbar Forschungszentrum Prozess und Produkt-Engineering

9 Was ist Anforderungsmanagement? - Kernaufgaben -
Methoden der Anforderungserfassung müssen unterstützen bei: Anforderungsmodellierung mit Diagrammtechniken das Wesentliche vom Unwesentlichen trennen Anforderungen finden Modelle Muster/Prototypen Simulation / Rollenspiel Analyse (Formalisierung) Anforderungen, die eindeutig vollständig widerspruchsfrei sind Forschungszentrum Prozess und Produkt-Engineering

10 System Was ist Anforderungsmanagement? - Kernaufgaben -
Multifacettenmodellierung (am Beispiel SW-Produkte): ein System kann man auf vielfältige Weise betrachten und modellieren Datenstruktur Ereignisse, parallele Prozesse System HW Datenfluss Dialoge, GUIs Funktionen Forschungszentrum Prozess und Produkt-Engineering

11 Was ist Anforderungsmanagement? - Kernaufgaben -
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 Forschungszentrum Prozess und Produkt-Engineering

12 Was ist Anforderungsmanagement? - Kernaufgaben -
Multifacettenmodellierung funktionsorientierte Sicht Modelle: Datenflussdiagramme, UseCases, Interaktionsdiagramme datenorientierte Sicht Modelle: ERM-Diagramme objektorientierte Sicht Modelle: Domänenklassendiagramme, etc.: UML algorithmische und regelbasierte Sicht Modelle: Fluss-/Struktogramme, Entscheidungsbäume und -Tabellen, Logik zustandsorientierte Sicht Modelle: Automaten, state charts, Petri-Netze ergonomische Sicht Methoden: Strukturierte Analyse, Objektorientierte Analyse Forschungszentrum Prozess und Produkt-Engineering

13 Was ist Anforderungsmanagement? - Kernaufgaben -
Ermittlung Analyse Konsensbildung Verabschiedung Anforderungsspezifikation (Requirements Engineering) Anforderungsverwaltung (Requirements Administration) Planung Verfolgung Pflege Änderungsmanagement Forschungszentrum Prozess und Produkt-Engineering

14 Warum ist Software so schwer zu definieren?
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – Warum ist Software so schwer zu definieren? ... weil das Produkt so ungewöhnlich ist 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 Forschungszentrum Prozess und Produkt-Engineering

15 Warum ist Software so schwer zu definieren?
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – Warum ist Software so schwer zu definieren? Software-Evolution: Software-Klassifikation nach Lehman (1985) formale Spezifikation: eine mathematische/logische Angabe, was ein Programm zu leisten hat: z.B. Vor- und Nachbedingungen in formaler Logik, oder algebraische Verknüpfungsregeln 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. 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 Forschungszentrum Prozess und Produkt-Engineering

16 lineare Prozessmodelle
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – 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 Forschungszentrum Prozess und Produkt-Engineering

17 inkrementelle Prozessmodelle
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – 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. Forschungszentrum Prozess und Produkt-Engineering

18 UP - der Unified Process: Grundideen
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – UP - der Unified Process: Grundideen Projektinitialisierung Projektplanung 1 Woche 2-3 Wochen 2-6 Wochen pro Timebox Requirements-Workshops Makrozyklus grobe OO-Analyse Domänen-Modellierung Timebox-Planung (Iterationen) Prototyping: OOAnalyse OODesign OOProgram. Benutzer Review £ 3 mal Timeboxes für andere Projekte Mikrozyklus Planung der nächsten Timebox Timebox (Iteration) Technischer Audit Einführung Forschungszentrum Prozess und Produkt-Engineering

19 UP - der Unified Process: Grundideen
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – UP - der Unified Process: Grundideen die wichtigsten Teile einer Anforderungserfassung im UP Stakeholders Use Cases Domänenmodell Forschungszentrum Prozess und Produkt-Engineering

20 Stakeholders im Unified Process
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – Stakeholders im Unified Process 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. 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  Forschungszentrum Prozess und Produkt-Engineering

21 Stakeholders im Unified Prozess: Beispiel “Fertigungsplanungssystem”
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – Stakeholders im Unified Prozess: Beispiel “Fertigungsplanungssystem” 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) ... Forschungszentrum Prozess und Produkt-Engineering

22 Wie funktioniert Anforderungsmanagement
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – Use Cases im Unified Prozess «system» KassaNova Kassierer beginneNeuenVerkauf gibWarenpostenEin( WarenID ) Use Case: Fall einer konkreten Benutzung des Systems szenarienbasiert: eine erzählende Beschreibung einer Sequenz von Interaktionen zwischen Akteur und System aus externer Sicht Warenbeschreibung, Preis, Totalpreis wiederholen für jeden Posten beendeVerkauf Totalpreis mit Steuern bezahlen( Betrag ) Restgeld , Quittung Forschungszentrum Prozess und Produkt-Engineering

23 Use Cases im Unified Prozess
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – Use Cases im Unified Prozess 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 FUNKTIONEN empty: STACK  BOOLEAN new:  STACK push: INT x STACK  STACK pop: STACK  STACK top: 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 Forschungszentrum Prozess und Produkt-Engineering

24 Wie funktioniert Anforderungsmanagement
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – Domänenmodell im Unified Prozess 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

25 Subsystem- spezifikation
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Systementwicklung - Anforderungsmanagement in der Systementwicklung Ursprüngliche Kundenanforderungen Anforderungen System Spezifikation System System- spezifikation Subsystem- spezifikation Steuergerät, Leistungs- elektronik Anforderungen Spezifikation Software if a and b then u = true else u = false ...... Elektro- mechanik Forschungszentrum Prozess und Produkt-Engineering

26 Produktentwicklungsprozess in der Systementwicklung (Beispiel)
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Systementwicklung - Produktentwicklungsprozess in der Systementwicklung (Beispiel) Akqui- sition Produkt- konzeption Produkt- entwicklung A-Muster Produkt- entwicklung B-Muster Produkt- entwicklung C-Muster Entwicklungs- abschluss Serien- betreuung Start Ende Anforderungs- Freeze Änderungsmanagement Forschungszentrum Prozess und Produkt-Engineering

27 Anforderung/ Änderungswunsch
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Systementwicklung - Prozess- schritt 1.0 Anforderung/ Änderungswunsch 1.1 Erfassung 1.2 Klärung 1.3 Analyse & Bewertung 1.4 Entscheidung 1.5 Bearbeitung / Verfolgung Rolle M I M M M M Gesamtprojektleiter M V V V M V Teilprojektleiter Entwicklungsteam Teilprojekt M M M M “Change Control Board” Gesamtprojekt M V M M I Kunde Durchlaufzeit [Tage] Zeitl. Aufwand [h] formlose Einzel-anforderung Anforderungs-/ Änderungs- tabelle Anforderungs-/ Änderungs-Status “Freeze” Ent- scheidungs- vorlage Ent- scheidung; Offene Punkte Eingänge formlose Einzel-anforderung Anforderungs-/ Änderungs- tabelle Anforderungs-/ Änderungs-Status “Freeze” Ent- scheidungs- vorlage Ent- scheidung; Offene Punkte Update Dokumente; Kommunikation Ausgänge Forschungszentrum Prozess und Produkt-Engineering

28 Anforderungs- und Änderungsmanagement
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Systementwicklung - Anforderungs- und Änderungsmanagement in der Systementwicklung (Beispiel) Anforderung / Änderungswunsch Status dokumentieren Anforderung / Änderung ablehnen akzeptieren Umsetzung durchführen erfassen klären analysieren prüfen initiieren XOR freezen kommunizieren Forschungszentrum Prozess und Produkt-Engineering

29 Wesentliche Rollen im Anforderungs- und Änderungsmanagement
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Systementwicklung - Wesentliche Rollen im Anforderungs- und Änderungsmanagement Projektleiter / Anforderungs- und Änderungsmanager ...ist Anlaufstelle für Anforderungen und Änderungswünsche ...führt eine Vorprüfung durch ...dokumentiert den Änderungswunsch Change Control Board ...ist zusammengesetzt je nach Tragweite der Anforderung / Änderung aus unterschiedlichen Beteiligten (Projektleiter, Entwickler, Kundenvertreter oder Produktmanager, Systemdesigner, Linienverantwortlicher) ... entscheidet über die weitere Abarbeitung der Anforderung / Änderung Projektteam ...erarbeitet einen Lösungsvorschlag ...setzt den Lösungsvorschlag um ...verifiziert die Umsetzung ...meldet dem Änderungsmanager die erfolgreiche Umsetzung oder wiederholt die Prozedur, falls die Verifikation fehl schlägt Forschungszentrum Prozess und Produkt-Engineering

30 Anforderungsverwaltung in der Systementwicklung
Wie funktioniert Anforderungsmanagement? - Beispiele aus der Systementwicklung - Anforderungsverwaltung in der Systementwicklung Status von Anforderungen eingereicht abgelehnt akzeptiert in Arbeit Bearbeitet Abgeschlossen, freigegeben (verschoben) Priorität hoch mittel gering Kategorien funktional nicht-funktional Rahmenbedingungen Entwicklungs- und Fertigungsanforderungen Forschungszentrum Prozess und Produkt-Engineering

31 Freigabekriterien für Anforderungen und Änderungswünsche
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

32 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 Forschungszentrum Prozess und Produkt-Engineering


Herunterladen ppt "Rainer Erne Prof. Dr. Hans-Joachim Vollbrecht"

Ähnliche Präsentationen


Google-Anzeigen