Revision [6658]

This is an old revision of AnforderungsSpezifikation made by ToBo on 2008-11-29 23:28:48.

 

Anforderungserhebung und -management


1. Grundlagen


Anforderung: engl. Requirement
  • Eine Anforderung an ein Produkt ist die eindeutige, verständliche und präzise Formulierung einer eindeutig identifizierbaren, nachprüfbaren, rück- und vorwärtsverfolgbaren und atomaren Eigenschaft des Produkts.
  • Eine Liste von Anforderungen ist vollständig, einheitlich dokumentiert und konsistent.

Siehe dazu auch die Definitionen in Sophist2007, S. 13

Was sich hinter den Eigenschaften der Andorderung und der Liste von Anforderungen verbirgt, wird unter Wikipedia:Anforderungserhebung:Sammeln und Analysieren genau erklärt.

Weitere Begriffe:


2. Anforderungserhebung


2.1Definition


Die Anforderungserhebung besteht aus der Anforderungsanalyse, Anforderungsklassifikation, Anforderungspriorisierung und Anforderungsspezifikation.

Siehe auch AnforderungsErmittlung Anforderungsermittlung aus SkriptHopf2008


2.2Anforderungsanalyse


Als Voraussetzung für eine Anforderungsanalyse müssen die Stakeholder bekannt sein und bestenfalls nach Priorität sortiert vorliegen.
Die Interessen aller Stakeholder an einem Produkt und alle Randbedingungen (Normen, Standards, Bestimmungen) müssen erfasst und als Anforderungen formuliert werden.

Zu berücksichtigen ist
  • Wie wichtig sind die Stakeholder, die diese Anforderung stellen?
  • Jeder Stakeholder wird befragt, aber die Priorität sollte berücksichtigt werden
  • Fragestellungen und Vorgehensmodelle der Usability Gebrauchstauglichkeit (Usability) sind hier genau richtig.


2.3Anforderungsklassifikation


RequirementClassification Klassifikation von Anforderungen (darf hier nicht öffentlich gemacht werden)

Siehe dazu das VolereTemplate13, S. 4


2.4Anforderungspriorisierung


Möglicherweise, es ist sogar sehr wahrscheinlich, werden nicht alle Anforderungen als Eigenschaften des Produkts umgesetzt. Empfehlenswert ist es jedoch, dass die wichtigsten Anforderungen umgesetzt werden. Es lohnt sich die Anforderungen zu priorisieren um Vorweg die Prioritäten bei der Umsetzung festzulegen.

Hierzu können die folgenden Fragen bereits bei der Anforderungsanalyse helfen:
  • Wie hoch ist Enttäuschung des/der betreffenden Stakeholder Stakeholder(s), wenn die Anforderung nicht umgesetzt wird?
    • Unmöglich, Produkt dadurch unbrauchbar
    • Große Unzufriedenheit, es sollte kein weiteren Vorfall diese Art geben
    • Große Unzufriedenheit, unter den Umständen wird es toleriert
    • Es wird akzeptiert
  • Wie hoch ist Zufriedenheit des/der betreffenden Stakeholder Stakeholder(s), wenn die Anforderung umgesetzt wird?
    • Das ist egal, dann sollte es ggf. raus.
    • Das ist ok, es war klar, dass das umgesetzt werden muss.
    • Das ist eine beachtliche Leistung? Der Stake holder schätzt diese Anforderung sehr.
  • (Advanced: Wie viele kritische Anforderungen können bereits nicht umgesetzt werden?)

Wie aus den Antworten auf die Fragen eine Priorität wird, kann gut intuitiv festgelegt werden oder für ganz genaue Anforderungsmanager ein Fuzzy-Logic-System zum Ermitteln der Priorität aus den Antworten herangezogen werden. :-)

Mögliche Verfahren zum Ermitteln von Prioritätsstufen:

2.5Anforderungsspezifikation

  • Die Anforderungsspezifikation ist eine Liste von Anforderungen an ein Produkt
  • Die Anforderungen müssen präzise nach vorher definierten Vorgaben formuliert werden. Dazu passend: Formulierung von Anforderungen (Sophist2007, S. 234), Qualitätskriterien von Anforderungen (Sophist2007, S. 28) und Wikipedia
  • Ein projektspezifisches Glossar hilft eine einheitliche Sprache zu etablieren. Es sollte gleich am Anfang erstellt werden.
  • Die Anforderungsliste muss den Entwickler in die Lage versetzen, Teile des Produkts umzusetzen, so wie es die StakeHolder Stakeholder tatsächlich benötigten (nicht so wie es StakeHolder Stakeholder formulieren - eine wahrhaftig schwere Aufgabe).
  • Idealerweise befähigt eine Anforderungsspezifikation den Stakeholder zur selbständigen Validierung der Anforderungen

So werden Anforderungen Formuliert: Wikipedia:Anforderungserhebung:Sammeln und Analysieren
  • Standards und Normen bieten eine Vorlage für weitere Anforderungen an ein Produkt und müssen berücksichtigt werden
  • Bereits eingesetzte Technologie (z.B. der Kunde hat schon alle Systeme in C++ entwickelt bekommen und hat selbst Experten, die kleine Anpassungen machen können, stellt eine Anforderung an das System)

Beispiele für eine Anforderungsspezifikation (also eine Liste von Anforderungen) sind

3. Anforderungsmanagment


Die Liste mit Anforderungen, egal welcher Art, muss während der Projektlaufzeit gepflegt werden, was ggf. in sehr großen Projekten eines Anforderungsmanagement (siehe weiter unten) oder auch RequirementsEngineering Requirements Engineering bedarf.

Das Anforderungsmanagment ist eine Tätigkeit, die sich über die gesamte Projektlaufzeit zieht und eigentlich vor dem Projektstart beginnt, wenn der erste Kontakt zu dem Stakeholder Stakeholdern aufgenommen wird.

Anforderungen ändern sich während der Projektlaufzeit - das ist ein Naturgesetz. Die Liste der Anforderungen sollten deshalb stets aktualisiert werden. Das geschieht idem man in Kontakt mit den Stakeholder Stakeholdern bleibt und dabei in regelmäßigen Abständen über Status der Umsetzung der Anforderungen berichtet, die Ergebnisse möglichst vorführt und dabei die neuen Anforderungen aufnimmt, die geänderten korrigiert, die unwichtigen herausnimmt und stets die gesamte Liste der Anforderungen neu priorisiert.

Aber! Das Einfrieren eine Anforderungsliste, während der Entwicklungsphasen ist jedoch von großer Bedeutung. Dabei werden Änderungen der Anforderungen aufgenommen, die Entwicklung läuft jedoch mit der alten Anforderungsliste weiter. Erst ab einer neuen Entwicklungsphase wird die neue Liste der Anforderungen an die Entwicklung gegeben. Wie sie Entwicklungsphasen definieren ist eine andere Philosophie. Siehe dazu als Beispiel die Sprints in Scrum.

Das Anforderungsmanagment umfasst:
  • das Kommunizieren mit den Stakeholdern
  • das Erfassen neuer Anforderungen
  • das Erfassen von Änderungen der Anforderungen
  • die Priorisierung neuen und alten Anforderungen
  • die Pflege der Anforderungsliste
  • das Validieren von Anforderungen
  • das Kommunizieren von Änderungen

Definition in Wikipedia:Anforderungsmanagement


4. Empfehlungen für Anforderungserhebung und -management


Es gibt viele Arten und Empfehlungen für Anforderungserhebung und -management, wie man die Liste von Anforderungen verwalten kann. Fakt ist: Meistens wird oft viel weniger Aufwand hinter der Anforderungsermittlung, -spezifikation und -pflege vermutet, als tatsächlich zur Umsetzung und zum Erfolg des Produkts benötigt wird.

Einige Beispiele zum Thema Anforderungserhebung und -management sind:


CategoryStudiumSE
Siehe auch
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki