Requirements Engineering. Bedeutung für agile Projekte und deren Qualität


Trabajo Escrito, 2019

14 Páginas, Calificación: 1,0


Extracto


Inhaltsverzeichnis

1. Einleitung

2. Requirements Engineering
2.1. Arten von Anforderungen
2.2. Umgang mit Anforderungen
2.3. Anforderungsmanagement
2.4. Probleme und Hindernisse für den Requirements Engineer

3. Bedeutung für agile Projekte und deren Qualität
3.1. Das agile Manifest
3.1.1. Individuen und Interaktionen vs. Prozesse und Werkzeuge
3.1.2. Funktionierende Software vs. umfassende Dokumentation
3.1.3. Auf Veränderungen reagieren vs. Pläne befolgen
3.1.4. Zusammenarbeit mit Kunden vs. Vertragsverhandlungen

4. Fazit

5. Quellen

1. Einleitung

Anforderungen zählen zu den wichtigsten Bestandteilen eines funktionierenden Projekts. Doch in der Praxis wird ein konsequenter Umgang mit Anforderungen häufig vernachlässigt, was zu einer Minderung der Qualität eines Produkts, sowie zu Frustration bei Kunden und Entwicklern führen kann. Im schlimmsten Fall resultiert dies sogar in einem Scheitern des Projekts und stürzt dessen Unternehmen in den Ruin. Grund dafür sind meist ein sich ständig wechselnder Markt mit immer neuen Herausforderungen, eine wachsende Komplexität der Systeme und die zunehmende Dynamik in der digitalen Welt. Um dem entgegenzuwirken, bzw. mit diesen Herausforderungen mitzuhalten, wird das sogenannte Requirements Engineering angewandt, welches den gesamten Lebenszyklus eines Projekts während der Entwicklung beeinflusst. Dabei werden große Mengen an Informationen und Daten ermittelt, analysiert, strukturiert, dokumentiert, geprüft und verwaltet. Dieses Vorgehen zum Verarbeiten der Anforderungen zu Beginn eines Projekts ist ein ausschlaggebender Faktor für dessen Erfolg, obgleich es sich dabei um eine Software, ein Telefon oder ein Gebäude handelt.

Software wurde bis in die 1970er Jahre noch mit sehr großem Aufwand entwickelt und führte nicht selten zu wenig zufriedenstellenden Ergebnissen für seine Benutzer. Diese Krise legte den Grundstein für Methoden für strukturiertes Entwickeln bezüglich Designs und Analyse von Anforderungen. Infolgedessen wurde das Requirements Engineering eingeführt. Zum Ende der 80er folgten dann auch weitere objektorientierte Methoden. Das resultierende systematische Requirements Engineering bildete in der Softwareindustrie die Basis für weitere Anwendungsbereiche wie Automobilindustrie, Banken oder Handwerk. Der erste IEEE Standard wurde 1983 definiert und bis 2011 als ISO/IEC/IEEE 29148 ausformuliert. (SOPHIST GmbH, 2015)

Weiterhin gelten neben fehlenden Ressourcen, Missverständnissen, Unklarheiten und fehlender Einbeziehung der Kunden und Benutzer eine schlechte Planung und die damit verbundene vernachlässigte Anforderungsanalyse und -erhebung heute noch als Hauptursachen für das Scheitern von Projekten, auch wenn sich der Begriff bereits in einigen Bereichen der Wirtschaft etablieren konnte. Ob ein Projekt erfolgreich ist oder scheitert, entscheidet sich also bereits in den frühen Phasen dessen Planung. Um zum Projekterfolg beizutragen muss der Umgang mit Anforderungen gefördert, optimiert und verbessert werden.(Jochem & Landgraf, 2011)

In Zeiten des agilen Entwickelns setzt dies immer häufiger eine agile Methodik im Hinblick auf das Requirements Engineering voraus und entfernt sich zunehmend von starren Prozessen der Projektplanung.

2. Requirements Engineering

