Anforderungsmanagement in agilen Projekten. Anforderungserhebung und Umsetzung im Rahmen der agilen Softwareentwicklung


Bachelorarbeit, 2020

47 Seiten, Note: 1.0


Leseprobe

Inhaltsverzeichnis

Abbildungsverzeichnis

1 Einleitung
1.1 Problemstellung
1.2 Forschungsvorhaben - Ziel der Arbeit
1.3 Aufbau und Konzept

2 Requirements-Engineering
2.1 Definition von Anforderung und Anforderungsmanagement
2.1.1 Anforderungsbegriff
2.1.2 Anforderungsmanagement
2.2 Ziele des Anforderungsmanagements (Anforderung)
2.3 ArtenvonAnforderungen
2.3.1 FunktionaleAnforderungen
2.3.2 Nicht-funktionale Anforderungen
2.3.2.1 Qualitätsanforderungen
2.3.2.2 Leistungsanforderungen
2.3.2.3 Restriktion/Rahmenbedingungen

3 Bedeutung für agile Projekte und deren Qualität
3.1 DasagileManifest
3.2 Individuen und Interaktionen vs. Prozesse und Werkzeuge
3.3 Funktionierende Software vs. umfassende Dokumentation
3.3.1 Auf veränderungen reagieren vs. Pläne befolgen
3.3.2 Zusammenarbeit mit Kunden vs. Vertragsverhandlungen
3.3.3 Agile Vorgehensweisen
3.3.4 Kanban
3.3.5 Scrum
3.3.5.1 Rollen
3.3.5.2 DieArtefakte
3.3.5.3 Ablauf eines Serum-Projekts
3.4 Was unterscheidet die agile Methode zu der klassischen „Wasserfall Methode“

4 Untersuchung der konzeptionellen Anforderungserhebung und Umsetzung im Rahmen derAgilen Softwareentwicklung einerAnwendung:
4.1 Wie ist der Umgang mit Anforderungen in der Theorie vorgeschrieben?
4.1.1 Ermittlung
4.1.2 Dokumentation
4.1.3 Prüfung und Abstimmung
4.1.4 Verwalten
4.2 Wie sieht die Umsetzung in der Praxis aus?
4.2.1 Dokumentation
4.2.1.1 Wissen verfällt und diffundiert
4.2.1.2 Detailtiefe und Verständnis fehlt / Verlust des Gesamtüberblicks
4.2.1.3 Missverständnisse entstehen und bleiben
4.2.1.4 Abweichende Informationen verteilen sich
4.3 Welche Probleme können neben dem schlechten Umgang mit Anforderungen noch entstehen?
4.3.1 Unklare Zielvorstellungen für das System
4.3.2 HoheKomplexität
4.3.2 Kommunikationsprobleme bzw. Sprachbarrieren zwischen den Projektbeteiligten
4.3.3 Sich ständig verändernde Ziele und Anforderungen
4.4 Probleme und Hindernissefürden Requirements Engineer
4.5 Welche Möglichen Lösungen können zurVerbesserung genutzt werden
4.5.1 Ziele identifizieren und kommunizieren
4.5.2 Betroffene und Beteiligte identifizieren
4.5.3 Modellierungstechniken einsetzen
4.5.4 Nicht-funktionale Anforderungen berücksichtigen
4.5.5 Nutzung verschiedenerTechniken

5 Fazit

6 Quellen

Abbildungsverzeichnis

Abbildung 1: Von der Idee bis zur Lösung

Abbildung 2: Traditionelle Klassifizierung von Anforderungen

Abbildung 3: Qualitätsmodell nach Din EN ISO 66272

Abbildung 4: Interne/Externe Rahmenbedingungen

Abbildung 5: Haupttätigkeiten im Requirements Engineering als interaktiver Prozess

Abbildung 6: Das agile Manifest - die Eckpfeiler agiler Projekte

Abbildung 7: Das Kanban-Board

Abbildung 8: Ablauf eines Serum-Projektes

Abbildung 9: Das Wasserfallmodel

Abbildung 10: Das Scrummodel

Abbildung 11: Prozessablaufim Requirements Engineering

Abbildung 12: Aufgaben des Anforderungsmanagements

Abbildung 13: Die Digitale Demen

Abbildung 14: Daran leidet die Systemanalyse am meisten!

1 Einleitung

1.1 Problemstellung

In vielen Situationen, im Privatleben sowie im Geschäftsleben, hat man es oftmals mit weniger guten Anforderungen zu tun.

Wenn man den BegriffAnforderungsmanagement bzw. Requirements-Engineering hört, stellt man sich sicherlich viele Fragen wie bspw. was ist ein Anforderungsmanagement, wofür wird es benötigt und wie kann dies zum Erfolg eines Projektes beitragen?

In einem funktionierenden Projekt zählen Anforderungen zu den wichtigsten Bestandteilen. Doch das Problem in der Praxis ist, dass Anforderungsmanagement nicht immer richtig umgesetzt und der konsequente Umgang mitAnforderungen häufig vernachlässigt wird. Dies kann möglicherweise zu einer Minderung der Qualität eines Produkts, sowie zu Frustration der Kunden und Entwicklern führen. Im schlimmsten Fall führt dies zum Scheitern des Projekts und stürzt das Unternehmen in den Ruin. Grund hierfü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 diesen Problemen entgegenzuwirken, kann das Anforderungsmanagement bzw. Requirements-Engineering helfen zu einem erfolgreichen Projekt zu führen. Zudem stellt sich die Frage, wie das Anforderungsmanagement am besten umgesetzt werden soll, damit das Projekt keinen Schaden erleidet.

Aufgrund des großen Aufwands konnten die entwickelte Software bis in die 1970er Jahre selten zufriedenstellende Ergebnisse für seine Benutzer aufweisen. Dieses Problem legte den Grundstein für Methoden des strukturierten Entwickelns bezüglich Designs und Analyse von Anforderungen. Infolgedessen wurde das Requirements Engineering eingeführt. Zum Ende der 80er Jahre folgten dann auch weitere objektorientierte Methoden. Das resultierende systematische Requirements Engineering bildete in der Softwareindustrie die Basis für weitere Anwendungsbereichewie in derAutomobilindustrie, den Banken oderdem Handwerk.

Weiterhin gelten neben fehlenden Ressourcen, Missverständnissen, Unklarheiten, die fehlende Einbeziehung der Kunden und Benutzer, die schlechte Planung und die damit verbundene vernachlässigte Anforderungsanalyse und Erhebung heute noch, obwohl sich der Begriff bereits in einigen Bereichen der Wirtschaft etablieren konnte, als Hauptursachen für das Scheitern von Projekten. Ob ein Projekt erfolgreich ist oder scheitert, entscheidet sich schon bereits in den frühen Phasen der Planung. Um zum Projekterfolg beitragen zu können muss der Umgang mit Anforderungen gefördert, optimiert und verbessert werden

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. Die Attraktivität zu agilen Methoden steigt immer weiter an, da gewisse Vorteile vorhanden sind, die das Risiko des Scheiterns eines Projektes minimieren und den Erfolg maximieren.

Zusammenfassend stellt sich, in Anbetracht aller genannten Probleme und Lösungen, die Frage, inwiefern das Anforderungsmanagement ein Projekt beeinträchtigen kann, wenn dieses nicht richtig umgesetzt wird.

1.2 Forschungsvorhaben - Ziel der Arbeit

Die folgende Bachelorarbeit setzt sich zum Ziel, die Wichtigkeit des Anforderungsmanagements aufzuzeigen, welche für den Erfolg eines Projektes beitragen kann, damit sich ein Unternehmen im Wettbewerb von der Konkurrenz abheben kann. Dabei werden die Vorteile des agilen Anforderungsmanagement und die Auswirkungen von Änderungen innerhalb eines Projektes analysiert. Des Weiteren wird die ökonomische Notwendigkeit für den Umgang von Informationen veranschaulicht und die Möglichkeit, schnell auf wechselnde Anforderungen zu reagieren, erarbeitet.

Hiermit setzt sich diese Arbeit zum Ziel folgende forschungsleitende Fragestellung zu beantworten:

1. Was sind die Auswirkungen bei der Umsetzung des Anforderungsmanagement in einem agilen Softwareentwicklungsprojekt?
2. Welche Möglichkeiten gibt es, Probleme, die bei der Umsetzung des Anforderungsmanagements entstehen können, zu lösen und sogarzu optimieren?

1.3 Aufbau und Konzept

Das zweite Kapitel befasst sich mit den Grundlagen und der Definition von Anforderungsmanagement. Dazu gehören die Arten von Anforderungen, deren Funktionen, Vorteile und Ziele. Für den Übergang ins dritte Kapitel wird die Bedeutung von Anforderungsmanagement in agilen Softwareentwicklungsprojekten definiert.

Im dritten Kapitel werden die agilen Vorgehensweisen im Detail vorgestellt. Dabei werden zunächst unter anderem die Kanban und Serum Vorgehensweisen, sowie die Untersuchung der konzeptionellen Anforderungserhebung und Umsetzung im Rahmen der agilen Softwareentwicklung einer Anwendung veranschaulicht. Hierbei werden die Abweichungen detailliert zwischen dem was in der Theorie vorgeschrieben ist und dem was tatsächlich in der Praxis geschieht, aufgezeigt. Daraufhin werden die Herausforderungen und Probleme, die während der Umsetzung des Anforderungsmanagement in einem agilen Projekt entstehen können, aufgezeigt. Abschließend wird aufgezeigt welche Lösungsansätze sich zur Behebung dieser Probleme darbieten.

2 Requirements-Engineering

2.1 Definition von Anforderung und Anforderungsmanagement

Der Begriff des Anforderungsmanagements bezeichnet ein Forschungsgebiet, das in den letzten Jahren in neueren Publikationen eine zunehmende Bedeutung erfahren hat. Trotz der mittlerweile großen Anzahl an Veröffentlichungen ist eine einheitliche terminologische Basis nicht sichtbar geworden.

Anforderungsmanagement ist vor allem dort von Bedeutung, wo komplexe Produkte bzw. Systeme konzipiert werden und sehr arbeitsteilig an deren Entwicklung gearbeitet wird.

2.1.1 Anforderungsbegriff

Literaturrecherchen fördern zutage, dass es keine allgemein anerkannte Definition davon gibt, was man unter dem Anforderungsbegriff versteht. Im Standard IEEE 610.12-19901 ist der BegriffAnforderung (engl, requirement) wie folgt definiert:

(1) Eine Bedingung oder Fähigkeit, die von einem Benutzer benötigt wird, um ein Problem zu lösen.
(2) Eine Bedingung oder Fähigkeit, die ein System oder eine Systemkomponente aufweisen muss, um einen Vertrag zu erfüllen oder einem Standard, einer Spezifikation, oder anderen formellen Dokumenten zu genügen.
(3) Eine dokumentierte Darstellung einer Bedingung oder Fähigkeit gemäß (1) oder (2).2

Sommerville und Sawyer3 definieren den Anforderungsbegriffwie folgt:

Anforderungen werden in den frühen Phasen einer Systementwicklung als eine Spezifikation dessen, was implementiert werden soll, definiert Sie sind Beschreibungen dessen, wie sich das System verhalten soll, Beschreibungen einer Systemeigenschaft oder Qualitätsmerkmale. Sie können eine Auflage im Entwicklungsprozess des Systems darstellen.

Anforderungen (Lastenheft) gem. V-Modell® XT4: „Das Produkt Anforderungen (Lastenheft) enthält alle an das zu entwickelnde System identifizierten Anforderungen. Es ist Grundlage für Ausschreibung und Vertragsgestaltung und damit wichtigste Vorgabe für die Angebotserstellung. Das Lastenheft ist Bestandteil des Vertrags zwischen Auftraggeber und Auftragnehmer. Mit den Anforderungen werden die Rahmenbedingungen für die Entwicklung festgelegt, die dann vom Auftragnehmer in der Gesamtspezifikation (Pflichtenheft) detailliert ausgestaltet werden.“

Von Rupp, Chris / SOPHIST GROUP5 stammt folgende Definition:

„Eine Anforderung ist eine Aussage über eine Eigenschaft oder Leistung eines Produktes, eines Prozesses oder der am Prozess beteiligten Personen.“

Die Synopse zeigt, dass der Begriff der Anforderung unterschiedlich weit gefasst wird und unterschiedliche Aspekte in den Vordergrund gestellt werden.

