REQUIREMENTS ENGINEERING

ERMITTLUNG VON ANFORDERUNGEN IN PROJEKTEN

Das Requirements Engineering ist eine Disziplin, die in IT-Projekten immer mehr die wohl verdiente Wertschätzung erfährt. Denn in immer mehr Projekten ist auch explizit die Rolle des Requirements Engineers vorgesehen. Das mag damit zusammenhängen, dass heutige Projekte vergleichsweise komplex sind, da zum einen die Kundenanforderungen mit der zunehmenden Technologisierung des Alltags gewachsen sind. 

Und zum anderen werden im Zuge der Digitalisierung auch die Fachabteilungen maßgeblich in IT-Projekte eingebunden. Was genau macht eigentlich ein Requirements Engineer und was macht diese Rolle so wichtig für den Projekterfolg?

Anzeige

Der Requirements Engineer ist eine Art Vermittler zwischen dem Entwicklungsteam und den Stakeholdern. Zu den Kernaktivitäten gehören das Ermitteln, Prüfen, Abstimmen, Verwalten und Dokumentieren von Anforderungen.Die Aktivitäten  unterliegen keiner festgelegten Abfolge, sondern werden projektbegleitend und kontinuierlich durchgeführt. Das Hauptziel ist ein Software- Produkt, das alle erfolgskritischen Anforderungen erfüllt und zugleich den vorgeschriebenen Rahmenbedingungen wie etwa gesetzlichen, regulatorischen und korporativen Vorgaben entspricht.

In diesem Artikel liegt der Fokus auf dem Ermitteln von Anforderungen. Zunächst werden hierzu die ersten Schritte kurz dargestellt und verschiedene Anforderungsartenunterschieden. Daran anschließend werde  typische Techniken zur Anforderungsermittlung vorgestellt und erläutert.

Die ersten Schritte zur Ermittlung von Anforderungen

Obwohl die oben genannten Kernaktivitäten keiner festen Abfolge unterliegen, steht das Ermitteln von Anforderungen tatsächlich an erster Stelle. Hier werden die funktionalen Anforderungen, die Qualitätsanforderungen und die Randbedingungen für das zu entwickelnde System erhoben. Das System, für das die Anforderungen erhoben werden, muss sich später in die Realität eingliedern, daher ist zunächst die Umgebung des Systems zu analysieren, um die nötigen Quellen für Anforderungen an das System zu definieren. Aus den Quellen werden dann die entsprechenden Anforderungen durch den Einsatz von Techniken identifiziert. Um eine strukturierte Anforderungsermittlung zu gewährleisten, muss der Requirements Engineer die folgenden vierSchritte der Reihe nach  durchführen:

1. Systemkontext bestimmen

Hier wird analysiert, welche Stakeholder und welche anderen Systeme in direkter Abhängigkeit mit dem zu erstellenden System stehen, um eine Idee über die konkreten, relevanten Quellen für Anforderungen zu bekommen.

2. Quellen für Anforderungen identifizieren

Typische Quellen sind Stakeholder, Dokumente (beispielsweise Gesetze und Richtlinien) sowie andere Systeme (beispielsweise abzulösende Altsysteme oder Konkurrenzsysteme).

3. Geeignete Ermittlungstechniken bestimmen

Je nach Anforderungsquelle, Anforderungsart und Projektsituation müssen geeignete Ermittlungstechniken ausgewählt werden (beispielsweise Beobachtungstechnik, Befragungstechnik, Erstellenvon GUI-Prototypen).

4. Anforderungen ermitteln

Erst jetzt können die Anforderungen unter Einsatz der im Schritt zuvor bestimmten Techniken in dem für die aktuelle Projektsituation erforderlichen Detailgrad bestimmt werden.

Verschiedene Anforderungsarten

Unter dem Begriff „Anforderung“ wird im Requirements Engineering jede geforderte Funktion und Eigenschaft eines IT-Systems zusammengefasst, die für den Projekterfolgnotwendig oder von den Stakeholdern gewünscht ist. Im Folgenden werden drei Arten der Anforderung unterschieden:

Die funktionalen Anforderungen legen die vom System bereitzustellenden Funktionen fest. Dazu gehört beispielsweise das Anzeigen des Warenbestands, die Berechnung der Laufzeit oder der Versand einer Bestellung per E-Mail. Die Qualitätseigenschaften definieren die qualitativen Eigenschaften des Systems. Hier werden keine zusätzlichen Funktionen festgelegt, sondern bereits bekannte und beschriebene Funktionen um qualitative und quantitative Eigenschaften erweitert. Beispiele hierfür sind eine Reaktionsgeschwindigkeit des Systems von weniger als einer Sekunde, die Unterstützung von 1.000 Bestellvorgängen pro Sekunde oder die verschlüsselte Speicherung von personenbezogenen Daten.

Als Randbedingungen werden technische oder organisatorische Vorgaben kategorisiert. Als Beispiele können hierfür genannt werden: firmeninterne Vorgaben und Richtlinien wie ein Corporate Styleguide oder die Vorgabe eines technischen Rahmens wie die zu nutzende Programmiersprache, aber auch regulatorische Vorschriften von Behörden.

