Requirements Engineers (RE) sind ein maßgeblicher Erfolgsfaktor für die IT-Projekte vieler Unternehmen. Dennoch ist ihre Rolle nicht immer klar umrissen und ihre Relevanz nicht unumstritten.

Wozu braucht man eigentlich einen Requirements Engineer?

In klassischen Entwicklungsmodellen dient der RE als Vermittler zwischen Stakeholdern und dem Entwicklerteam einer neuen Softwareanwendung. Es fällt in seine Verantwortung, alle gewünschten Anforderungen zu sammeln, sodass die Anwendung zielgerichtet und den Kundenwünschen entsprechend entwickelt werden kann. Damit trägt der RE auf entscheidende Weise zur Steigerung der Produktqualität und zum Erfolg des Projektes bei. Da es sich hier jedoch nicht um einen Beruf handelt, den man studiert oder zu dem man ausgebildet wird, sind diese Stellen in der Regel nach Bedarf durch Menschen besetzt, die entweder die erforderlichen technischen oder fachlichen Kenntnisse besitzen. Viele gegenwärtig in der Software-Entwicklung verstärkt verwendeten agilen Rollenmodelle führen diesen Aufgabenbereich jedoch nicht mehr explizit auf, oftmals wird auf die Rolle des RE verzichtet und unter anderen Rollen subsummiert.

Wie wichtig ist er also tatsächlich?

Klassische Modelle wie beispielsweise das Wasserfall- oder auch das Phasenmodell setzen einen RE für die Anforderungsverwaltung und enge Zusammenarbeit mit IT-Entwicklung zur Realisierung von Kundenwünschen voraus. Seine Aufgaben beinhalten die Spezifikation, das Management und die Dokumentation der Anforderungen von Kunden und Stakeholdern, die er durch Befragung und Beobachtung ermitteln muss. Hier ist hohe Kommunikationsfähigkeit gefragt. Dieser Schritt bildet die Basis der darauffolgenden Entwicklungsphasen.

Der Unterschied zwischen klassische und agiler Software-Entwicklung zeigt sich nicht nur in einer anderen Priorisierung im Entwicklungsverlauf, sondern auch in einer anderen Teamzusammensetzung. Bei agilen Modellen wie zum Beispiel Scrum sind die hierarchisch unabhängigen Rollen Product Owner, Scrum Master und Entwicklungsteams vorgesehen. Die Rollen des Projektleiters und des RE sind überhaupt nicht enthalten, die Übergänge zwischen den anderen Teammitgliedern fließend. Natürlich ist jedoch die Ausführung der Aufgaben eines RE – die Ermittlung der Produktanforderungen und Kompatibilität mit der technischen Entwicklung – weiterhin notwendig. Sie wird dem Product Owner übertragen, der oftmals aber nicht über ausreichend zeitliche Kapazität, Möglichkeiten oder fachliche Kompetenzen verfügt, um den Task-Pool des RE alleine zu bewältigen.

Natürlich entscheiden die genauen Rahmenbedingungen und fachlichen Spezifikationen eines konkreten Projektes, welche Person (oder Personengruppe) mit den anfallenden Aufgaben und Verantwortlichkeiten betraut wird. Wenn es der/den Rolleninhaber/n aufgrund von mangelnder Zeit oder Fähigkeiten aber nicht möglich ist, diese zu erfüllen, ist der Erfolg des Projektes erheblich gefährdet.

Erfolgsfaktor Requirements Engineer?

RE können jedoch in variabler Kapazität eine hilfreiche Stütze für den Product Owner und damit für den glücklichen Abschluss der Softwareentwicklung sein. Vor allem ist es ratsam, einen oder mehrere RE in beratender Funktion zur Seite zu stellen, wenn die Anforderungen des Produktes die Fähigkeiten des Product Owners übersteigen oder überlasten. Besonders in der Anfangsphase, für die Darlegung der Produktanforderungen, ist diese Unterstützung von Vorteil.

Aber auch langfristig oder sogar bis zum erfolgreichen Abschluss eines Projektes kann der Einsatz eines RE sinnvoll sein. Im Notfall ist der RE auch geeignet, als Product Owner einzuspringen und dessen Verantwortung kurzfristig oder vollständig zu übernehmen. Je nach Projekt ist es deshalb empfehlenswert, einen RE in das IT-Projektteam zu holen, selbst wenn das angewandte Rollenmodell dies nicht spezifiziert.

Fazit

Wie sehr ein RE bei der Software-Entwicklung vonnöten ist, hängt von dem individuellen Projekt sowie den Möglichkeiten des Product Owners ab. Klassische Entwicklungsmodelle kommen in der Regel nicht ohne RE aus. Mindestens in unterstützender Kapazität kann ein RE jedoch auch bei agiler Software-Entwicklung eine erhebliche Bereicherung für den Erfolg Ihres Projektes sein.

Bildnachweis: (C) RAEng_Publications, CC0 v1.0, Pixabay