Anforderungsentwicklung

Seit einiger Zeit befassen wir uns mit dem Thema Anforderungsmanagement (siehe hier: https://brain365.de/anforderungsmanagement/).

Ein zentraler Teil des Anforderungsmanagements ist selbstverständlich die Anforderungsentwicklung. Anforderungen die unterschiedlich interpretiert werden können und somit nicht zur Generierung eines gemeinsamen Verständnisses über die von potentiellen Nutzern erwarteten funktionalen Anforderungen und nicht-funktionalen Anforderungen, sowie von Domänenanforderungen führen tragen höchstens zur Verwirrung bei.

Zu vermeiden sind letztendlich Zustände, die wie folgt karikiert werden können und leider oftmals ziemlich genau den Zustand in der Praxis treffen:

Daher gibt es klar zu formulierende Ansprüche an die Qualität von Anforderungen.

Anforderungseigenschaften

  1. Messbarkeit
    ist die Fähigkeit nachzuweisen, dass das Softwareprodukt die Anforderungen erfüllt, durch Vorgabe von Kennzahlen, bzw. quantitativen Zielgrößen (Metriken).
     
  2. Vollständigkeit
    Einhaltung von Richtlinien zur Definition von Anforderungsaussagen, denn unvollständige Anforderungen führen zu einem unvollständigen Softwareprodukt.
     
  3. Korrektheit
    Die beteiligten Parteien (z. B. Stakeholder und Requirements Engineers) haben das gleiche Verständnis davon, was mit der Anforderung gemeint ist.
     
  4. Konsistenz
    Widersprüchliche Anforderungen verschiedener Beteiligter müssen zusammengeführt werden zu konsistenten, in sich geschlossenen Anforderungen, z.B. durch Verhandlung oder Priorisierung.
     
  5. Unzweideutigkeit
    Die in den Anforderungsaussagen verwendeten Begriffe müssen für Ersteller und Nutzer dasselbe bedeuten und Anforderungen sollten sich an einzelne Begriffe halten, die in einem Glossar definiert sind. Das heißt die Anforderungen dürfen sich nicht widersprechen.
     
  6. Angemessenheit
    Die Anforderungen müssen für die Bedürfnisse der Beteiligten relevant sein, ohne den Entwickler unnötig einzuschränken.
     
  7. Machbarkeit
    Eine Anforderung muss mit den verfügbaren Ressourcen wie Budget und Zeitplan in Software umgesetzt werden können.
     
  8. Rückverfolgbarkeit
    Anforderungen ändern und entwickeln sich im Laufe der Zeit; die Verfolgung einer Anforderung bis zu ihrer Umsetzung in ein Software-Artefakt kann dabei helfen, die Auswirkungen auf andere Software Artefakte zu bestimmen und zu bestimmen, wie die Änderungen auf andere Artefakte übertragen werden sollten.
     
  9. Nachvollziehbarkeit
    Eine qualitativ hochwertige Anforderung muss in verständlicher natürlicher Sprache formuliert werden.
     
  10. Modifizierbarkeit
    Anforderungen können angepasst werden, z.B. durch passende Textverarbeitungsmethoden oder objektorientierte Techniken.

Prozess der Anforderungsentwicklung

Anforderungsentwicklung ist eine interdisziplinäre Funktion, d.h. ein Schlüsselprozess und Bindeglied, mit dem zwischen den Anwendungsbereichen (Domains) des Auftraggebers und des Anbieters vermittelt wird, um die Anforderungen zu erfülle die es an das System, die Software oder den gewünschten Service gibt.

Dir Anforderungsentwicklung befasst sich mit dem

  • Entdecken, Erheben,
  • Entwickeln, Analysieren,
  • Verifizieren, Validieren,
  • Kommunizieren, Dokumentieren und
  • das Management

von Anforderungen.

Die Anforderungen an ein System sind die Beschreibungen der Leistungen, die ein System erbringen soll, und der Einschränkungen für seinen Betrieb. […]

Der Prozess des

  • Herausfindens,
  • Analysierens,
  • Dokumentierens und
  • Überprüfens

dieser Dienste und Einschränkungen wird als global als Requirements Engineering (RE) bezeichnet.

Hauptaktivitäten der Anforderungsentwicklung:

  1. Anforderungsermittlung (requirements elicitation)
    • Scoping (Problemumfang) des Problems
    • Bedürfnisse entdecken
    • Weitere Spezifikationen erkunden
  2. Spezifikation der Anforderungen (requirements specification)
    • Modellierungstechnik auswählen
    • Modell konstruieren
    • Spezifikation niederschreiben
  3. Validierung und Verifizierung von Anforderungen (requirements validation & verification)
    • Sind die Anforderungen angemessen?
    • Erfüllt die Spezifikation die Bedürfnisse der Beteiligten?
    • Wird die geplante Anwendung die Anforderungen erfüllen?
  4. Evolution / Weiterentwicklung von Anforderungen (requirements evolution)
    • Verwalten von Anforderungsänderungen
    • Wiederverwendung von Anforderungen


 

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert