In einem Softwareentwicklungsprozess gibt es eine Vielzahl an Rollen, die unterschiedliche Aufgaben, Verantwortungen und Kompetenzen (AKV) übernehmen. Jede Rolle ist entscheidend für den Erfolg eines Projekts und wird je nach Umfang, Komplexität und Anforderungen des Entwicklungsvorhabens benötigt.

RolleAufgabenVerantwortungenKompetenzenEinsatz
Product Owner (PO)Priorisierung und Verwaltung des Product Backlogs, Definition und Kommunikation der Produktvision, Stakeholder-Management und Einholung von Anforderungen, Entscheidung über Features und ReleasesSicherstellen, dass die entwickelte Software den Anforderungen der Stakeholder entspricht, Klare und priorisierte Anforderungen bereitstellenVerständnis von Geschäftsanforderungen und Marktdynamik, Fähigkeit zur Kommunikation und EntscheidungsfindungBenötigt bei Projekten, in denen eine klare Verbindung zwischen Business und Technik erforderlich ist, z. B. bei agilen Projekten wie Scrum
Scrum MasterFörderung und Unterstützung agiler Prinzipien und Methoden, Moderation von Meetings wie Daily Scrum, Sprint Review und Retrospektiven, Beseitigung von Hindernissen im EntwicklungsprozessSicherstellen, dass das Entwicklungsteam effizient arbeitet und keine Störungen auftreten, Förderung der Teamkultur und kontinuierlicher VerbesserungExpertise in agilen Methoden (z. B. Scrum, Kanban), Fähigkeiten in Kommunikation, Konfliktmanagement und CoachingErforderlich bei agilen Projekten, insbesondere wenn Teams neu aufgestellt sind oder ein agiler Transformationsprozess läuft
Entwickler/-in (Software Developer)Schreiben, testen und pflegen von Code, Implementierung von Funktionen basierend auf Anforderungen, Zusammenarbeit mit anderen Entwicklern, Testern und ArchitektenSicherstellen, dass der Code qualitativ hochwertig und wartbar ist, Einhaltung technischer Vorgaben und ArchitekturstandardsKenntnisse in Programmiersprachen, Frameworks und Tools, Problemlösungsfähigkeiten und TeamarbeitNotwendig in allen Entwicklungsprojekten. Der Umfang der Entwicklerrolle variiert je nach Projektgrösse und Komplexität
Softwarearchitekt/-inEntwurf der Softwarearchitektur und Entscheidung über Technologien, Sicherstellung der Skalierbarkeit, Sicherheit und Wartbarkeit, Dokumentation und Kommunikation der ArchitekturGewährleistung, dass die Architektur den Anforderungen und Standards entspricht, Unterstützung des Entwicklungsteams bei technischen HerausforderungenTiefgreifendes technisches Wissen, Überblick über aktuelle Technologien, Erfahrung im Design komplexer SystemeBesonders wichtig bei grossen oder verteilten Systemen, z. B. bei Enterprise-Anwendungen oder Cloud-Plattformen
Tester/-in (QA Engineer)Planung und Durchführung von Tests (Unit-, Integration-, Systemtests), Automatisierung von Tests und Berichterstellung über Ergebnisse, Zusammenarbeit mit Entwicklern, um Fehler zu identifizieren und zu behebenSicherstellen, dass die Software den Qualitätsstandards entspricht, Dokumentation von Fehlern und VerbesserungsvorschlägenKenntnisse in Testmethoden, Automatisierungstools (z. B. Selenium, JUnit), Fähigkeit, logisch zu denken und detailliert zu arbeitenNotwendig in allen Projekten, insbesondere in sicherheitskritischen oder grossen Projekten mit komplexen Anforderungen
UX/UI-Designer/-inGestaltung der Benutzeroberfläche und Nutzererfahrung, Erstellung von Wireframes, Mockups und Prototypen, Durchführung von Usability-Tests und Einholen von NutzerfeedbackSicherstellen, dass die Benutzeroberfläche benutzerfreundlich und ansprechend ist, Übersetzung von Nutzeranforderungen in konkrete DesignsKenntnisse in Design-Tools (z. B. Figma, Adobe XD), Verständnis für Nutzerpsychologie und InteraktionsdesignBesonders wichtig bei front-end-lastigen Projekten oder kundenorientierten Anwendungen wie E-Commerce oder mobilen Apps
Projektmanager/-inPlanung und Überwachung des Projektfortschritts, Ressourcenmanagement und Kostenkontrolle, Kommunikation mit Stakeholdern und RisikomanagementSicherstellen, dass das Projekt innerhalb von Budget, Zeit und Qualität abgeschlossen wird, Abstimmung zwischen verschiedenen Teams und InteressenKenntnisse in Projektmanagement-Methoden (z. B. PMI, PRINCE2, Agile PM), Fähigkeiten in Organisation, Kommunikation und KonfliktmanagementBenötigt bei grösseren oder komplexen Projekten mit mehreren Abhängigkeiten

Die Auswahl der Rollen im Entwicklungsprozess hängt stark von der Grösse, Komplexität, Entwicklungsansatz den Anforderungen und der Zielgruppe des Projekts ab.

GrösseKleine Projekte Rollen wie Entwickler/-in und Product Owner reichen oft aus. Scrum Master oder Tester können übergreifende Aufgaben übernehmen.Grosse Projekte Architekten, Tester, Projektmanager und UX/UI-Designer sind essenziell.Zusätzliche Rollen wie Security-Spezialisten oder Datenbankadministratoren können notwendig werden.
KomplexitätEinfache Anforderungen Weniger Rollen, Entwickler und ein Product Owner können das Projekt umsetzen. Komplexe Anforderungen Architekt/-in für die Gestaltung der Systemarchitektur.QA-Ingenieure für umfassende Tests und Fehleridentifikation. 
EntwicklungsansatzAgile Methoden Scrum Master, Product Owner und ein selbstorganisiertes Entwicklungsteam sind essenziell. Klassisches Vorgehen Stärkere Gewichtung von Projektmanagement und Architektur, weniger dynamische Rollen. 
ZielgruppeInterne Systeme Fokus auf technische Rollen wie Entwickler und Architekten. Endnutzerorientierte Systeme UX/UI-Designer und Tester spielen eine grössere Rolle.

Jede Rolle hat spezifische Aufgaben, Verantwortungen und Kompetenzen, die für den Projekterfolg notwendig sind. Ein effektiver Entwicklungsprozess berücksichtigt diese Rollen flexibel und passt sie an die Projektmerkmale an, um Effizienz, Qualität und Zielerreichung sicherzustellen.

Weiterführende Informationen zu siehe SwissICT (Link).