Der Erfolg eines Projekts entscheidet sich also bereits in den frühen Phasen der Projektplanung(Jochem & Landgraf, 2011). Jedes Projekt hat seinen Ursprung in einem bestimmten Problem, welches durch ein oder mehrere Ziele gelöst werden kann. Werden diese Ziele nicht erreicht, scheitert das Projekt. Eine mangelnde Definition der Projektziele zu Beginn des Projekts kann dabei erheblich zum Scheitern beitragen. Zur Erreichung dieser Ziele dienen Anforderungen (engl. requirements) und stellen die Lösung eines Problems dar. In einem komplexen System kann ein solches Ziel beispielsweise eine Norm oder eine Spezifikation darstellen. Diese Anforderungen an die Funktionalität eines Produkts werden in einer Dokumentation festgehalten. Diese wird durch das systematische Vorgehen des Requirements Engineers ausgeführt, geprüft, mit den Stakeholdern abgestimmt und verwaltet. Dadurch wird eine hohe Qualität der Anforderungen erreicht, Konflikte schnell identifiziert und gegebenenfalls beseitigt und ein qualitativ hochwertiges Ergebnis sichergestellt, sodass einem fließenden Projektfortschritt nur noch wenig im Wege stehen sollte. Der Begriff Engineering bedeutet hier vor allem die technische Planung mit hohem Qualitätsanspruch, was unter Umständen hochqualifiziertes Personal erfordert.(Pohl & Rupp, 2009)

LautIEEE-Standard 610.12-1990gilt folgende Definition für Anforderungen:

Abbildung in dieser Leseprobe nicht enthalten

2.1. Arten von Anforderungen

Anforderungen sind gleichzeitig Wünsche, Bedürfnisse und Ziele der Anwender, sowie Eigenschaften und Bedingungen, die an das fertig zu entwickelnde System gestellt werden(Jochem & Landgraf, 2011). Generell wird zwischen funktionalen und nichtfunktionalen Anforderungen unterschieden.Funktionale Anforderungenbeschreiben dabei die Anforderungen an die Funktionen eines Systems. Dazu zählen die vom System ausgeführten Aufgaben, seine Bedienbarkeit durch den Benutzer, sowie funktionale Verhaltensweisen und Beschränkungen. Dagegen umfassennichtfunktionale Anforderungenalle umfassenden Funktionalitäten des Produkts, wie Performance, Qualität, Zuverlässigkeit, temporäre Aspekte, rechtliche Angelegenheiten, Design, Organisation und technologische Aspekte. Eine klare Abgrenzung beider Arten voneinander lässt sich jedoch prinzipiell nicht treffen. (Pohl & Rupp, 2009)

Des Weiteren können nichtfunktionale Anforderung in Business-, System- und Benutzeranforderungen unterteilt werden. Die Basis bilden dabei die Ziele der Benutzer, welchen ein Problem zugrunde liegt, das durch das Produkt gelöst werden soll. Die jeweiligen Anforderungen der Benutzer können dabei die Bedienbarkeit oder das Design des Produkts darstellen. Darauffolgend müssen die Gegebenheiten des Systems definiert werden. Dies können beispielweise eine gute Performance oder die Zuverlässigkeit des Produkts bei der Benutzung sein. Anschließend werden Business-Anforderungen wie Kosten, Zeitpunkt der Fertigstellung oder Verfügbarkeit aller Beteiligten während der Entwicklung abgedeckt.

Abbildung 1 soll die unterschiedlichen Arten von Anforderungen noch einmal genauer verdeutlichen.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: Funktionale und nichtfunktionale Anforderungen

Gewisse Randbedingungen spielen unter den nichtfunktionalen Anforderungen eine nicht zu unterschätzende Rolle. Als Randbedingungen, oder Rahmenbedingungen, gelten beispielsweise Vorgaben zur technischen Umsetzung der Anforderungen, oder auch Deadlines oder Entwicklungsmethoden.

Der Requirements Engineer muss sicherstellen, dass all diese Faktoren durch seine frühe Analyse und Definition abgedeckt werden. Dies setzt eine gute Planung durch Auftragnehmer und Auftraggeber voraus.(Pohl & Rupp, 2009)

2.2. Umgang mit Anforderungen

Das Vorgehen des Requirements Engineerings basiert zunächst auf dem Ermitteln von nichtfunktionalen Anforderungen. Diese werden anhand der bereits genannten Unterteilung in Benutzer-, System- und Businessanforderungen ermittelt. Die aktuelle Situation im Unternehmen, beispielsweise hinsichtlich Fachpersonal, sowie Abhängigkeiten von Umsystemen oder Drittanbietern und diverse Ansprüche an Qualität und Sicherheit spielen dabei eine wichtige Rolle. Diese erste Analyse dient der Findung von Konventionen und dem Kennenlernen der Umgebung innerhalb des Projekts und wird in einer Dokumentation festgehalten. (Pohl & Rupp, 2009) In agilen Projekten ist es durchaus möglich, dass diese erste Spezifikation lediglich grob erfolgt und als Gerüst, ein sogenanntes walking skeleton, dient, an welches im Laufe der Entwicklung weitere Anforderungen angesetzt werden.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2: Haupttätigkeiten im Requirements Engineering

