Was macht ein Requirements Engineer?

Ein Job für Anforderungs-Übersetzerinnen und Reality-Checker

Bylle Bauer
Licht am Ende des Tunnels

The most important single aspect of software development is to be clear about what you are trying to build.” – Bjarne Stroustrup, Entwickler der Sprache C++.

Das Ziel jedes Entwicklungsprozesses ist eine funktionierende Software, die allen Anforderungen und Rahmenbedingungen gerecht wird. Am Anfang der Entwicklung steht entweder eine recht vage Idee oder eine sehr, sehr konkrete, die aber irgendwie mit der Realität auf Kriegsfuß steht. Insbesondere dann, wenn die Auftraggebenden keine IT-Fachleute sind. Deine Aufgabe als Requirements Engineer besteht darin, den Nebel nach und nach aufzulösen. Am Ende des Prozesses legst Du ein Produkt frei, das technisch mit den zur Verfügung stehenden Ressourcen in einem realistischen Zeitraum umsetzbar ist, den Wünschen der Stakeholder entspricht und gesetzeskonform ist.

Hierfür ist nicht nur ein gutes IT-Verständnis notwendig, sondern auch ein ganzer Packen Social Skills. Warum, erfährst Du hier!

Was sind Deine Aufgaben als Requirements Engineer?

Ein Unternehmen möchte sich eine Softwarelösung bauen lassen. Sie soll abteilungsübergreifend eingesetzt werden und die bisherigen Abläufe optimieren. Um zu verstehen, was das bedeutet, gehst Du in den Austausch mit den Stakeholdern. Das sind alle am Projekt beteiligten Personen: Auftrag- bzw. Geldgebende, die Anwender:innen aus unterschiedlichen Fachbereichen, das Entwicklungsteam und die Verantwortlichen für die Systemarchitektur.

Die Anforderungen analysieren und festhalten

Mit dem (Projekt-)Management führst Du zur ersten Eingrenzung der Vision Beratungsgespräche und stimmst Dich zum Zeit- und Budgetrahmen ab. Für die Nutzer:innen geht es in erster Linie um Funktionalitäten, die ihnen die Arbeit erleichtern. Dafür machst Du Dich mit den Workflows der Fachbereiche vertraut und nimmst ihre Anforderungen an das System auf – durch Gespräche und Interviews, Fragebögen und Abstimmungen oder Workshops. Das Ganze dokumentierst Du in Form von User Stories oder UML-Diagrammen und analysierst die Ergebnisse. Dabei zeigt sich oft, dass die beteiligten Personen ganz unterschiedliche – teilweise sich widersprechende – Vorstellungen und Wünsche an die Software haben.

Gut zu wissen:

Die Unified Modeling Language (UML) ist eine weit verbreitete, standardisierte Modellierungssprache zur Spezifikation, Konstruktion, Dokumentation und Visualisierung von Systemen. Neben der grafischen Darstellung einzelner Ausschnitte eines Modells legt sie fest, mit welchen Begriffen und Beziehungen diese Modelle spezifiziert werden.

Priorisieren: Must-have und Nice to have

Nachdem Du die vielfältigen Anforderungen festgehalten und definiert hast, ist Deine Aufgabe nun, zu priorisieren – z.B. ist es wichtiger, dass das Programm über die notwendigen Schnittstellen verfügt, als dass die Buttons in der von 3 Teammitgliedern gewünschten Trendfarbe "Ultimate Grey" erstrahlen. Ist responsive Design relevant? Und bei der Rechtevergabe heißt es in der Regel: Für jeden so viele wie nötig – und so wenig wie möglich. Wenn Du Wünsche abschlagen musst, heißt es, smoothe Alternativen und Kompromisse anzubieten. Oder zumindest nachvollziehbar zu machen, wieso eine bestimmte Erwartung nicht erfüllt werden kann. Hier musst Du häufig moderieren und komplexe Sachverhalte zu entwicklungstechnischen Entscheidungen verständlich erklären können.

Person steht vor zwei Pfeilen "Want" und "Needs"

Die Priorisierung der Anforderungen gehört zu Deinen kniffligsten Aufgaben, denn sie setzt Verständnis für alle Bereiche voraus.

Kommunikation ist zentral

Immer wieder besprichst Du Dich mit dem IT-Team zur technischen Umsetzbarkeit und Integration der Software ins Gesamtsystem. Und Du checkst last but not least, ob die Entwicklung entlang der gesetzlichen Vorgaben durchführbar ist. Denn wenn die Lösung zum Beispiel den Datenschutz verletzt, hat sie keine Chance auf Zertifizierung.

Haftbar sind letztlich aber nur die Auftraggebenden, wenn sie (wissentlich oder unwissentlich) eine "nicht-konforme" Lösung anfordern und auch erst in dem Moment, wenn diese eingesetzt werden.