In vielen Definitionen fällt auf, dass auf die Wünsche und Ziele der Benutzer an erster Stelle eingegangen wird, bevor die Bedingungen und Fähigkeiten des Systems im zweiten Absatz behandelt werden. Die gewählte Reihenfolge lässt sich dahingehend interpretieren, dass der Erarbeitung kundenorientierter Lösungen ein hoher Stellenwert beigemessen wird. Ferner fällt auf, dass die Definition zwischen nicht dokumentierten und dokumentierten Anforderungen differenziert. Die systematische Transformation von undokumentierten Anforderungen der Stakeholder in Anforderungsspezifikationen stellt, eine Hauptaktivität im Anforderungsmanagementprozess dar.

Balzert6 stellt in seiner Definition auf die qualitativen und die quantitativen Eigenschaften eines Produktes aus Sicht der Rolle des Auftraggebers ab. Seine Definition zielt auf die Überprüfbarkeit der Anforderungen bezüglich der Erfüllung im Hinblick auf die spätere Produkt-Abnahme.

In der Norm DIN EN ISO 90007 ist der Anforderungsbegriff sehr allgemein definiert. Sie fasst den Anforderungsbegriff am weitesten, nach dieser Definition müssen Anforderungen nicht notwendigerweise explizit formuliert sein.

Die Definitionen von Grady Booch8 sowie von Sommerville und Sawyer (vgl. [SoSa97]) stellen das zu implementierende System in den Vordergrund. Sommerville und Sawyer nehmen explizit eine Einschränkung auf die frühen Phasen einer Systementwicklung vor. Die Definition von Grady Booch wurde im Kontext des RUP formuliert. Der RUP ist ein schwergewichtigerer Softwareentwicklungsprozess. Im RUP wird ebenfalls versucht, den Großteil der Anforderungen möglichst früh festzuschreiben. Sommerville und Sawyer weiten den Begriff derAnforderung explizit aufden Entwicklungsprozess aus.

Die Definition von Rupp, Chris / SOPHIST GROUP9 bezieht den Entwicklungsprozess ebenfalls ein und darüber hinaus die nachgelagerten Prozesse wie Wartung und Support. Rupp, Chris / SOPHIST GROUP betont, dass ein Produkt und nicht nur ein System als Endergebnis einer Entwicklung erbracht werden muss. „Der Begriff .Produkt' in der Definition meint jedoch mehr als nur .System', umfasst Software und Hardware und zum Beispiel auch Abnahmekriterien, Handbücher, Protokolle, Planungsdokumente und so weiter.“

Versteegen10 hat darauf hingewiesen, dass sich Anforderungen verändern können und definierte die Umgestaltung als „modifizierten Anforderungswunsch“. (Neue) Anforderungen entstehen während des gesamten Lebenszyklus eines Systems. Als Ursachen für die Änderung von Anforderungen können beispielsweise angeführt werden:

- Fehler im Betrieb
- Kontextänderungen (Wandel in den Nutzungswünschen der Stakeholder, Gesetzes Änderungen, neue Technologien oder zusätzliche Konkurrenzprodukte).

2.1.2 Anforderungsmanagement

Wie eben festgestellt, sind Anforderungen grundsätzlich nicht stabil und ändern sich.

Versteegen11 schreibt, dass Änderungen auf Zuruf zwar für den Kunden recht nett sein mögen und auch eine scheinbare Flexibilität Vortäuschen, jedoch aber in höchstem Maße unprofessionell seien. Seine Aussage gewinnt besondere Bedeutung, wenn die Anzahl der Stakeholder groß und das Unternehmen sehr arbeitsteilig organisiert ist.

„Das Anforderungsmanagement dient dazu, diese unvermeidlichen Änderungen von Anforderungen im Vorfeld zu erkennen, zu planen und zu steuern, sowie ihre Auswirkungen lokal zu halten.“12

Grady Booch definiert Anforderungsmanagement im Rahmen des Rational Unified Process (RUP) wie folgt:

- Das Entdecken, Organisieren und Dokumentieren der vom System geforderten Funktionalität und Zusammenhänge.
- Das Einschätzen der Änderungen dieser Anforderungen und das Einschätzen ihrer Auswirkungen.
- Das Verfolgen und Dokumentieren der vorgenommenen Änderungen und der Entscheidungen13

Definition nach Kruchten:

Anforderungsmanagement ist ein systematischer Ansatz des Ermittelns, Verhaltens, Kommunizierens und des Managens der Änderungsanforderungen eines softwareintensiven Systems oder einer Anwendung14

