Diese Studienarbeit beschäftigt sich mit dem Requirements Engineering für komplexe System. Neben den essenziellen theoretischen Grundlagen werden einige Vorgehensweisen im Detail erörtert. Beginnend mit der Definition der Notwendigkeit, wird auf die Arten von Anforderungen verwiesen. Im nächsten Schritt werden zwei mögliche Richtungen beziehungsweise Vorgehensweisen betrachtet. Den Requirements-Engineer im Fokus, haben die Themen Anforderungen ermitteln, dokumentieren, prüfen, abstimmen und verwalten einen besonderen Stellenwert. Werkzeuge und Herausforderungen schließen den Bericht ab, bevor ein Resümee gezogen wird. Begleitend dient ein Praxisbeispiel zur Veranschaulichung des Entwicklungsprozesses.
Herausfordernd waren Software- und Systementwicklungen von Beginn an. Spätestens seit Einzug der Digitalisierung und Schaffung des Industrie-Standards 4.0 zählt das Anforderungsmanagement zu den Kerntechnologien der Softwareentwicklung.1 Globalisierung führt zu einem steigenden Wettbewerbsdruck für Unternehmen auf dem Weltmarkt. Dies bringt eine Homogenisierung von Produkten hinsichtlich technischer und qualitativer Aspekte mit sich. Markt- und Kundenbedürfnisse müssen akribisch analysiert werden und bilden die Basis für zielgerichtete Entwicklungsprozesse. Daraus muss eine technische sowie wirtschaftliche Überlegenheit dem Mitbewerber gegenüber geschaffen werden. Das Anforderungsmanagement wird somit wesentlicher Bestandteil der strategischen Planung, um Produkte oder Systeme zu entwickeln.
Wie startet man nun eine Entwicklung auf Basis des Anforderungsmanagements und vor allem mit welchen Ressourcen? Welche Möglichkeiten und Iterationsschleifen passen zum jeweiligen Projekt? Genau diese Fragestellungen werden in der Arbeit analysiert und kritisch bewertet. Ein Praxisbeispiel dient in den relevanten Kapiteln als nützliche Hilfestellung, um den theoretischen Inhalt mit realen Gegebenheiten zu untermauern. Zudem liefert ein One Pager im Anhang das finale Rüstzeug, um in Management-Meetings die Idee und die Bedeutung des Requirements Engineering wirksam zu präsentieren.
Inhaltsverzeichnis
1 Einleitung
1.1 Praxisbeispiel
2 Requirements Engineering
2.1 Warum braucht man ein Anforderungsmanagement?
2.2 Arten von Anforderungen
2.2.1 Funktionale Anforderungen
2.2.2 Qualitätsanforderungen
2.2.3 Randbedingungen
2.3 Vorgehensweisen
2.3.1 Konventionell
2.3.2 Agil
2.4 Anforderungen ermitteln
2.4.1 Der Requirements Engineer
2.4.2 Stakeholder und deren Bedeutung
2.4.3 Ermittlungstechniken
2.5 Anforderungen dokumentieren
2.5.1 Sprachliche Dokumentation
2.5.2 Modellbasierte Dokumentation
2.6 Anforderungen prüfen
2.7 Anforderungen abstimmen
2.8 Anforderungen verwalten
2.8.1 Priorisierungsmatrix
2.8.2 Verfolgbarkeit
2.9 Werkzeuge
2.10 Herausforderungen des Anforderungsmanagements
3 Zusammenfassung und Ausblick
Zielsetzung & Themen
Diese Studienarbeit setzt sich mit der zentralen Bedeutung des Requirements Engineering bei der Entwicklung komplexer Systeme auseinander. Das Hauptziel der Arbeit besteht darin, theoretische Grundlagen des Anforderungsmanagements mit praktischen Vorgehensweisen zu verknüpfen, um die Qualität von Software- und Systementwicklungsprojekten zu sichern und gleichzeitig wirtschaftliche sowie technische Effizienz zu gewährleisten.
- Theoretische Grundlagen und Definitionen des Anforderungsmanagements
- Gegenüberstellung konventioneller und agiler Vorgehensweisen
- Methoden zur Ermittlung, Dokumentation und Verwaltung von Anforderungen
- Anwendungsorientiertes Praxisbeispiel zur Veranschaulichung der Prozesse
- Methodik zur Priorisierung und Qualitätssicherung von funktionalen Anforderungen
Auszug aus dem Buch
2.4.3 Ermittlungstechniken
Die Wahl der passenden Ermittlungstechnik ist ausschlaggebend, um das Wissen und die Anforderungen der Stakeholder abzufragen. Es ist möglich eine erprobte und erfolgversprechende Technik zu erläutern, allerdings ist der Charakter eines jeden Stakeholders einzigartig. Daher ist das Gespür und die Empathie des Requirements Engineer gefragt, um aus einer Sammlung von Möglichkeiten eine effektive Ausbeute zu erlangen. Abbildung 5 verschafft einen Überblick der unterschiedlichen Techniken. Für jede Technik werden mindestens zwei Methoden erläutert.
Befragungstechniken: Der Requirements Engineer bereitet einen Katalog an Fragen vor. Eine offene und ehrliche Diskussion ist das Ziel dieses Vorhabens. Die Befragten können einen präzisen und unverfälschten Einblick deren Wissenstand geben. Der Gesprächsverlauf ist variabel und kann auch die jeweiligen Kernelemente den Fokus lenken. Je nach Netzwerkgröße und Detailwissen können auch Multiple-Choice Fragebögen zielführend sein.
Kreativitätstechniken: Um Einblick in einen neuen Themenbereich zu erlangen und innovative Ideen zu sammeln, eignet sich ein Brainstorming mit Stakeholdern aus verschiedenen Gruppen. Die Gruppengröße sollte 10 Personen nicht überschreiten. Aus einer aktiven Diskussion kann in kürzester Zeit ein produktives Mindset entstehen.
Das Brainstorming paradox hat ähnliche Ziele, jedoch im Ansatz eine abweichende Vorgehensweise. Nicht zielführende Ereignisse werden gesammelt und im Anschluss Abstellmaßnahmen definiert damit diese nicht mehr eintreten.
Ein Perspektivenwechsel ermöglicht die Betrachtung von Problemen aus unterschiedlichen Blickwinkeln. Besonders vorteilhaft erweist sich diese Methode bei Stakeholdergruppen mit stark eingeschränkten Sichtweisen.
Zusammenfassung der Kapitel
1 Einleitung: Diese Einleitung führt in die Komplexität heutiger Systementwicklungen ein und begründet die Notwendigkeit des Anforderungsmanagements als Kerntechnologie der Softwareentwicklung.
1.1 Praxisbeispiel: Das Praxisbeispiel stellt das Unternehmen Muster und die Software "HR-Manger" vor, die als roter Faden für die Veranschaulichung der theoretischen Konzepte dient.
2 Requirements Engineering: Dieses zentrale Kapitel definiert Requirements Engineering als entscheidenden Hebel für Projektqualität und wirtschaftlichen Erfolg.
2.1 Warum braucht man ein Anforderungsmanagement?: Der Abschnitt erläutert die betriebswirtschaftliche Notwendigkeit und die Kostenfolgen bei mangelhaftem Anforderungsmanagement.
2.2 Arten von Anforderungen: Hier werden Anforderungen nach funktionalen Aspekten, Qualitätsanforderungen und Randbedingungen strukturiert.
2.2.1 Funktionale Anforderungen: Dieser Unterpunkt definiert funktionale Anforderungen als Festlegung dessen, was ein System leisten muss, anhand von Szenarien und Ablaufbeschreibungen.
2.2.2 Qualitätsanforderungen: Der Fokus liegt hier auf Performance- und Betriebsparametern wie Zuverlässigkeit und Wartbarkeit, die oft als erfolgskritisch unterschätzt werden.
2.2.3 Randbedingungen: Dieser Abschnitt beschreibt die Grenzen und Beschränkungen, die den Lösungsraum eines Projekts definieren.
2.3 Vorgehensweisen: Das Kapitel vergleicht klassische, sequenzielle Modelle mit modernen agilen Ansätzen in der Systementwicklung.
2.3.1 Konventionell: Hier wird das V-Modell als strukturiertes, sequenziell orientiertes Vorgehen zur Systemdarstellung analysiert.
2.3.2 Agil: Dieser Unterpunkt beleuchtet das agile Manifest und die Scrum-Methode als dynamische, iterativ orientierte Vorgehensweisen.
2.4 Anforderungen ermitteln: Dieses Kapitel widmet sich den notwendigen Rollen und Techniken, um Stakeholder-Wissen erfolgreich in Systemanforderungen zu überführen.
2.4.1 Der Requirements Engineer: Der Abschnitt charakterisiert den Requirements Engineer als analytische Schnittstelle und Übersetzer zwischen Stakeholdern und dem Entwicklungsteam.
2.4.2 Stakeholder und deren Bedeutung: Hier wird die Identifikation und systematische Dokumentation von relevanten Interessenvertretern als Erfolgsfaktor beschrieben.
2.4.3 Ermittlungstechniken: Dieser Unterpunkt bietet einen Überblick über verschiedene Befragungs-, Kreativitäts- und Beobachtungsmethoden.
2.5 Anforderungen dokumentieren: Der Fokus liegt auf der Bedeutung einer qualitativ hochwertigen Anforderungsbeschreibung als Fundament für den gesamten Entwicklungsprozess.
2.5.1 Sprachliche Dokumentation: Dieser Abschnitt beschreibt den Einsatz von standardisierten Formulierungs-Schablonen zur Vermeidung von Missverständnissen.
2.5.2 Modellbasierte Dokumentation: Hier wird der Nutzen grafischer Notationen (wie UML) zur intuitiven Darstellung komplexer Zusammenhänge erläutert.
2.6 Anforderungen prüfen: Dieser Abschnitt thematisiert die fortlaufende Qualitätssicherung und den Einsatz des PDCA-Zyklus.
2.7 Anforderungen abstimmen: Das Kapitel behandelt systematisches Konfliktmanagement bei widersprüchlichen Anforderungen zwischen Stakeholdern.
2.8 Anforderungen verwalten: Dieser Teil befasst sich mit der Verwaltung und Attribuierung von Anforderungen über den kompletten Lebenszyklus.
2.8.1 Priorisierungsmatrix: Die Wiegers'sche Matrix wird als Verfahren zur strukturierten Gewichtung und Rangfolgenbildung vorgestellt.
2.8.2 Verfolgbarkeit: Der Begriff der Traceability wird als Fähigkeit zur lückenlosen Nachverfolgbarkeit von Anforderungen definiert.
2.9 Werkzeuge: Dieser Abschnitt bewertet die Auswahl und Einführung von Software-Tools zur Unterstützung des Anforderungsmanagements.
2.10 Herausforderungen des Anforderungsmanagements: Das Kapitel fasst allgemeine Risiken wie unklare Zielvorstellungen und Komplexitätsanstieg zusammen.
3 Zusammenfassung und Ausblick: Der Abschnitt resümiert die Kernaussagen der Arbeit und betont die Rolle des Anforderungsmanagements als Teamleistung.
Schlüsselwörter
Requirements Engineering, Anforderungsmanagement, Systementwicklung, Softwareentwicklung, Stakeholder, V-Modell, Agiles Vorgehen, Scrum, Anforderungsanalyse, Dokumentation, Priorisierungsmatrix, Qualitätssicherung, Traceability, Projektmanagement, HR-Manger
Häufig gestellte Fragen
Worum geht es in dieser Studienarbeit grundsätzlich?
Die Arbeit behandelt das Requirements Engineering als essenziellen, methodisch geleiteten Prozess innerhalb der Entwicklung komplexer Systeme, um Qualität und Projekterfolg zu gewährleisten.
Welche zentralen Themenfelder werden abgedeckt?
Die zentralen Themen umfassen die Definition und Art von Anforderungen, die Gegenüberstellung von klassischen und agilen Vorgehensweisen, Methoden der Ermittlung, Dokumentation, Prüfung und Verwaltung von Anforderungen sowie den Werkzeugeinsatz.
Was ist das primäre Ziel oder die Forschungsfrage?
Das Ziel ist es, aufzuzeigen, wie durch eine gezielte methodische Einbettung des Anforderungsmanagements die Effizienz und Qualität von Entwicklungsvorhaben verbessert werden kann.
Welche wissenschaftliche Methode wird verwendet?
Die Arbeit nutzt eine theoretische Fundierung durch Literaturanalyse kombiniert mit einem begleitenden, angewandten Praxisbeispiel zur Illustration der Anwendung des Requirements Engineering.
Was wird im Hauptteil ausführlich behandelt?
Der Hauptteil gliedert sich chronologisch in die Schritte des Requirements Engineering: Ermittlung, Dokumentation, Abstimmung, Prüfung und Verwaltung, unterstützt durch konkrete Hilfsmittel wie Schablonen und Priorisierungsmatrizen.
Welche Schlüsselwörter charakterisieren die Arbeit am besten?
Die Arbeit wird maßgeblich durch Begriffe wie Anforderungsmanagement, Stakeholder, agile Methoden, Traceability und Qualitätssicherung charakterisiert.
Wie hilft das Praxisbeispiel "HR-Manger" dem Leser?
Es dient dazu, trockene Theorie in einen konkreten, realitätsnahen IT-Kontext zu heben, um die Auswirkungen und die praktische Umsetzung der Anforderungsmethodik verständlich zu machen.
Welche Rolle spielt die Wiegers'sche Priorisierungsmatrix?
Sie bietet ein systematisches, strukturiertes Verfahren, um durch eine objektive Gewichtung von Nutzen und Kosten zu einer rational nachvollziehbaren Rangfolge für die Umsetzung von Anforderungen zu kommen.
Warum ist die Dokumentation für den Autor so wichtig?
Der Autor argumentiert, dass eine dem Projektumfang entsprechende Dokumentation entscheidend ist, um Wissensverlust zu minimieren und die Grundlage für den dauerhaften Geschäftserfolg eines Systems zu schaffen.
- Citar trabajo
- Achim Schiller (Autor), 2021, Agiles Requirements Engineering für die Entwicklung komplexer Systeme, Múnich, GRIN Verlag, https://www.grin.com/document/1553548