Rollen und Aufgaben in der Softwareentwicklung

Moderne Softwareentwicklungsteams bestehen oft aus zahlreichen Experten. Diese Rollen sind in einem modernen Softwareentwicklungsteam zu finden.

Teamzusammensetzung für ein Softwareprojekt

Moderne Softwareentwicklungsteams bestehen oft aus zahlreichen Experten. Vom Product Owner, der stehts ein Auge darauf hat, dass Vision und Produktentwicklung im Einklang bleiben, über den Projektmanager, der das Team koordiniert, bis hin zu den UX-/UI-Designern, die Konzepte zeichnen und dem Entwickler-Team, das schlussendlich operativ an der Software arbeitet – die Rollen und ihre Aufgaben im Softwareentwicklungs-Prozess sind sehr umfangreich.

Eine rollenbasierte Software-Entwicklung ist wichtig und richtig, denn nur durch die Abdeckung unterschiedlichster Fachbereiche und Schwerpunkte kann das breite Spektrum an Anforderungen abgedeckt werden, das eine Individualsoftwareentwicklung mit sich bringt.

Unter einer „Rolle“ versteht man in der Softwareentwicklung eine Menge zusammengehöriger Aufgaben, Qualifikationen und Befugnisse. Ein Team oder eine Person kann auch mehrere Rollen erfüllen. 

Auslagerung der Softwareentwicklung

Product Owner – Projektleitung Auftraggeber-seitig

Der Product Owner nimmt wohl eine der wichtigsten Rollen im Softwareentwicklungsprozess ein. Der Product Owner (Produkteigentümer) ist ein, in der Praxis oft vom Auftraggeber ernannter, zuständiger Ansprechpartner für das beauftragte Softwareunternehmen.

Er ist für die vollständige Definition der Anforderungen zuständig, er klärt Rückfragen im Prozess ab und er nimmt regelmäßig den Output entgegen und gibt dazu Feedback. Gerade im agilen Softwareentwicklungsprozess ist dieser sehr stark in die Entwicklung der Software eingebunden.

Der Product Owner bildet die Schnittstelle zwischen Stakeholdern bzw. zukünftigem Software-User und dem Dienstleister, der die Software zum Leben erweckt.

Typische Aufgaben eines Product Owners:

  • Definition der Anforderungen und Kommunikation des Produkt-Ziels 
  • Vorrangiger Ansprechpartner bei Rückfragen
  • Priorisierung der Teilschritte
  • Entscheidung über Abnahme der Teilergebnisse (und später der fertigen Software)

Der Product Owner kann entweder aus dem Fachbereich oder auch aus der IT stammen. Manche Unternehmen organisieren sich auch einen externen Product Owner. Dabei sollte man allerdings stehts darauf achten, dass dem Product Owner auch eine gewisse Handlungs- und Entscheidungsmacht zugesprochen wird, denn nur so kann dieser auch so flexibel vorgehen, wie es einem guten agilen Softwareentwicklungs-Prozess angemessen ist.

Projektmanager – Koordination, Zeit- und Prozessplanung

Der Projektmanager bildet eine Schnittstelle zwischen dem Product Owner (und somit im weiteren Sinne dem Auftraggeber) und dem Entwickler-Team. Er steht im stetigen Austausch mit dem Product Owner und koordiniert die Entwickler durch den Prozess der Softwareentwicklung. Sein Ziel? Erfolgreiche Projektdurchführung. 

Typische Aufgaben eines Projektmanagers:

  • Fachliche Führung von interdisziplinären Projektteams
  • Zeit- und Prozessplanung (Sprints, Meilensteine, Releases…)
  • Budget- und Personalplanung
  • Monitoring der Produktqualität und ggf. Blick auf Qualitäts- und Risikomanagement

UX-/UI-Designer – User-zentriertes Design

Der Designer ist für den Entwurf der Architektur des Systems und des Interfaces zuständig. Er beschäftigt sich intensiv mit der Zielgruppe und passt die Struktur und die Funktionen der Software an die Bedürfnisse der User an (User Experience). Auf Grundlage dieser Gedanken wird anschließend ein Design für das UI (User Interface) erstellt. Verbildlicht wird das Ganze dann in sogenannten Wireframes und Mockups. Damit wird dem Programmierer/Entwickler ein Entwurf an die Hand gegeben, an dem er sich orientieren kann.

Typische Aufgaben eines UX-/UI-Designers:

  • Research: Verständnisaufbau für Nutzer und ihre Bedürfnisse
  • Aufbau des Informations-Designs (Sitemap, Navigation etc.) 
  • Planung des inhaltlichen Aufbaus und Strukturierung der Inhalte und Funktionen
  • Planung Interaktion und Visual Design

UX-/UI-Designer nutzen häufig Methoden wie User Journey Maps, Moodboards, Design Sprints etc..

Entwickler – Softwareentwicklung und Dokumentation

Die Entwickler kümmern sich um die programmtechnische Umsetzung des Software-Konzeptes und des Entwurfes. 

Typische Aufgaben eines Entwicklers:

  • Aufsetzen der Architektur
  • Programmierung/Entwicklung der einzelnen Module
  • umfassende Dokumentation
  • Qualitätssicherung und Testing

Für letzteres kann auch ein Softwaretester bzw. ein Qualitätsmanager eingesetzt werden. Was allerdings viel wichtiger ist: dass auch der Auftraggeber bzw. Product Owner umfangreich und regelmäßig mittestet.

IT-Leiter und Systemadministrator – Rolle und Aufgaben

Softwareentwicklung und IT-Systeme – für die perfekten Synergien und eine reibungslose Einbindung der neuen Software in die bestehende Systemlandschaft sorgt ein IT-Leiter oder Systemadministrator. 

Typische Aufgaben eines IT-Leiters oder Systemadministrators:

  • Koordination der IT-Infrastruktur
  • Planung, Installation und Konfiguration der Systeme
  • IT-Sicherheit

Ähnlich wie der Product Owner ist der IT-Leiter oder Systemadministrator meist Teil des „Auftraggeber-Teams“, das im Sparring mit dem „Auftragnehmer-Team“ die Software aufbaut. IT-Betreuung kann aber auch nach extern vergeben werden – das ist eine Abwägungssache und Teil der eigenen IT-Strategie.

Weitere: Juristen, Risikomanager, Qualitätsmanager etc.

Je nach Umfang der Funktionen und somit Größe der Software können natürlich auch weitere Fachexperten hinzugezogen werden. Gerade bei großen Enterprise-Softwareprojekten, in denen viel mit sensiblen Daten gearbeitet wird, ist eine Beratung durch einen Datenschutzexperten und einen Juristen sinnvoll.

Die Entwicklung und Einführung geschäftskritischer Programme bergen manchmal auch operative Risiken. Diese kann ein Risikomanager aufdecken und rechtzeitig gegensteuern.

Das Software-Qualitätsmanagement befasst sich mit der Planung, Umsetzung und Prüfung der Qualität von Softwareprodukten und -entwicklungsprozessen. Diese Aufgabe kann entweder von einem Fachexperten übernommen werden oder innerhalb eines Projektteams bestehend aus Projektmanager und Entwickler aufgeteilt werden.

Manch eine Software bietet umfangreich Content an – hier wäre ein Contentmanager und/oder ein Texter zur Entwicklung von Inhalten hilfreich. Ein Grafiker kann passende 2D-Grafiken oder Vektorgrafiken erstellen, die die Benutzeroberfläche einzigartig machen. 

Die Liste der möglichen Rollen während, aber auch nach dem Entwicklungsprozess, ließe sich relativ lang fortsetzten: Softwaretester, technischer Redakteur, Controller, Marketing-Verantwortlicher etc.

Welche Rollen benötigt mein Softwareprojekt?

Nicht jedes Softwareprojekt benötigt all diese aufgeführten Rollen. Die wichtigsten Rollen wie Product Owner, Projektmanager oder auch der Entwickler sind jedoch so ziemlich in jedem erfolgreichen Software-Projekt zu finden.

Im Endeffekt entscheidet, neben einer ausgewogenen Aufteilung der Rollen, die Kompatibilität des Teams über den Erfolg des Projekts. Ein bereits eingespieltes Team, das ggf. bereits mehrere gemeinsame Projekte erfolgreich hinter sich gebracht hat, weiß, worauf es achten muss, kennt die fachlichen Kompetenzen und das Know-How der Team-Mitglieder. Ein riesiges Plus für unkomplizierte Projektumsetzung ohne Reibungsverluste!