Das Requirements Engineering setzt sich aus vier Haupttätigkeiten zur Anforderungsanalyse zusammen ( Abbildung 2)

Die erste Tätigkeit umfasst dieErmittlungvon Anforderungen aus unterschiedlichen Quellen, wie beispielsweise den Stakeholdern, Dokumenten oder bereits existierenden, laufenden Systemen. Dabei kommen gewisse Ermittlungstechniken zutage, welche der Requirements Engineer auswählt. Diese dienen dem Zweck, bewusste und unbewusste Anforderungen der Stakeholder, Termin- und Budgetvorgaben, Verfügbarkeiten, sowie Chancen und Risiken des Projekts herauszufinden.

Die im ersten Prozessschritt des Requirements Engineering erarbeiteten Daten werden im nächsten Schritt in Form einerDokumentationder Anforderungen festgehalten. Dabei achtet der Requirements Engineer idealerweise darauf, die Anforderungen dem System angemessen zu beschreiben. Die Anforderungsdokumentation wirkt auf den späteren Entwicklungsprozess im Projekt und dessen Erfolg entscheidend. Sie dient als Basis der Entwicklung und als rechtliche Verbindlichkeit für Auftraggeber und -nehmer und sollte allen Beteiligten stets zur Verfügung stehen, damit diese den Überblick über das – meist komplexe – Gesamtprojekt behalten können.

Nach Ermittlung und Dokumentation erfolgen idealerweisePrüfung und Abstimmungmit Entwicklungsteam und Stakeholdern, um etwaige Unklarheiten aus dem Weg zu räumen und die bisher zugrundeliegende Dokumentation zu diskutieren. Dabei wird auf die Qualität der jeweiligen Anforderungen anhand vorher festgelegter Abnahmekriterien besonderes Augenmerk gelegt. Fehler, Unvollständigkeit oder Unstimmigkeiten können dadurch in der dokumentierten Anforderung erkannt und verbessert werden. Auch dabei können verschiedene Techniken zur Prüfung der Anforderungen eingesetzt werden, wie zum Beispiel Prototypen, Checklisten oder Reviews.

Zur Abstimmung werden Konflikte im Rahmen eines systematischen Konfliktmanagements identifiziert, analysiert, aufgelöst und dokumentiert, damit sich diese nicht wiederholen.

Danach erfolgt dasVerwaltender Anforderungen, um die während des gesamten Requirements-Engineering-Prozesses getroffenen Entscheidungen und gesammelten Informationen zu verarbeiten. Die Schritte des Anforderungsmanagements werden im nächsten Kapitel identifiziert. (Pohl & Rupp, 2009)

Diese Haupttätigkeiten resultieren gemeinsam in der Anforderungsanalyse, welche zusammen mit dem Verwalten dieser Anforderungen (Requirements Management) das Requirements Engineering bildet (Jochem & Landgraf, 2011)

[...]

Final del extracto de 14 páginas

Detalles

Título
Requirements Engineering. Bedeutung für agile Projekte und deren Qualität
Universidad
University of Applied Sciences Lübeck
Curso
Projekt- und Qualitätsmanagement
Calificación
1,0
Autor
Año
2019
Páginas
14
No. de catálogo
V456191
ISBN (Ebook)
9783668864481
ISBN (Libro)
9783668864498
Idioma
Alemán
Palabras clave
Requirements Engineering, Anforderungen, Anforderungsmanagement, Agil
Citar trabajo
Christine Mitsch (Autor), 2019, Requirements Engineering. Bedeutung für agile Projekte und deren Qualität, Múnich, GRIN Verlag, https://www.grin.com/document/456191

Comentarios

  • No hay comentarios todavía.
Leer eBook
Título: Requirements Engineering. Bedeutung für agile Projekte und deren Qualität



Cargar textos

Sus trabajos académicos / tesis:

- Publicación como eBook y libro impreso
- Honorarios altos para las ventas
- Totalmente gratuito y con ISBN
- Le llevará solo 5 minutos
- Cada trabajo encuentra lectores

Así es como funciona