Schritt für Schritt nimmt die angestrebte Software vor Deinen Augen Form an. Im Regelfall gehst Du bei der Planung agil vor und legst iterative Feedbackschleifen mit den unterschiedlichen Bereichen ein, anhand derer Du Deine Entwürfe zu einer Requirements Specification – einem Anforderungskatalog – verfeinerst. Der ist die Basis für das Entwicklungsteam, um loszulegen.

Durch den regen Austausch mit allen Bereichen bist Du den gesamten Prozess über im Bild und bringst durch souveränes Änderungsmanagement Klarheit in schwammig formulierte Kriterien und offene Fragen. Während der Umsetzung unterstützt Du außerdem bei der Qualitätssicherung und leitest geeignete Testszenarien ab, da Du Deine User:innen genau kennst. Lückenloses Dokumentieren ist dabei zentral, um die Schritte jederzeit nachvollziehbar zu machen. Dafür nutzt Du IT-Projektmanagement-Tools wie Jira und Confluence. Zur Spezial-Software für Requirements Engineering gehören Jama, Modern Requirements oder Visure. DOORS Next ist eine mächtige und beliebte IBM-Lösung für den Enterprise-Kontext. Die saubere Dokumentation der Entwicklungs-Historie ist auch fürs Versionsmanagement wichtig. Bei mehreren Ausführungen eines Produkts kommt zudem das Variantenmanagement auf Deine Liste.

Du hast es schon gemerkt – in der Rolle des Requirement Engineers bist Du von der Ideenformulierung bis zum Rollout mit eingebunden und nimmst eine entscheidende Stellung in der ganzheitlichen Planung und Durchführung von IT-Projekten ein. Es kann sein, dass Du nicht nur bei komplett neuen Projekten, sondern auch bei bestehenden Anwendungen gefragt bist. Denn nicht jede Software, die täglich bei Unternehmen im Einsatz ist, ist up to date, rechtlich einwandfrei oder anforderungsgerecht. Requirements Engineering spielt auch über die Softwareentwicklung hinaus eine wichtige Rolle in der IT und ist genauso bei Migrationen, Konsolidierungen und anderen komplexen IT-Projekten Standard. Auch wenn die Kontexte und inhaltlichen Anforderungen sehr unterschiedlich sein können – Deine Vorgehensweise bleibt dabei immer gleich.

Wo kannst Du arbeiten?

Du kannst in unterschiedlichen Settings starten. Bei einem Softwarehersteller bist Du genauso gut aufgehoben wie in einem Unternehmen, das intern Lösungen entwickeln lässt oder bei einem Consulting-Dienstleister. Während Du als Berater auch in einem Tech-Startup landen kannst – falls Dir nicht der Sinn danach steht, in einem der großen Systemhäuser loszulegen – arbeitest Du Inhouse wahrscheinlich eher bei einem großen Player. Denn ein hauseigenes Entwicklungsteam, in dem jede Rolle einzeln besetzt ist , leistet sich nicht jedes Unternehmen. Häufig ist das Anforderungsmanagement Aufgabe des IT-Projektmanagements.

Als Requirements Engineer triffst Du im Unternehmen oft auf agile Teams, deren Arbeit Du mit einem knackigen Anforderungsmanagement wesentlich vereinfachst. Denn nur wer ein klares (Teil-)Ziel vor sich hat – und nicht ständig auf Zuruf die Richtung wechseln muss – kann produktiv und motiviert arbeiten. Die vielen Feedbackschleifen, die Du einlegst, entsprechen dem zyklischen Konzept von Scrum perfekt, aber auch in nicht-agilen Umgebungen ist Requirements Engineering an der Tagesordnung.

Banken und Versicherungen sind schon allein wegen der sensiblen Daten von Kund:innen und rechtlichen Vorgaben oft auf Anforderungsmanager:innen angewiesen. Aber auch im Handel, in der Industrie oder im Rahmen von Software-Einführungsprojekten in allen denkbaren Organisationen und Unternehmen bist Du gefragt. Schau Dich einfach mal in unserer Jobsuche um. Du findest die freien Stellen im Anforderungsmanagement unter dem Filter Business Analysis und Consulting.

Worauf kannst Du Dich spezialisieren?

Als Requirements Engineer hast Du Dich schon spezialisiert: Als IT-Projektmanagerin, Product Owner in einem Scrum Team oder als Business Analystin übernimmst Du neben vielen anderen Aufgaben oft auch das Anforderungsmanagement. Dich im nächsten Schritt darauf zu konzentrieren, ist sinnvoll – denn Requirements Engineers sollen in der Regel schon solide Erfahrung mitbringen. Du weißt über die Vorgaben auf allen Seiten – Stakeholder-Anforderungen, technische Machbarkeiten und rechtliche Bestimmungen – Bescheid, kannst im Idealfall erfolgreiche Projekte vorweisen und garantierst einen sauberen Ablauf.

