Requirements Engineering

Ein sehr wichtiger Teil des Software Engineerings ist das Requirements Engineering (Konzeption von Anforderungen). Im klassischen Softwareentwicklungs-Vorgehensmodell wie dem Wasserfall oder V-Modell beschreibt dies die Phase von der Anforderung des Kunden zum Lastenheft.

In den letzten Jahren / Jahrzehnten ist die Bedeutung des Requirements Engineering stetig gewachsen, da viele Studien belegen, dass erfolgreiche Projekte in hohem Maße davon abhängen, die Anforderungen des Kunden zu verstehen. Studien belegen, dass etwa 60% der Fehler in Systementwicklungsprojekten bereits in dieser ersten Phase entstehen und natürlich auch vermieden werden können.

Es ist also kaum noch wegzudenken, wenn es darum geht, den Kunden zufriedenstellende Systeme zu entwickeln und dabei Budget- und Zeitpläne einzuhalten. Ziel ist es möglichst vollständige Kundenanforderungen in guter Qualität zu dokumentieren und dabei Herausforderungen frühzeitig zu erkennen, zu analysieren und zu meistern. Grundlage für ein erfolgreiches Requirements Engineering ist sowohl die Einbeziehung der richtigen Stakeholder als auch die Berücksichtigung folgender Haupttätigkeiten im Softwareentwicklungsprozess:

  • Ermitteln
  • Dokumentieren
  • Prüfen
  • Abstimmen
  • Verwalten

Dazu verwenden wir mehrere Techniken und Werkzeuge wie bspw.

  • Interviews
  • Brainstormings
  • Fragebögen
  • Prototypen
  • Use Cases
  • Ereignisgesteuerte Prozessketten (EPKs)
  • Confluence

um funktionale Anforderungen, Qualitätsanforderungen und Randbedingungen gemeinsam mit unserem Kunden zusammenzustellen.

Im Mittelpunkt des Geschehens stehen dabei unsere Requirements Engineers, die die primäre Anlaufstelle in dieser Phase sind und neben Fachwissen und Methodenwissen auch eine Vielzahl an Softskills (Analystisches Denken, Empathie, Kommunikationsfähigkeit, Konfliktlösungsfähigkeit, Moderationsfähigkeit, Selbstbewustsein und Überzeugungsfähigkeit) mitbringen.

In klassischen Projekten ,die auf dem Wasserfall-Modell oder ähnlichen beruhen, kann am Ende des Requirements Engineering ein Lastenheft, Prototypen und eine erste Aufwandsschätzung entstehen, die für eine Folgeprojekt verwendet werden können.

In agilen Softwareentwicklungsprojekten wird das Requirements Engineering zyklisch durchgeführt, um den Umfang von Epen, UserStories und Sprints zu ermitteln.

Weiterleiten