Von Leffingwell und Widrig stammt die Definition:

Anforderungsmanagement ist ein systematischer Ansatz, die Erfordernisse des Systems zu ermitteln, zu verwalten und zu dokumentieren, sowie ein Prozess, der die Vereinbarung zwischen dem Kunden und dem Projektteam über die sich ändern.15

Bezüglich des Ermittelns, Verwalten und Dokumentieren von Anforderungen sind sich die obengenannten Definitionen sehr ähnlich. Grady Booch nannte in seiner Definition explizit das Einschätzen von Änderungen und das Einschätzen ihrer Auswirkungen. In der Praxis ist dieser Aspekt des Anforderungsmanagements von großer Bedeutung. Aufgrund des zunehmenden Verknüpfungsgrades von Systemen oder Systemkomponenten können scheinbar harmlose Änderungen beträchtliche Auswirkungen haben, wenn diese vernachlässigt werden.

Schnittstellen des Anforderungsmanagements sind das Projekt- und das Qualitätsmanagement.

2.2 Ziele des Anforderungsmanagements (Anforderung)

Anmerkung der Redaktion: Abbildung 1 wurde aus urheberrechtlichen Gründen entfernt.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: Von der Idee bis zur Lösung

Anforderungen dienen allen am Systementwicklungsprozess Beteiligten als Kommunikations- , Diskussions- und Argumentationsgrundlage. Ihre Aufgabe ist es, das gemeinsame Verständnis und Wissen der Teammitglieder widerzuspiegeln und zu explizieren, erst dann können Sie gemeinsam mit den Wissensträgern darüber diskutieren.

Anforderungen dienen als Grundlage für:

Kommunikation, Ermittlung von Rationalisierungspotenzialen, Optimierung des Kundennutzens, Systemarchitektur, Systemintegration und Wartung, Fehlerbehebung und Weiterentwicklung und Erhöhung der Mitarbeiterzufriedenheit.16 Zu den Zielen des Anforderungsmanagements zählen:

- Vorgaben für kundenorientierte/marktgerechte/passgenaue Lösungen;
- Steigerung der Qualität der fachlichen Anforderungen, ggf. Vertragsgrundlage;
- schneller Abstimmungsprozess zwischen Auftraggeber und Auftragnehmer durch klar definierte Prozesse;
- EffektivitätundTransparenz;
- Wirtschaftlichkeit und Effizienz;
- Optimierung der Wettbewerbsdimensionen Zeit, Qualität und Kosten;
- Wissenserhaltung;
- kontinuierliche Verständigung durch Kommunikation;
- Aufrechterhaltung von Entscheidungen bei unveränderten Rahmenbedingungen;
- Mitarbeiterzufriedenheit.

„Wesentliche Aufgabe und Zielsetzung des Anforderungsmanagements ist es, die aus diesen Aufgabenstellungen resultierenden Anforderungen an das System zu spezifizieren und an Veränderungen des Anwendungsbereichs anzupassen.17

Dazu muss in erster Linie die Aufgaben-/ Problemstellung genau bekannt sein, damit eine geeignete Lösung entwickelt werden kann. Entscheidend ist, in welchem Maße die Kundenanforderungen erfüllt werden (nähere Ausführungen hierzu finden sich im Hauptkapitel). Die Auswirkungen der Lösungsmöglichkeiten müssen genauestens analysiert werden, um die richtigen Entscheidungen treffen zu können. Ungewollte Seiteneffekte sind zu verhindern, Inkonsistenzen aufzulösen, Aufwandstreiber nach Möglichkeitzu eliminieren.

Zwischen allen Beteiligten (im Wesentlichen Auftraggeber und Auftragnehmer) muss ein einheitliches Verständnis über das zu entwickelnde System herbeigeführt werden. Mögliche Interessenskonflikte gilt es frühzeitig zu erkennen und aufzulösen. Getroffene Vereinbarungen müssen dokumentiert und sollten danach grundsätzlich nicht mehr in Frage gestellt werden.

Nachdem die Anforderungen an das System idealerweise nach vorgegebenen Qualitätskriterien spezifiziert sind, muss deren Umsetzung zielgerichtet gesteuert und nachgehalten werden. Die Anforderungen müssen dazu koordiniert an die zuständigen Verantwortlichkeiten adressiert werden. Das erfordert verbindliche, klar definierte (messbare) an der Unternehmensstrategie ausgerichtete Prozesse an Stelle informeller Strukturen auf Basis persönlicher Beziehungen.

Das ökonomische Ziel der Wirtschaftlichkeit kann nur durch planvolles Vorgehen im Umsetzungsprozess erreicht werden. Hierzu bedarf es einer konsequenten und klaren Prioritätensetzung unter Einbeziehung der relevanten Stakeholder.

2.2 Arten von Anforderungen

Durch das Anforderungsmanagement soll die Frage beantwortet werden, was genau in welcher Qualität entwickelt werden soll. Hierfür existieren unterschiedliche Ansätze zur Klassifikation von Anforderungen. Am verbreitetsten ist die Unterteilung in funktionale und nichtfunktionale Anforderungen.

Anmerkung der Redaktion: Abbildung 2 wurde aus urheberrechtlichen Gründen entfernt.

Abbildung 2: Traditionelle Klassifizierung von Anforderungen

2.3.1 Funktionale Anforderungen

Eine funktionale Anforderung legt fest, welche Aufgabe das Produkt hat.

Beispiel: „Das Produkt soll den Saldo eines Kontos zu einem Stichtag berechnen.“

Funktionale Anforderungen können aus einem fachlichen Umfeld und aus einer fachlichen Motivation entstehen, und spezifizieren die Funktionen und das Verhalten des geplanten bzw. gewünschten Systems. Klassisch werden drei Perspektiven unterschieden: Funktionssicht, Datensicht und Prozesssicht. Diese beschreiben die Vorgänge in einem Softwaresystem im Detail.

- Funktionssicht:

Die Funktionssicht beschreibt die Transformation der Daten von der Eingabe über die maschinelle Informationsverarbeitung bis zur Datenausgabe.

- Verhaltenssicht:

Die Verhaltenssicht beschreibt die Systemabläufe. Hier wird definiert, welche Aktionen, welche Systemreaktionen auslösen. Hierzu zählen z.B. Zustände und (erlaubte) Zustandsübergänge.

- Datensicht:

Die Datensicht ist die inhaltliche Ausgestaltung der Informationsobjekte sowie die Beziehungen zwischen den Informationsobjekten (Struktur).

Die funktionalen Anforderungen haben in der Regel die größte Aufmerksamkeit im Softwareentwicklungsprozess. Sie sind einfacher zu definieren als Qualitätsanforderungen. Ein Softwareentwicklungsprozess, der dem Entwicklerteam viel Freiraum für Kreativität ermöglicht, eröffnet einerseits Chancen, indem zusätzliche Features als Begeisterungsfaktoren zu dem Kunden angeboten werden können, andererseits besteht aber auch die Gefahr, dass hier Schaden durch eine falsche Prioritätensetzung oder durch „Function- Overhead“ entsteht.

Optionen sind genau zu hinterfragen. Die Entscheidungen sollten in jedem Fall bewusst vor dem Hintergrund getroffen werden, ob freie Kapazitäten z.B. sinnvoller für andere wichtigere Anforderungen (noch nicht realisierte aber spezifizierte funktionale Anforderungen oder Qualitätsanforderungen, wie z.B. Maßnahmen, die die Wartbarkeit verbessern) zu nutzen sind. Im Entscheidungsprozess ist es zu prüfen, wie stark die zusätzlichen Funktionen voraussichtlich genutzt werden, welchen Wartungsaufwand sie ggf. neben den zusätzlichen Entwicklungskosten erzeugen und wie sie die übrigen Funktionen beeinflussen.

Funktionale Anforderungen befassen sich mit den folgenden Kernfragen:

- Wie werden welche Daten oder Materialien verarbeitet?
- Wie ist der Ablauf der Verarbeitung (wann passiert was)?
- Wann werden welche Daten oder Materialien mit anderen Systemen ausgetauscht?
- Wie werden Daten oder Materialien ein- oder ausgegeben?
- Welche Ergebnisse werden bei welchen Eingaben (Daten oder Materialien) erwartet?

2.3.2 Nicht-funktionale Anforderungen