Bei der Ermittlung von Anforderungen kann der Requirements Engineer mit einigen Herausforderungen konfrontiert werden. Hier eine Auswahl:

  • Die Stakeholder und das Entwicklungsteam befinden sich in aller Regel – nicht – auf demselben technischen Nenner. Durch die heutige Innovationsrate im IT-Bereich wird diese Kluft tendenziell größer als kleiner. Dementsprechend haben Stakeholder ein relativ unscharfes Bild davon, was überhaupt technisch realisierbar ist und was nicht. Daher steht der Requirements Engineer in der Verantwortung, die ermittelten funktionalen Anforderungen zu prüfen, abzustimmen und möglicherweise nach Rücksprache mit den Stakeholdern anzupassen.
  • Unterschiedliche Sprache: In der Regel sind die Stakeholder keine IT-Experten – im Gegensatz zum Entwicklungsteam. Deshalb können sie sich bei der Ausformulierung ihrer Erwartungen an das zu entwickelnde System keiner Fachsprache bedienen. Jedoch benötigt das Entwicklungsteam klar definierte, technische Vorgaben. Der RequirementsEngineer  muss hier präzise Übersetzungsarbeit leisten.
  • Unbeständigkeit der Anforderungen: Vor dem Projektstart ermittelte Anforderungen können sich im Verlauf des Projekts in unterschiedlicherAusprägung aus verschiedensten
  • Gründen ändern. Daher muss der Requirements Engineerdiese Änderungen erneut prüfen, mit den Stakeholdern oder dem Entwicklungsteam abstimmen, dokumentieren und in den Gesamtkontext einbauen.
Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.

Techniken zur Ermittlung von Anforderungen

Nachdem die relevanten Quellen identifiziert worden sind, muss der Requirements Engineer bestimmen, welche Techniken zur Anforderungsermittlung zum Einsatzkommen sollen. In  aller Regel werden die Techniken nicht isoliert eingesetzt, sondern in Kombination, um möglichst genau Daten zu erhalten. Maßgeblich für dieWahl der Ermittlungstechniken ist stets die Projektsituation und -umgebung. Als maßgebliche Einflussfaktoren innerhalb dieses Rahmens sind die folgenden dreizu nennen: Menschliche Faktoren (kognitive,soziale und gruppendynamische Fähigkeiten der Stakeholder), fachliche und inhaltliche Faktoren (die Komplexität desProjekts kann beispielsweise den Einsatz einer strukturierten, dokumentenzentrierten Technik erfordern) und organisatorische Faktoren (in einem Festpreisprojekt mit knappem Budget wird die Wahl eher auf pragmatische Beobachtungsund Befragungstechniken fallen als auf vergleichsweise zeitintensivere Kreativitätstechniken). Das Bild zeigt verschiedene Ermittlungstechniken, die kategorisiert werden. 

Campuslab Anforderungen 700

Befragungstechniken setzen voraus, dass die befragten Stakeholder fähig sind, Anforderungen explizit zu nennen. Mit Befragungstechniken können sowohl innovative als auch grundlegende und gewünschte Anforderungen ermittelt werden. Beispiele sind Interviews und Fragebögen. Detailgrad der Anforderungen: hoch bis sehr hoch. Kreativitätstechniken eignen sich insbesondere zur Gewinnung innovativer Anforderungen. Zudem lässt sich durch die kreative und interaktive Zusammenarbeit eine gemeinsame Systemvision erarbeiten. Der zeitliche und kognitive Aufwand für diese Techniken ist vergleichsweise hoch. Beispiele sind Brainstorming und Perspektivenwechsel. Detailgradder Anforderungen:  gering bis mittel.

Mit dokumentenzentrierten Techniken lassen sich insbesondere grundlegende Anforderungen ermitteln, da bei Anwendung dieser Techniken bereits vorhandene Systeme oder Dokumentationen von existierenden Systemen genutzt werden, um auf deren Basis Anforderungen zu gewinnen. Diese Anforderungen sind also bereits in vorherigen Systemen umgesetzt worden und werden wiederverwendet. Beispiele sind die Systemarchäologie und perspektivenbasiertes Lesen. Detailgrad der Anforderungen: hoch bis sehr hoch.

Auch die Beobachtungstechnik eignet sich bestens für die Ermittlung von grundlegenden Anforderungen, da der Requirements Engineer Arbeitsprozesse beobachten und dokumentieren kann, um letztendlich Anforderungen ableiten zu können. Beispiele sind die Feldbeobachtung und das Apprenticing. Detailgrad der Anforderungen: mittel.

Mit Prototyping können innovative Anforderungen gewonnen werden, indem initiale Systemversionen (sogenannte Prototypen) erstellt werden und so ein tieferes Problemverständnis und Wissen über potenzielle Lösungen erlangt wird. Prototypen können unterschiedlich beschaffen sein (beispielsweise analoge Handskizzen und digitale Prototypen), die Beschaffenheit ist zudem abhängig vom Projektfortschritt. Je weiterein Projekt fortgeschritten ist, desto eher werden digitale Prototypen erzeugt. Detailgrad der Anforderungen: mittel.

Unterstützende Techniken wie Mindmaps oder audiovisuelle Aufzeichnungen können bei der Anwendung der anderen Technikenbehilflich sein und die Anforderungsermittlung unterstützen.

Prof Dr Tobias BrückmannProf. Dr. Tobias Brückmann, Gründer und Geschäftsführer, CampusLab GmbH, www.campus-lab.de

 

Anzeige

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.