1 Requirements Management
2 Inhalt Statusabfrage Motivation, Begriffsbildung, HerausforderungenRequirements Management in der R&S Prozesslandschaft Schritte des Requirements Management Formulieren von Requirements Traceability, Änderungen an Anforderungen Anforderungen prüfen Schlüsselfaktoren des Requirements Management Diskussion/Feedback
3 Inhalt Statusabfrage Motivation, Begriffsbildung, HerausforderungenRequirements Management in der R&S Prozesslandschaft Schritte des Requirements Management Formulieren von Requirements Traceability, Änderungen an Anforderungen Anforderungen prüfen Schlüsselfaktoren des Requirements Management Diskussion/Feedback
4 Statusabfrage Req. ManagementWelche Erfahrungen wurden bisher mit RM gemacht? Welche Tools wurden verwendet? Was lief gut/schlecht? Wo gibt es Verbesserungsbedarf? Warum brauche ich Requirement Management?
5 Inhalt Statusabfrage Motivation, Begriffsbildung, HerausforderungenRequirements Management in der R&S Prozesslandschaft Schritte des Requirements Management Formulieren von Requirements Traceability, Änderungen an Anforderungen Anforderungen prüfen Schlüsselfaktoren des Requirements Management Diskussion/Feedback
6 Motivation
7 Motivation Gründe warum Projekte scheiternQuelle: PA Consulting Group
8 Motivation Relative Beseitigungskosten von Anforderungsfehlern:Quelle: Studie von HP, IBM
9 Quelle CAOS Report Standish GroupMotivation Quelle CAOS Report Standish Group
10 Begriffsbildung Was ist Requirements Management ?Requirements Management oder auch Anforderungsmanagement ist ein Prozess, der die Identifikation Dokumentation Kommunikation Verfolgung Verwaltung von Anforderungen beinhaltet.
11 Begriffsbildung Was ist eine Anforderung ?Eine dokumentierte und testbare Eigenschaft, Leistung oder Funktionalität, die ein System, Produkt oder Prozess erfüllen muss, um einen Vertrag, Standart oder eine Spezifikation zu erfüllen.
12 Begriffsbildung Wer oder was sind Stakeholder?“Stake = Anteil, Beteiligung” “Stakeholder = Interessenvertreter” Eine Person, die an einem Produkt beteiligt oder von ihm betroffen ist, z.B. der Kunde, ein Nutzer, oder jemand, der an der Produktentwicklung oder Herstellung mitwirkt. Stakeholder müssen nicht notwendigerweise vor Ort sein, das trifft z.B. auf Servicepersonal, Wartungsspezialisten und andere zu. Was sind Stakeholder Needs? Ausdruck eines kommerziellen, persönlichen oder betrieblichen Problems, das gelöst (oder einer Chance, die genutzt) werden muss, um den Erwerb oder Einsatz eines neuen Produkts zu rechtfertigen.
13 Begriffsbildung Was sind Features? Features sind die ProduktmerkmaleEin vom System zur Verfügung gestellter, äußerlich wahrnehmbarer Dienst, der direkt ein Stakeholder-Need erfüllt. Liefert für Kunden oder Marketing einen guten Gesamtüberblick über das zu erstellende System Können Grundlage für das Releaseplanung sein „Datenblattansicht“
14 Begriffsbildung Was sind funktionale (detailed) Requirements?Beschreibung dessen, was ein Produkt/System tun soll. Beispiel: „Das System muss über einen Mechanismus verfügen Alarme akustisch und visuell anzeigen zu können. Was sind nichtfunktionale (detailed) Requirements Bedingungen hinsichtlich der Eigenschaften, die ein System haben muss. Dazu gehören Performanz, Antwortzeit, Fehlerfreiheit, Kapazität, Zuverlässigkeit und Wartbarkeit. Beispiel: „Der Identifizierungsvorgang muss in höchstens 5 Sekunden abgeschlossen sein.“ Constraints können zu den Nichtfunktionalen Requirements gezählt werden.
15 Begriffsbildung Was sind Constraints (Einschränkungen, Randbedingungen) Globale Anforderungen die die Entwicklung, Herstellung oder Verwendung des Produktes oder Systems in irgendeiner Form einschränken. Design Operational Environment (z.B. Hitze, Feuchtigkeit, etc...) Design and Implementation Constraints (Betriebssystem, Design-Patterns...) Interface Constraints (Buttons, Menus...) Physical Constraints (Wärmeentwicklung Prozessor Rechenleistung...) Applicable Standards (TCP/IP, Verschlüsselung, ETSI, Mobilfunk, SCPI, ...) Cultural and Political Constraints (Weibliche/Männliche Anrede, Zahl der Feiertage...)
16 Herausforderungen im RMWie die richtigen Anforderungen finden? Wie dokumentieren und strukturieren? Komplexität der Anforderungen Menge Abstraktionsgrad (Needs, Features, detailed Requirements) Gliederung Wie Qualität sicherstellen? Konsistenz Vollständigkeit Über/Unterspezifikation
17 Inhalt Statusabfrage Motivation, Begriffsbildung, HerausforderungenRequirements Management in der R&S Prozesslandschaft Schritte des Requirements Management Formulieren von Requirements Traceability, Änderungen an Anforderungen Anforderungen prüfen Schlüsselfaktoren des Requirements Management Diskussion/Feedback
18 Requirements Management in der R&S Prozesslandschaft
19 Requirements Management in der R&S ProzesslandschaftHead of Product Management (HPM) Project Leader Engineering (PLE)
20 Anforderungsebenen E-Antrag Detaillierung Typprüfung 0
21 Inhalt Statusabfrage Motivation, Begriffsbildung, HerausforderungenRequirements Management in der R&S Prozesslandschaft Schritte des Requirements Management Formulieren von Requirements Traceability, Änderungen an Anforderungen Anforderungen prüfen Schlüsselfaktoren des Requirements Management Diskussion/Feedback
22 Schritte des Requirements ManagementIdentifikation der Stakeholder Auffinden und dokumentieren der Stakeholder Needs Ermittlung und Beschreibung der Features Ableiten der detaillierten Requirements aus den Features Terminologie im Glossar pflegen
23 Schritte des Requirements Management Stakeholder identifizierenDokumentieren bereits bekannter Stakeholder Durch Interviews bekannter Stakeholder können weitere identifiziert werden Potenzielle Stakeholder aus der Beispieltabelle identifizieren Die Pflege der Stakeholderliste ist eine kontinuierliche Aufgabe. Oft werden Stakeholder erst im späteren Projektverlauf identifiziert. Vergessene Stakeholder bedeutet vergessene Anforderungen!
24 Schritte des Requirements Management Beispiele zu StakeholderCustomer User Sales specialist Marketing specialist Key account manager Project management Business analyst Requirement engineer Technology / domain expert Technical system architect System designer Developer CoC Testing specialist Quality assurance Application expert Documentation staff Manufacturer Packaging designer Product installer Service personnel Maintenance specialist Synergy partner Usability expert Aesthetics specialist Safety specialist Security specialist Cultural specialists Training staff Purchasing staff Project partner Subsidiary Supplier Representative of external associations Auditors Standards specialist Environmental specialists Legal expert Others
25 Schritte des Requirements Management Stakeholder erfassenDie einfachste Form Stakeholder zu erfassen ist in Tabellenform. Zusätzlich zu der Rolle des Stakeholders können noch folgende Attribute mit erfasst werden: Name Firma Abteilung Telefon Vertretung Wissensgebiet Beschreibung Kommentar …
26 Schritte des Requirements Management Needs ermitteln (1)Stakeholder Needs adressieren den Problembereich im Anforderungsmanagement. Warum sollte das Problem separat betrachtet werden? Nur wenn das Problem bekannt ist, kann eine entsprechende Lösung gefunden werden Die zu lösenden Probleme sind oft langlebiger wie die entsprechenden Lösungen dazu Zu einem Problem gibt es oft mehrere gangbare Lösungen
27 Schritte des Requirements Management Needs ermitteln (2)Techniken, um Needs zu ermitteln können sein: Kreativtechniken Brainstorming Brainstorming paradox Methode 6-3-5 Wechsel der Perspektiven Beobachtungstechniken Feldbeobachtung Apprenticing („in die Lehre gehen“) Befragungstechniken Fragebogen Interview „Selbstaufschreibung“ On-Site-Customer Vergangenheitsorientierte Techniken Systemarchäologie Reuse
28 Schritte des Requirements Management Needs dokumentierenID Um jederzeit eine Need eindeutig identifizieren zu können sollte unbedingt eine ID zu jedem Need gepflegt werden Status Bewährt haben sich folgene Status: Initialled, Proposed, Approved, To be reworked, Rejected, Waiting Room (siehe auch Workflow zu den Needs) Aus den Needs die den Status “Approved” erreichen werden später die Features abgeleitet. Priorität Geben Sie den gefundenen Needs Prioritäten um sie untereinander abgrenzen zu können Risiko Geben sie an, welches Risiko mit der Realisierung bzw. Nichtrealisierung dieses Needs verbunden ist. Kommentar Das Feld Kommentar bietet Ihnen Platz für die Teamkommunikation, beispielsweise können Sie hier begründen warum ein Need abgelehnt wurde
29 Schritte des Requirements Management Workflow zu Stakeholder Needs
30 Schritte des Requirements Management FeaturesFeatures sind gewünschte Produktdienste oder Merkmale. Features sollten auf einem hohen Abstraktionsniveau gehalten werden. Stakeholder sollten in die Auswahl der Features mit einbezogen werden Features sollten kurz und in der Sprache des Anwenders das System beschreiben können
31 Schritte des Requirements Management FeaturesZusätzlich zu den Techniken die bereits bei den Needs vorgestellt wurden eignen sich: Analyse von Änderungsanträge oder Problemberichten Verwendung von UseCases Simulationsmodelle und Prototypen
32 Schritte des Requirements Management Kano-Diagramm
33 Schritte des Requirements Management Workflow zu Features
34 Schritte des Requirements Management RequirementsDie detaillierten Anforderungen werden aus den Features des Produktes abgeleitet. Hierbei eignen sich die gleichen Erhebungstechniken wie für die Needs bzw. Features. Die detaillierten Anforderungen dienen als Arbeitsgrundlage für die Realisierung, Projektplanung und für das Testmanagement. Das Handbuch Produktentwicklung schreibt im Rahmen der Aktivität „Produkt definieren“ vor, die detaillierte Anforderungen in der Produktanforderungsfestlegung zu dokumentieren.
35 Schritte des Requirements Management RequirementsVermeiden Sie Mehrdeutigkeiten Der auftretende Fehler löst einen akustischen oder visuellen Alarm aus. Vermeiden Sie Mehrfachanforderungen Der auftretende Fehler löst einen akustischen und visuellen Alarm aus. Bauen Sie keine Ausweich- oder Ausschlussmöglichkeiten ein Der auftretende Fehler löst, wenn er wichtig ist, einen visuellen Alarm aus. Vermeiden Sie Weitschweifigkeiten Die Eingabe der Kontonummer über die Tastatur des Laptops kann zu Fehleingaben führen. Sollte hierbei eine ungültige Eingabe gemacht werden, muß der auftretende Fehler, gut hörbar, auch bei Nebengeräuschen, einen akustischen Alarm auslösen.
36 Schritte des Requirements Management RequirementsEntwickeln Sie nicht das System Der auftretende Fehler löst einen akustischen Alarm aus, welcher über einen wasserfesten 8 Ohm Lautsprecher der Marke Philips ertönen muss. Spekulieren Sie nicht Im unwahrscheinlichen Fall, daß Fehler auftreten würden… Verwenden Sie keine undefinierten Begriffe Der auftretende Fehler löst einen gut hörbaren, unangenehmen akustischen Alarm aus Formulieren Sie eine Forderung nicht als Möglichkeit Der auftretende Fehler könnte einen akustischen Alarm auslösen Hüten Sie sich vor Wunschdenken Alle unerwarteten auftretenden Fehler müssen vom System selbständig unter Kontrolle gebracht werden.
37 Schritte des Requirements Management Beispiel 1Stakeholder Need: Es soll ein höherer Durchsatz in der Produktion von Mobile Telefonen erzielt werden Features: Die HF-Tests im Signalisierungsbetrieb sollen sehr schnell durchgeführt werden. Detailed Requirements: Reduzierter Synchronisations-Mode (Signalisierung) Synchronisierungsmeldungen des angeschlossenen Mobiles ignorieren.
38 Schritte des Requirements Management Beispiel 2Stakeholder Need: Die Einstellungen des Systems sollen nur von autorisiertem Personal geändert werden dürfen. Features: Kritische Bereiche des Systems sind mittels Authentifizierungsmechanismus geschützt. Detailed Requirements: Das Setup des Systems kann erst nach Eingabe eines Passwortes aufgerufen werden.
39 Schritte des Requirements Management Verwendung von AttributenDurch Verwendung von Attributen lassen sich die Anforderungen leichter verwalten. RM Tools bieten bereits standardmäßig eine Reihe an Attributen an: ID Erstellungsdatum Autor Bearbeiter Historie Kommentar Priorität Status Version etc...
40 Inhalt Statusabfrage Motivation, Begriffsbildung, HerausforderungenRequirements Management in der R&S Prozesslandschaft Schritte des Requirements Management Formulieren von Requirements Traceability, Änderungen an Anforderungen Anforderungen prüfen Schlüsselfaktoren des Requirements Management Diskussion/Feedback
41 Requirements formulieren (1)In 5 Schritten zur „perfekten“ Anforderung: 1) Bestimmen Sie den Prozess der gefordert ist 2) Charakterisieren Sie die System Aktivität 3) Legen Sie die rechtliche Verbindlichkeit fest 4) Feinschliff, ergänzende Objekte 5) Stellen Sie die logische oder zeitliche Bedingungen an den Satzanfang Eine Anforderungsschablone ist ein Bauplan, der die syntaktische Struktur einer einzelnen Anforderung festlegt.
42 Requirements formulieren (2) Step 1: Prozesswort bestimmenBeispiele für Prozesswörter: speichern, empfangen, auswählen, drucken, übertragen, sammeln, importieren usw. DAS SYSTEM druckt
43 DAS SYSTEM dem Administrator DIE MÖGLICHKEIT BIETEN zu druckenRequirements formulieren (3) Step 2: Charakterisieren Sie die Systemaktivität Man unterscheidet zwischen 3 Typen: Benutzerinteraktion: z. B beim Prozesswort „drucken“ Selbständige Systemaktivität: z. B. beim Prozesswort „bestimmen“ Schnittstellenanforderung „empfangen“ DAS SYSTEM dem Administrator DIE MÖGLICHKEIT BIETEN zu drucken -
44 Requirements formulieren (4) Step 3: Legen Sie die rechtliche Verbindlichkeit festDas Schlüsselwort „muss“ wird für die verpflichtend umzusetzende Anforderungen verwendet. DAS SYSTEM MUSS dem Administrator DIE MÖGLICHKEIT BIETEN zu drucken Durch „soll“ und „wird“ kann eine gewünschte oder optionale Anforderung beschrieben werden. - > besser mit Attributen kennzeichnen
45 Requirements formulieren (5) Step4: Feinschliff, ergänzende ObjekteDAS SYSTEM MUSS dem Administrator DIE MÖGLICHKEIT BIETEN, eine Fehlermeldung auf einem Netzwerkdrucker zu drucken.
46 Requirements formulieren (6) Step5: Stellen Sie die logische oder zeitliche Bedingungen an den Satzanfang Falls eine Fehlermeldung erzeugt wurde, MUSS DAS SYSTEM dem Administrator DIE MÖGLICHKEIT BIETEN, Fehlermeldungen auf einem Netzwerkdrucker zu drucken. -
47 Requirements formulieren (7) Vor- und Nachteile der AnforderungsschabloneVorteile Typische Formulierungsfehler werden ausgeschlossen Die natürliche Sprache wird gebändigt -> eine gemeinsame Sprache geschaffen Möglichkeit den Wortschatz zu begrenzen und dadurch die verwendeten Wörter eindeutig zu definieren. (Definitionslisten) Nachteile Lesen von mehreren gleichartig formulierten Anforderungen ist ermüdend Schablonentechnik muss von den Mitarbeitern akzeptiert werden.
48 Inhalt Statusabfrage Motivation, Begriffsbildung, HerausforderungenRequirements Management in der R&S Prozesslandschaft Schritte des Requirements Management Formulieren von Requirements Traceability, Änderungen an Anforderungen Anforderungen prüfen Schlüsselfaktoren des Requirements Management Diskussion/Feedback
49 Tracing (Anforderungsverfolgung)Wozu ist Tracing gut? Beziehungen darstellen, festhalten und verfolgen Beziehungen von Anforderungen untereinander und zwischen Anforderungen und anderen Entwicklungsobjekten, z.B. Designelementen, Test Cases Beziehungsarten: z.B. „hängt ab von“, „erfüllt“, „benutzt“ Beurteilung der Auswirkungen von Änderungen Verfolgung des Projektstatus Wie sieht es konkret aus? Beziehungen definieren, verwalten und auswerten in DB-gestütztem Tool
50 Traceability Stakeholder Needs Features RequirementsArchitecture / Design Fehlende Umsetzung N1 Test Criteria N2 F1 F2 F3 F4 R1 R2 R3 R4 R5 R6 R7 AD1 AD2 AD3 TC1 TC2 N3 Auswirkung von Änderungen Why is ...? Anforderung ohne Bezug
51 Change Requests (Anforderungsänderungen)Änderungen betreffen bestehende Anforderungen oder neue Anforderungen Project Policies Change Requests fest im Projekt verankern Change Control Board einsetzen Tracing anwenden zur Beurteilung, wie sich Änderungen auswirken Abwicklung von Change Requests Änderung erfassen und kommunizieren bewerten und entscheiden implementieren und verifizieren freigeben
52 Inhalt Statusabfrage Motivation, Begriffsbildung, HerausforderungenRequirements Management in der R&S Prozesslandschaft Schritte des Requirements Management Formulieren von Requirements Traceability, Änderungen an Anforderungen Anforderungen prüfen Schlüsselfaktoren des Requirements Management Diskussion/Feedback
53 Anforderungen prüfen Eigenschaften guter Anforderungen und wer kann das prüfen Quelle: Sophisten
54 Anforderungen prüfen Quality GatewayDas Quality Gateway muss dafür sorgen, dass die Spezifikation eine qualitative Basis bildet für Entwicklung (HW/SW Design/Implementierung) Test Projekt Management (Arbeitspakete, Aufwandsabschätzung, Release-Planung) Anforderungen müssen als Vertragsgrundlage geeignet sein. Realisierung der Anforderungen muss im fertigen Produkt nachweisbar sein.
55 Checkliste für gute Requirements (1)Abstraktheit Die Beschreibung einer Anforderung darf nicht bereits eine spezifische Design-Lösung vorgeben. Atomar Jede Festlegung darf nur eine einzige Anforderung enthalten, die in einem Satz oder mehreren Sätzen beschrieben sein kann. Verstehbarkeit Jede Anforderung muss so beschrieben sein, dass sie für alle vorgesehenen Stakeholder verstehbar ist, auch wenn diese unterschiedliche technische Kenntnisse aufweisen. -
56 Checkliste für gute Requirements (2)Vollständigkeit Attribute dürfen nur dann fehlen, wenn sie nicht notwendig waren, jedoch nicht, weil ihre Zuordnung zu schwierig war oder vergessen wurde. Machbarkeit Es muss machbar (praktikabel/realisierbar/durchführbar) sein, eine Anforderung mit den verfügbaren personellen und technischen Ressourcen innerhalb des vorgegebenen Kosten- und Zeitrahmens umzusetzen. -
57 Checkliste für gute Requirements (3)Keine Goldrandlösungen In der Softwareindustrie versteht man unter Goldrandlösungen Features und Anforderungen, die mehr zur Kostensteigerung als zur Funktionalität oder Benutzbarkeit eines Produkts beitragen. Testbarkeit Jede Anforderung muss testbar sein und daher ein Abnahmekriterium enthalten. Bei nicht funktionalen Anforderungen muss eine Masseinheit angegeben sein. Eindeutigkeit Jede Anforderung muss präzise, eindeutig und in sich konsistent sein. Es darf keinen Raum für Interpretationen geben. Identifizierbarkeit Jede Festlegung kann eindeutig identifiziert werden. -
58 Beurteilung von AnforderungenDer Druckdialog muss flexibel und benutzerfreundlich sein. Das Produkt darf nie ausfallen. Das Produkt muss alle unerwarteten Fehler ohne Absturz unter Kontrolle bringen. Die Antenne muss FM-Signale empfangen können, und zwar mit Hilfe eines Kupferdrahts mit Nylonmantel und wasserfestem, gehärteten Gummischirm. Vorausgesetzt, dass die genannten Eingangssignale von den angegebenen Geräten in der richtigen Reihenfolge empfangen werden, soweit das System zwischen den Designatoren unterscheiden kann, muss das Ausgangssignal gemäß dem in Abschnitt geforderten Rahmen den gewünschten Eingangszustand anzeigen. Das Empfangs-Teilsystem sollte wohl so leistungsstark sein, dass Signale auch im Inneren eines Stahlskelettbaus empfangen werden können.
59 Schritte des Requirements Management Workflow zu detaillierten Requirements
60 Inhalt Statusabfrage Motivation, Begriffsbildung, HerausforderungenRequirements Management in der R&S Prozesslandschaft Schritte des Requirements Management Formulieren von Requirements Traceability, Änderungen an Anforderungen Anforderungen prüfen Schlüsselfaktoren des Requirements Management Diskussion/Feedback
61 Schlüsselfaktoren des RMSystematischer RM Prozess Nutzerpartizipation: Stakeholder ermitteln und beteiligen Geeignete Techniken für die Ermittlung von Anforderungen anwenden Anforderungen in geeigneter Struktur dokumentieren Sprachliche Formulierung berücksichtigen Reviews durchführen Qualitätskriterien beachten Änderungsmanagement konsequent einsetzen Tool-Einsatz Alle Anforderungen in einem DB-gestützten Tool erfassen und verwalten (R&S-Standard-Tool: DOORS) Tracing einsetzen
62 Inhalt Statusabfrage Motivation, Begriffsbildung, HerausforderungenRequirements Management in der R&S Prozesslandschaft Schritte des Requirements Management Formulieren von Requirements Traceability, Änderungen an Anforderungen Anforderungen prüfen Schlüsselfaktoren des Requirements Management Hilfe/Diskussion/Feedback
63 Hier bekommen Sie HilfeRichtlinienportal DOORS und RM Spezialisten zu kontaktieren via
64 Empfohlene Literatur Ian F. Alexander and Richard Stevens: Writing Better Requirements. Addison Wesley ISBN Rupp, Chris: Requirements-Engineering und –Management; Hanser 2001, ISBN Robertson, Suzanne: Mastering the Requirements Process. Addison Wesley ISBN Wiegers, Karl E.: Software Requirements. Microsoft Press ISBN Leffingwell, Dean: Widrig, Don: Managing Software Requirements: A Unified Approach. Addison Wesley ISBN Oesterreich, Bernd: Objektorientierte Softwareentwicklung: Analyse und Design mit der Unified modeling language, 4. Auflage. Oldenbourg ISBN
65 Vielen Dank für Ihre Aufmerksamkeit!