Produktstrategie Produktidee Produktkonzept Produktentwicklung Vortragsreihe Produktentwicklung im Griff

  • Slides: 29
Download presentation
Produktstrategie Produktidee Produktkonzept Produktentwicklung Vortragsreihe „Produktentwicklung im Griff“ Kundenorientierung in der Produktentwicklung - mit

Produktstrategie Produktidee Produktkonzept Produktentwicklung Vortragsreihe „Produktentwicklung im Griff“ Kundenorientierung in der Produktentwicklung - mit Methoden des Anforderungsmanagements Rainer Erne Prof. Dr. Hans-Joachim Vollbrecht Forschungszentrum Prozess und Produkt-Engineering Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Kundenorientierung in der Produktentwicklung - mit Methoden des Anforderungsmanagements §

Produktstrategie Produktidee Produktkonzept Produktentwicklung 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 Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wozu Anforderungsmanagement? - Typische Probleme - Anforderungsbeschreibung Implementation Systemanalyse Lieferung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wozu Anforderungsmanagement? - Typische Probleme - Anforderungsbeschreibung Implementation Systemanalyse Lieferung Entwurf Benutzerbedürfnis Forschungszentrum Prozess und Produkt-Engineering Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung Wozu Anforderungsmanagement? - Typische Probleme Typische Ursachen Grundsätze nicht

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung 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 „Einschleichende und Überarbeitungen in der Anforderungen“ Produktentwicklung Iterative Entwicklung der Anforderungen mit klaren Vereinbarungen Regelmäßige Überschreitung Verschwommene und von Terminen und / oder mehrdeutige Anforderungen Budgets Sicherstellung einer eindeutigen, vollständigen und widerspruchsfreien Darstellung, die von allen verstanden wird Forschungszentrum Prozess und Produkt-Engineering

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wozu Anforderungsmanagement? - Typische Probleme - Anforderungen Auftraggeber Auftragnehmer Wissen

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wozu Anforderungsmanagement? - Typische Probleme - Anforderungen Auftraggeber Auftragnehmer Wissen Anforderungen vollständig kennen Wissen Können Anforderungen eindeutig und verständlich darstellen können Können Wollen Kompromisse schließen wollen Wollen Forschungszentrum Prozess und Produkt-Engineering Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Was sind Anforderungen? - Begriffsklärung - Anforderung: Eine Bedingung oder

Produktstrategie Produktidee Produktkonzept Produktentwicklung 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 [Standish 94] gehen 37% aller Misserfolgsfaktoren (in SW-Projekten) auf die Fehler im Anforderungsmanagement zurück! Forschungszentrum Prozess und Produkt-Engineering Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung Was sind Anforderungen? - Urheber Einkauf System Projektleiter Appli-

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung Was sind Anforderungen? - Urheber Einkauf System Projektleiter Appli- Hard- Softkation ware Projektmitarbeiter Entwicklung Steuerungsgremium Stakeholder einer Produktentwicklung Controlling Aftermarket Komponentenlieferanten Systempartner eigenes Unternehmen Normungsgremien Personal privat Entwicklungs. Dienstleister Lieferanten Einkauf Fertigung gewerblich Kunden Fertigung Entwicklung Endkunden Projektteam Fertigungsplanung Qualitätssicherung Auftraggeber Gesetzgebung Vertrieb Forschungszentrum Prozess und Produkt-Engineering

Produktstrategie Produktidee Produktkonzept Produktentwicklung Was sind Anforderungen? - Qualitätskriterien für Anforderungen § Eindeutig §

Produktstrategie Produktidee Produktkonzept Produktentwicklung Was sind Anforderungen? - Qualitätskriterien für Anforderungen § Eindeutig § Überprüfbar – bzgl. Sprache § Änderbar § Vollständig – bzgl. Standards – bzgl. Kundenanforderungen § Verfolgbar § Konsistent – begrifflich – logisch Forschungszentrum Prozess und Produkt-Engineering Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung Was ist Anforderungsmanagement? - Kernaufgaben - Methoden der Anforderungserfassung

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

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung Was ist Anforderungsmanagement? - Kernaufgaben - Multifacettenmodellierung (am Beispiel

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

Produktstrategie Produktidee Produktkonzept Produktentwicklung Was ist Anforderungsmanagement? - Kernaufgaben - Multifacettenmodellierung § gibt ein

Produktstrategie Produktidee Produktkonzept Produktentwicklung 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 Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung Was ist Anforderungsmanagement? - Kernaufgaben - Multifacettenmodellierung § funktionsorientierte

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung Was ist Anforderungsmanagement? - Kernaufgaben - Multifacettenmodellierung § funktionsorientierte Sicht Modelle: Datenflussdiagramme, Use. Cases, 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

Produktstrategie Produktidee Produktkonzept Produktentwicklung Was ist Anforderungsmanagement? - Kernaufgaben Anforderungsmanagement Anforderungsspezifikation (Requirements Engineering) Anforderungsverwaltung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Was ist Anforderungsmanagement? - Kernaufgaben Anforderungsmanagement Anforderungsspezifikation (Requirements Engineering) Anforderungsverwaltung (Requirements Administration) Ermittlung Planung Analyse Verfolgung Konsensbildung Pflege Verabschiedung Änderungsmanagement Forschungszentrum Prozess und Produkt-Engineering Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – Warum

Produktstrategie Produktidee Produktkonzept Produktentwicklung 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 Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung –

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

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung –

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – lineare Prozessmodelle Das Wasserfallmodell (W. W. Royce 70, B. Boehm 81) - 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

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung –

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung 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

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung –

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

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – UP

Produktstrategie Produktidee Produktkonzept Produktentwicklung 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 Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – Stakeholders

Produktstrategie Produktidee Produktkonzept Produktentwicklung 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 Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – Stakeholders

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – Stakeholders im Unified Prozess: Beispiel “Fertigungsplanungssystem” Name Rolle/Funktion interessiert an Verkäufer ein Verkäufer erfasst Verkäufe (nicht über dieses System) mit Mengen und vom Kunden gewünschten Lieferterminen eines oder mehrerer Artikel. - strikter Einhaltung der in der Verkaufserfassung abgemachten Liefertermine Fertigungs -planer ein Fertigungsplaner ist für die Ein- und Freigabe von geplanten Fertigungsaufträgen in das PPS verantwortlich - optimiertem Fertigungs auftragsplan (optimierte Mengen und Termine) -. . . … … … - Unterstützung bei der Terminfindung Forschungszentrum Prozess und Produkt-Engineering Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – Use

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – Use Cases im Unified Prozess «system» Kassa. Nova Kassierer beginne. Neuen. Verkauf Use Case: Fall einer konkreten Benutzung des Systems szenarienbasiert: eine erzählende Beschreibung einer Sequenz von Interaktionen zwischen Akteur und System aus externer Sicht gib. Warenposten. Ein( Waren. ID ) Warenbeschreibung, Preis, Totalpreis wiederholen für jeden Posten beende. Verkauf Totalpreis mit Steuern bezahlen( Betrag ) Restgeld , Quittung Forschungszentrum Prozess und Produkt-Engineering Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – Use

Produktstrategie Produktidee Produktkonzept Produktentwicklung 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 q ein Use Case ist eine informale Beschreibung: leichte Verständlichkeit Vergleich mit formaler Beschreibung: TYPEN STACK FUNKTIONEN empty: STACK BOOLEAN new: STACK push: INT x STACK pop: 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 q ist deshalb aber auch anfällig gegenüber Inkonsistenzen und Zweideutigkeiten q verlangt deshalb spätere Aufarbeitung mit formaleren Modellen (UML) Forschungszentrum Prozess und Produkt-Engineering Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Softwareentwicklung – Domänenmodell

Produktstrategie Produktidee Produktkonzept Produktentwicklung 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 Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Systementwicklung - Anforderungsmanagement

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Systementwicklung - Anforderungsmanagement in der Systementwicklung Ursprüngliche Kundenanforderungen Systemspezifikation Subsystemspezifikation Anforderungen System Spezifikation System Anforderungen Steuergerät, Leistungselektronik Anforderungen Spezifikation Elektromechanik Software if a and b then u = true else u = false. . . Forschungszentrum Prozess und Produkt-Engineering Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Systementwicklung - Produktentwicklungsprozess

Produktstrategie Produktidee Produktkonzept Produktentwicklung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Systementwicklung - Produktentwicklungsprozess in der Systementwicklung (Beispiel) Akquisition Produktkonzeption entwicklung A-Muster B-Muster C-Muster Entwicklungsabschluss Serienbetreuung Ende Start Anforderungs- Anforderungs. Freeze Freeze Änderungsmanagement Forschungszentrum Prozess und Produkt-Engineering Markteinführung

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Systementwicklung -

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Systementwicklung - Rolle Prozessschritt 1. 0 1. 1 1. 2 1. 3 1. 4 1. 5 Anforderung/ Änderungswunsch Erfassung Klärung Analyse & Bewertung Entscheidung Bearbeitung / Verfolgung Gesamtprojektleiter M I M M Teilprojektleiter M V V V M V Entwicklungsteam Teilprojekt M M “Change Control Board” Gesamtprojekt M Kunde M V M I Durchlaufzeit [Tage] Zeitl. Aufwand [h] Eingänge Ausgänge formlose Anforderungs-/ Ent. EinzelÄnderungs- scheidungsscheidung; anforderung tabelle Status “Freeze” vorlage Offene Punkte formlose Anforderungs-/ EinzelÄnderungsanforderung tabelle Update Ent. Anforderungs-/ Dokumente; scheidungsscheidung; Änderungsvorlage Offene Punkte Kommunikation Status “Freeze” Forschungszentrum Prozess und Produkt-Engineering

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinführung Wie funktioniert Anforderungsmanagement? - Beispiele aus der Systementwicklung -

Produktstrategie Produktidee Produktkonzept Produktentwicklung Markteinfü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

Produktstrategie Produktidee Produktkonzept Produktentwicklung Beiträge - Diskussion - § Wesentliche Unterschiede beim Anforderungsmanagement in

Produktstrategie Produktidee Produktkonzept Produktentwicklung 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 Markteinführung