Innerhalb Deines Fachgebiets wirst Du Dich naturgemäß weiterentwickeln, weil Du immer mit der technischen Entwicklung im Allgemeinen und mit den Methoden, Trends und Fallstricken im IT-Projektmanagement im Besonderen am Ball bleiben musst. Wenn Dir der entsprechende Input im Studium oder bei Deiner aktuellen Arbeitsstelle fehlt, schau Dir zum Beispiel die Zertifizierungsmöglichkeiten des IREB (International Requirements Engineering Board) an. Die Weiterbildungen zum "Certified Professional for Requirements Engineering" (CPRE) sind bei Unternehmen beliebt, weil Du damit die spezifischen Skills nachweisen kannst.

Auf Foundation Level erlernst Du die methodischen und technischen Grundlagen des Anforderungsmanagements. Im Advanced Level vertiefst Du Dein Knowhow von Erhebungs- und Konsolidierungstechniken und eignest Dir neben der grafischen Modellierung der Requirements auch die Besonderheiten des Anforderungsmanagements in agilen Teams und Projekten an. Das Expert Level erreichst Du erst mit mehreren Advanced-Zertifikaten, längerer Berufserfahrung und einer Tätigkeit als Trainerin oder Coach für RE. Du musst Dich für das Zertifikat bewerben, eine amtliche Hausarbeit schreiben und eine mündliche Prüfung ablegen, um es zu bekommen. Ohne Berufserfahrung möglichst viele Zertifikate zu absolvieren, macht generell wenig Sinn. Die Chancen stehen gut, dass Dein Chef Dir vertiefende Schulungen und Zertifizierungen finanziert, wenn sie Dir helfen, einen noch besseren Job zu machen und Dich in Deiner Rolle weiterzuentwickeln.

Bist Du ein Requirements Engineer?

Ein spezialisiertes Studium für Requirements Engineering gibt es nicht. Die beste Grundlage hast Du mit (Wirtschafts-)Informatik oder einem anderen MINT-Fach. Wenn Du neben IT-Knowhow und Begeisterung für teamübergreifende Kommunikation auch Business-Verständnis für die Aufbau- und Ablauforganisation mitbringst, bist Du gut aufgestellt. Ein gesteigertes Interesse an technologischen Herausforderungen, die sich immer an der Realität von Unternehmensabläufen messen lassen müssen, zeichnet Dich aus. Mit analytischem Verstand und der Eigenschaft, die Umsetzbarkeit generell erstmal kritisch zu betrachten, schälst Du nach und nach ein fertiges Produkt aus einer ersten Idee. Als Junior steigst Du oft an der Seite von erfahrenen Projekt- oder Anforderungsmanager:innen ein und lernst "by doing" täglich dazu.

Deine proaktive Art hilft Dir generell in Deinem Alltag als Requirements Engineer, denn Du sitzt an einer absoluten Schnittstellenposition, die ein hohes Maß an Kommunikationsgeschick und -freude voraussetzt. Nicht immer sind sich alle einig, aber Du hältst Konflikte aus und verstehst es, durch Moderation unterschiedliche Erwartungen zu managen. Dafür kannst Du problemlos zwischen IT- und Business-Sprech hin- und her übersetzen und komplexe Themen für fachliche Laien verständlich darstellen.

Bei alledem steht nicht Deine persönliche Selbstverwirklichung im Projekt, sondern die Zufriedenheit der Stakeholder auf Deiner Liste ganz oben. Diese erreichst Du durch eine hohe Kund:innen- und Serviceorientierung, Deine Klarheit, Ehrlichkeit und Gründlichkeit in der Beratung – und nicht zuletzt durch Deine Hartnäckigkeit.

Was kannst Du als Requirements Engineer verdienen?

Mit einem Master-Abschluss in Informatik oder Wirtschaftsinformatik liegt Dein Einstiegsgehalt als Requirements Engineer im Durchschnitt zwischen 48.000 € und 56.900 € brutto im Jahr. Was Du exakt verdienen wirst, hängt natürlich von Faktoren wie dem Unternahmen, dem Standort und der Branche ab. Wenn Du es genauer wissen willst, gib Deine Daten einfach mal in unseren IT-Gehaltsrechner ein!

TL;DR:
  • Als Requirements Engineer sorgst Du im ganzheitlichen Entwicklungsprozess dafür, dass aus einer Idee eine funktionierende, effiziente und gesetzeskonforme Lösung wird.
  • In intensiven Erhebungen ermittelst Du hierfür die Anforderungen der beteiligten Fachbereiche, dokumentierst und priorisierst sie und stimmst Dich bezüglich der technischen Machbarkeit und der Systemintegration mit dem IT-Team ab.
  • Du erstellst einen Anforderungskatalog, der als Basis für die Devs gilt. Du unterstützt sie bei der Entwicklung, indem Du Testfälle konzipierst und für ein Umfeld sorgst, in dem sie konzentriert und zielgerichtet arbeiten können – während Du zwischen IT- und Business-Welt "übersetzt".
  • Der rege Austausch erfordert neben hohen technologischen und analytischen Skills ein tiefes Verständnis für betriebliche Abläufe und besonderes Talent für die Kommunikation und Vermittlung zwischen den unterschiedlichen Stakeholdern.