Da es keine vollständige und allgemein akzeptierte Liste aller Rollen im Software Engineering gibt, wird im Folgenden eine Auswahl typischer und weit verbreiteter Rollen vorgestellt. Sowohl der konkrete Name der Rollen als auch die Aufgaben, Ziele und Zuständigkeiten dieser Rollen variiert von Organisation zu Organisation und oft auch von Projekt zu Projekt. Oft gibt es auch Spezialisierungen innerhalb einer Rolle, zum Beispiel Teilprojektleiter, Java-Entwickler oder Sicherheitsarchitekt.
| Übersicht über Rollen und deren Beteiligung an Kernaktivitäten im Software Engineering | ||||||||
|---|---|---|---|---|---|---|---|---|
| Typen von Rollen | Requirements Engineering |
Spezifikation | Architektur | Implementierung | Qualitäts- sicherung |
Betrieb | Weiterent- wicklung |
|
| Rollen mit übergreifendem Einfluss | Projektmanager | X | X | X | X | X | X | X |
| Risikomanager | X | X | X | X | X | X | X | |
| Qualitätsmanager | X | X | X | X | X | X | X | |
| Konstruktive Rollen, sind aktiv an der Entwicklung beteiligt |
Requirements Engineer |
X | X | X | X | X | ||
| Spezifizierer | X | X | X | X | ||||
| Architekt | X | X | X | X | ||||
| Entwickler | X | X | X | |||||
| Tester | X | X | ||||||
| Betreibende Rollen, sind im Anschluss an die Entwicklung für Integration und Betrieb zuständig |
Integrator | X | X | X | X | |||
| Systemtechniker | X | X | ||||||
Ziel des Projektmanagers ist die erfolgreiche Durchführung des Projekts. Die Aufgaben des Projektmanagers umfassen insbesondere:
Er ist übergreifend in allen Kernaktivitäten aktiv. Er erstellt planerische Vorgaben für Qualitätsmanager, Spezifizierer und Konfigurationsmanager, kontrolliert die Einhaltung seiner Vorgaben und trifft für das Projekt wesentliche Entscheidungen.
Ziel des Risikomanagers ist die Risikominimierung des Projekts. Die Aufgaben eines Risikomanagers sind insbesondere:
Wie der Projektmanager ist der Risikomanager übergreifend in allen Kernaktivitäten des Projektes aktiv, oft als Bestandteil des Projektmanagements. Mit der Einschätzung von Risiken und der Strategieentwicklung zu deren Minimierung nimmt der Risikomanager eine übergeordnete Rolle im Projekt ein.
Der Qualitätsmanager ist verantwortlich für die Qualität des erzeugten Produktes. Dazu koordiniert er Maßnahmen zur Sicherstellung der Prozess- und Systemqualität. Konkrete Aktivitäten des Qualitätsmanagers sind:
Auch der Qualitätsmanager wird projektbegleitend in allen Phasen aktiv. Er erhält seine Vorgaben von und berichtet an das Projektmanagement.
Der Requirements Engineer ist verantwortlich für die Lieferung der fachlichen Aufgabenstellung an das Projekt, also einer Menge von mit allen relevanten Personen abgestimmten Anforderungen an das Softwaresystem. Konkrete Aktivitäten des Requirements Engineers sind dabei:
Der Requirements Engineer ist besonders stark in Aktivitäten involviert, welche die Eigenschaften des zu erstellenden Systems bestimmen. Er erhält Vorgaben vom Projekt- und Qualitätsmanagement und wird durch diese geprüft.
Ziel des Spezifizierers ist die Erstellung einer detaillierten, technischen Spezifikation des Systems. Konkrete Aktivitäten dabei sind:
Der Spezifizierer erstellt die Spezifikation auf Basis der durch den Requirements Engineer dokumentierten Anforderungen. Beide Rollen arbeiten in enger Abstimmung miteinander oder werden durch eine Person ausgeübt. Der Spezifizierer erhält darüber hinaus Vorgaben vom Projekt- und Qualitätsmanagement und wird von ihnen geprüft.
Ziel des Architekten (auch: Designer) ist die erfolgreiche technische Umsetzung der fachlichen Anforderungen in ein Softwaresystem. Die Aktivitäten von Architekten umfassen dabei:
Der Architekt gestaltet die Architektur auf Basis der Ergebnisse des Requirements Engineers und des Spezifizierers unter Berücksichtigung zusätzlicher Vorgaben durch die Rollen die für Implementierung, Betrieb und Weiterentwicklung verantwortlich sind. Der Architekt muss darüber hinaus Vorgaben durch das Projekt- und Qualitätsmanagement einhalten, von denen er auch geprüft wird.
Die Rollenbezeichnung "Architekt" ist von allen Rollen im Software Engineering diejenige, die in der Praxis am vielfältigsten ausgestaltet wird. Neben verschiedenen Architekturebenen, für die ein Architekt verantwortlich sein kann, gibt es je nach Organisation und Projekt teils stark verschiedene Zuständigkeiten und Aufgaben von Architekten.
Ziel des Entwicklers ist die Erstellung von Programmcode, der sich zu einem ausführbaren System kompilieren lässt. Die dazu notwendigen Aktivitäten sind:
Die Erstellung des Programmcodes erfolgt auf Basis der Spezifikation und der Architektur. Der Entwickler setzt damit die von Spezifizierer und Architekt getroffenen Vorgaben in ein konkretes System um. Dazu muss er Vorgaben vom Projekt- und Qualitätsmanagement einhalten, deren Einhaltung auch vom Projekt- und Qualitätsmanagement geprüft wird. Die Einhaltung der technischen Vorgaben wird durch den Architekten überwacht, die Erfüllung der Anforderungen wird durch den Tester geprüft.
Ziel des Testers ist das Auffinden von Fehlern in den Systemteilen, die im Verlauf des Softwareprojekts fertiggestellt werden, und von Fehlern im System als Ganzes. Die konkreten Aktivitäten dazu sind:
Der Tester ist für die aufwendigsten Maßnahmen der Qualitätssicherung verantwortlich, dem Testen der erstellten Software. Auf Basis der Ergebnisse des Spezifizierers prüft er die Ergebnisse des Programmierers. Dazu muss er Vorgaben vom Projekt- und Qualitätsmanagement einhalten und wird von ihnen geprüft.
Ziel des Integrators ist die Einpassung des neu erstellten oder geänderten Systems in die bestehende Landschaft aus Software und Hardware. Konkrete Aktivitäten zur Erreichung dieses Ziels sind dabei:
Der Integrator integriert das von den Entwicklern gelieferte System in die bestehende Systemlandschaft. Dazu muss er Vorgaben vom Projekt- und Qualitätsmanagement einhalten, von denen er auch geprüft wird. In vielen IT-Organisationen sind Anwendungsentwicklung und Betrieb in verschiedenen Abteilungen organisiert, sodass für den Integrator oft ein anderes Projekt- und Qualitätsmanagement zuständig ist als für die anderen Rollen.
Ziel des Systemtechnikers ist das Bereitstellen und Gewährleisten von technischen Ressourcen zum Betrieb eines Softwaresystems. Die Aktivitäten eines Systemtechnikers umfassen dabei:
Der Systemtechniker ist zwar nicht an der Erstellung eines Softwaresystems beteiligt, jedoch muss die Architektur des Systems zur Betriebsinfrastruktur passen, die der Systemtechniker zur Verfügung stellt. Nach abgeschlossener Entwicklung und Integration sorgt er nach Vorgaben vom Projekt- und Qualitätsmanagement für einen ordnungsgemäßen Betrieb. Er wird von Projekt- und Qualitätsmanagement geprüft.
Typischerweise ist für den Systemtechniker das gleiche Projekt- und Qualitätsmanagement verantwortlich wie für den Integrator.