Projektmanager, Requirements Engineer und Entwickler in einer Person - Kann das funktionieren?

Projektmanager, Requirements Engineer und Entwickler in einer Person - Kann das funktionieren?
Photo by Annie Spratt / Unsplash

In der schnelllebigen Welt der Softwareentwicklung ist es oft erforderlich, innerhalb von Projekten verschiedene Hüte zu tragen. In diesem Beitrag möchte ich die Herausforderungen und den Mehrwert beleuchten, die sich aus der Dreifachrolle als Projektmanager, Requirements Engineer und Entwickler in komplexen Projekten ergeben. Dabei stütze ich mich auf meine eigenen Erfahrungen in einem IT-Projekt eines international tätigen Schweizer Industrieunternehmens, in dem ich diese Dreifachrolle innehatte, und teile einige hilfreiche Erkenntnisse, Tipps und gewonnene Einsichten.

Herausforderungen in einer Dreifachrolle

Die gleichzeitige Übernahme mehrerer Rollen in einem Projekt birgt einige inhärente Risiken:

Zeitmanagement zwischen den verschiedenen Rollen: Jede Rolle erfordert spezialisierte Fähigkeiten und fokussierte Aufmerksamkeit. Das Jonglieren zwischen diesen durch eine möglichst optimale Verteilung der Zeit und Energie, kann schnell zur Herausforderung werden.

Balance zwischen technischer Tiefe und Managementaufgaben: Während der Projektmanager über den Gesamtfortschritt und die Einhaltung des Zeitplans besorgt ist, muss der Entwickler aktiv technische Probleme lösen. Die Überschneidung dieser Rollen kann zu einer Vernachlässigung der einen oder anderen führen.

Beispiel aus der Praxis

Fokus des Projekts war die Implementierung einer Schnittstelle zwischen und einiger neuen Funktionalitäten in der Vertriebs-Software (CRM) und der Produktdatenmanagement-Software (PDM). Dies mit dem Ziel, unternehmensweit eine nahtlose und effiziente Bearbeitung von Kundenanfragen zur Individualisierung von Produkten von der Sales- bis zur R&D-Abteilung zu ermöglichen. Anfangs lag der Fokus darauf, ein Team aus Mitgliedern der drei verschiedenen Business Units zusammenzustellen. Im Laufe des Projekts schwenkte der Fokus auf die Organisation von Meetings und Workshops, wo ich als Moderator zwischen den verschiedenen Stakeholdern agierte. Schliesslich galt es, die Endphase des Projekts erfolgreich zu koordinieren und einen reibungslosen Rollout sowie die Schulung der Mitarbeiter vorzubereiten. All diese Aufgaben im Blick zu behalten, die angemessene Zeit zu investieren, und währenddessen in Zusammenarbeit mit zwei externen Beratungsunternehmen das Produkt zu entwickeln und voranzutreiben, war eine der grossen Herausforderungen.

Vorteile

Trotz der Herausforderungen ergeben sich durch eine solche Dreifachrolle bemerkenswerte Vorteile:

Reduziertes Risiko des Informationsverlusts: Da alle Entscheidungen und Diskussionen innerhalb einer Person zentralisiert sind, wird das Risiko minimiert, dass entscheidungsrelevante Informationen verloren gehen.

Effizienzgewinne: Die Eliminierung der Notwendigkeit zur Abstimmung zwischen den verschiedenen Rollen kann zu erheblichen Kosten- und Zeiteinsparungen führen.

Potentielle Nachteile

Es gibt jedoch auch mögliche Fallstricke, die zu beachten sind:

Vier-Augen-Prinzip: Wenn eine Person alle drei Rollen besitzt, fehlt die Kontrolle durch eine zweite Person, wodurch das Risiko besteht, dass Überlegungsfehler erst später auffallen.

Voreingenommenheit: Die Tendenz, basierend auf eigenen Erfahrungen eine Lösung in eine bestimmte Richtung zu lenken, kann sowohl vorteilhaft als auch nachteilig sein, abhängig vom Kontext und den spezifischen Anforderungen.

Skalierbarkeitsprobleme: Je nach Umfang und Komplexität des Projekts kann der Arbeitsaufwand untragbar werden.

Lösungsansätze und persönliche Erfahrungen

Die Übernahme einer solchen Dreifachrolle in Projekten kann insgesamt vorteilhaft sein. Dazu ist es zentral, die eigene Arbeit im Bezug auf die potenziellen Nachteile laufend zu reflektieren und Gegenmassnahmen zu ergreifen, wenn man solche erkennt. Beispielsweise kann es sein, dass man als erfahrener Softwareentwickler bereits vorgefertigte Ansichten darüber hat, welche Technologien und Methoden verwendet werden sollten. Durch die alleinige Entscheidungsgewalt in der Dreifachrolle kann es leicht passieren, dass man eine bestimmte Technologie auswählt, ohne die Vor- und Nachteile ausreichend zu prüfen oder Alternativen in Betracht zu ziehen. In einem solchen Fall wäre es sinnvoll, jemanden beizuziehen, der die entsprechende Erfahrung hat und eine unabhängige Bewertung der vorgeschlagenen Lösungen vornehmen kann. Dadurch wird auch das Vier-Augen-Prinzip eingehalten und die Risiken einer einseitigen oder voreingenommenen Entscheidung können minimiert werden.


Die Komponente des technischen Hintergrundwissens

Ergänzen wir die Überlegungen zur Dreifachrolle um eine zentrale Komponente. Als gelernter Softwareentwickler, der gleichzeitig auch das Requirements Engineering und die Projektleitung übernimmt, differenziert man sich in einem wichtigen Punkt vom reinen Projektleiter: Man bringt eine fülle an technischem Hintergrundwissen und Verständnis mit.

Technisches Hintergrundwissen ist ein oft unterschätztes Attribut für einen Projektleiter, insbesondere in komplexen Softwareprojekten. Es ermöglicht nicht nur ein tieferes Verständnis der technischen Herausforderungen, sondern kann auch die Kommunikation zwischen den Entwicklern und den Requirements Engineers effizienter gestalten. Aber wie wirkt sich dies konkret auf ein Projekt aus?

Vorteile

Erleichterte Aufwandsabschätzung: Der erste und offensichtlichste Vorteil ist die erleichterte Aufwandsabschätzung. Ein Projektleiter mit technischem Hintergrundwissen kann besser beurteilen, wie viel Zeit und Ressourcen für bestimmte Entwicklungsaufgaben benötigt werden. Dies erleichtert die Planung und Priorisierung innerhalb des Projekts.

Früherkennung von Herausforderungen und Hindernissen: Ein weiterer Vorteil ist die Fähigkeit zur Früherkennung von Herausforderungen und Hindernissen, da detaillierte Systemkenntnisse vorhanden sind. Ein technisch versierter Projektleiter kann potenzielle Problemstellen frühzeitig identifizieren und geeignete Massnahmen ergreifen.

Beispiel aus der Praxis

Ein prägnantes Beispiel dafür aus meinem Projekt ist die Daten-Synchronisation zwischen dem CRM und dem PDM System. Eine ursprünglich von den Vertretern der Business Units vorgesehene bidirektionale Schnittstelle hätte die Systemkomplexität signifikant erhöht. Es hätte sichergestellt werden müssen, dass beide Systeme ständig und ohne Verzögerung alle Änderungen austauschen. Dazu müsste bei der Bearbeitung eines Felds durch einen Benutzer geprüft werden, ob das verknüpfte Feld im zweiten System ebenfalls gerade bearbeitet wird. Ohne technische Expertise wäre es für einen Projektmanager schwierig gewesen, die Herausforderungen und Risiken dieser Komplexität frühzeitig zu erkennen. In einer pragmatischen Lösung konnte daher festgelegt werden, welches System jeweils der "Master" für bestimmte Datenfelder ist. Das minimierte das Risiko von Datenkonflikten und erleichterte die Implementierung.

Potenzielle Nachteile

Voreiliges Lösungsdenken: Die Tendenz, zu schnell in Lösungen zu denken und dabei die ursprüngliche Problemstellung oder Anforderung zu vernachlässigen.

Beispiel aus der Praxis

Als Entwickler tendiert man dazu, schnell eine technisch machbare Lösung zu suchen. Dabei kann das ursprüngliche Problem oder die Anforderung in den Hintergrund rücken. In solchen Fällen kann technisches Hintergrundwissen sogar kontraproduktiv sein. Daher ist es wichtig, sich stets der unterschiedlichen Perspektiven der Rollen bewusst zu sein und diese aktiv in die Projektarbeit einzubeziehen.

Die Balance finden

Es ist entscheidend, für sich eine ausgewogene Balance zwischen technischem Wissen und Managementfähigkeiten zu finden. Ein Projektleiter sollte in der Lage sein, technische Herausforderungen zu verstehen, ohne sich dabei in den Details zu verlieren. Gleichzeitig müssen Managementaufgaben wie die Koordination des Teams und die Kommunikation mit Stakeholdern effektiv bewältigt werden. In der Rolle des Entwicklers wiederum muss über längere Zeiträume eine hochwertige Implementierung des Produkts im Fokus stehen können. Erst das ermöglicht es, das volle Potenzial eines technisch versierten Projektleiters auszuschöpfen.

Fazit

Durch die bewusste Integration von technischem Hintergrundwissen in die Projektarbeit und die Annahme mehrerer Rollen in einem Projekt kann man sich zahlreiche Vorteile zu nutze machen. Dennoch ist es wichtig, sich der damit verbundenen Risiken bewusst zu sein und diese aktiv zu managen. Die Schlüsselkompetenz liegt hier aus meiner Sicht in der Fähigkeit, sowohl technische als auch Managementaufgaben effizient zu bewältigen. Nur so kann man zeitgleich als Projektleiter als Bindeglied zwischen den verschiedenen Stakeholdern fungieren und den Überblick behalten, als Requirements Engineer die Bedürfnisse des Kunden korrekt erkennen und vertieft verstehen, sowie als Entwickler ein solides Endprodukt bauen, und somit den Projekterfolg sicherstellen.