Nicht-funktionale Anforderungen sind Anforderungen, die z.B. besondere Qualitätsanforderungen, Leistungsanforderungen oder Restriktionen /Rahmenbedingungen beschreiben. Nicht-funktionale Anforderungen beschreiben die Art und Weise der Umsetzung der geforderten Funktionalität. Der Erfüllungsgrad der meisten nicht-funktionalen Anforderungen istgrundsätzlich schwerzu messen.

Diese Anforderungen müssen operationalisiert werden. Nur so kann die Entstehung eines Interpretationsspielraum vermieden werden. Die nicht-funktionalen Anforderungen werden im Ergebnis konkretisiert. Leistungsanforderungen werden dazu quantitativ mit entsprechenden Werten als Vorgaben definiert. Die Erfüllung einer nicht-funktionalen Anforderung kann nicht immer direkt gemessen werden. Die Operationalisierung kann in diesen Fällen mittels geeigneter indirekter Indikatoren erfolgen. Nicht-funktionale Anforderungen haben zum Teil erheblichen Einfluss auf die Systementwicklung und spielen damit eine gewichtige Rolle im Anforderungsmanagementprozess.

2.3.2.1 Qualitätsanforderungen

Qualitätsanforderungen definieren qualitative Eigenschaften. Sie können sich auf einzelne funktionale Anforderungen oder auch auf das gesamte System beziehen. Im Allgemeinen beziehen sie sich jedoch nicht auf Prozesse oder Personen. Als Qualitätskriterien lassen sich die in der Norm DIN EN IS066272 definierten Qualitätsmerkmale und auch deren Teilmerkmale anwenden.

Anmerkung der Redaktion: Abbildung 3 wurde aus urheberrechtlichen Gründen entfernt.

Abbildung 3: Qualitätsmodell nach Din EN ISO 66272

2.3.2.2 Leistungsanforderungen

Leistungsanforderungen beziehen sich auf die geforderten Leistungsmerkmale. Sie definieren zeitliche Schranken und skizzieren erwartete Mengengerüste. Wichtige Aspekte sind z.B. das geforderte Antwortzeitverhalten, das erwartete Datenvolumen oder die Anzahl der Benutzer, die voraussichtlich gleichzeitig mit dem System arbeiten werden. Leistungsanforderungen beeinflussen die System-Architektur maßgeblich. Zugleich haben diese Anforderungen großen Einfluss auf die Kundenzufriedenheit, da die Benutzer die Qualität eines Systems u.a. nach derwahrgenommenen Performanz beurteilen.

[...]


1 IEEE 610.12-1990,

2 Vgl. [EmestWallmüller S.125.],

3 Vgl. [Emest Wallmüller S.125.],

4 KBSt07, S.71

5 Chris Rupp, SOPHIST GROUP S. 158-160

6 vgl. [Balz96])

7 vgl. [Norm DIN06])

8 vgl. [KrBo99])

9 vgl. [Rupp07])

10 vgl. [Ver03, S. 5])

11 vgl. [Ver+03, S. 5])

12 Vgl. [Schi01, S. 21]

13 Vgl. KrBo99, S. 142]

14 Vgl. [Kruc03, S. 25], Übersetzung des Autors)

15 Vgl. [LeWi99, S. 16], Übersetzung des Autors)

16 Vgl. (Sophist2014, S16)

17 Vgl. Schi01, S. 18]

Ende der Leseprobe aus 47 Seiten

Details

Titel
Anforderungsmanagement in agilen Projekten. Anforderungserhebung und Umsetzung im Rahmen der agilen Softwareentwicklung
Hochschule
Hochschule RheinMain
Note
1.0
Autor
Jahr
2020
Seiten
47
Katalognummer
V977544
ISBN (eBook)
9783346340702
ISBN (Buch)
9783346340719
Sprache
Deutsch
Schlagworte
Requirementsengineering, Anforderungsmanagement, Projektmanagement, Agil
Arbeit zitieren
Ahmed Rajouani (Autor:in), 2020, Anforderungsmanagement in agilen Projekten. Anforderungserhebung und Umsetzung im Rahmen der agilen Softwareentwicklung, München, GRIN Verlag, https://www.grin.com/document/977544

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: Anforderungsmanagement in agilen Projekten. Anforderungserhebung und Umsetzung im Rahmen der agilen Softwareentwicklung



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden