Warum verstehen sich Softwareentwickler und die Fachleute eigentlich nicht? Muss ich als Projektmanager eine neue Sprache lernen, um vermitteln zu können?
Es gibt unzählig viele IT-Projekte, in denen Software entwickelt wird. Als Projektmanager kommt man dort zwangsläufig mit Entwicklern und der Fachseite in Kontakt. Oft hört man dann, dass die Entwickler „einfach anders ticken“ und die Schnittstelle zwischen Fachseite und Softwareentwicklung schwierig zu managen ist. Meistens versteht die eine Seite die andere Seite nicht und umgekehrt. Es scheint so, als würden sie verschiedene Sprachen sprechen.
Sehen wir uns das etwas genauer an.
Die Fachleute
Zu Beginn eines Entwicklungsprojektes gibt es eine oder mehrere Ideen bzw. Anforderungen, die umgesetzt werden sollen. Diese Anforderungen entstehen meist bei den Fachleuten, die sich mit Hilfe der erstellten Software eine Erleichterung ihrer Arbeit versprechen (z. B. die Automatisierung der Datenerfassung). Fachleuten ist es eigentlich egal, wie die Software programmiert ist, Hauptsache sie läuft fehlerfrei und enthält alle gewünschten Funktionalitäten.
Die Entwickler
Die Entwickler sind meistens nicht die Anwender der erstellten Software und kennen daher die fachspezifischen Anforderungen kaum. Das heißt, sie können sich aus dem Arbeitsprozess heraus nicht unbedingt jede Kleinigkeit vorstellen, die bei der Erstellung der Software bedacht werden muss. Entwickler wissen aber wie man Datenbanken aufbaut, nutzerfreundliche Bedienerober-flächen gestaltet und wie man Software so programmiert, dass Daten wiederzufinden sind, Auswertungen gemacht werden können und das Programm fehlerfrei läuft. Sie haben einfach mehr Liebe zum Detail und verlieren sich hin und wieder in ihrer technischen Welt.
Das bedeutet also, dass die Fachleute sagen WAS gebaut werden soll, und die Entwickler sagen WIE es gebaut wird.
Schnittstelle Projektmanager
Die Schwierigkeit in der Kommunikation liegt also darin, dass der eine sagt WAS gebaut werden soll und ihn interessiert das WIE nicht, der andere überlegt WIE es gebaut wird und hört bei dem WAS nicht richtig zu bzw. kann sich es nicht richtig vorstellen. Konkret heißt das, dass die Fachseite an Funktionalitäten, Module und Arbeitsprozesse denkt, die Entwickler hingegen an Datenbanken, Backend und Frontend denken.
Als Projektmanager muss man es nun schaffen, eine optimale Kommunikation einzurichten, die diese Schwierigkeit umgeht bzw. die daraus resultierenden Probleme behebt.
Die beste Lösung dafür sind interdisziplinäre Kollegen, die zur Fachseite gehören und zugleich das technische Verständnis für die Entwicklung mitbringen. Dann spart man sich im besten Fall die gesamte Kommunikation. Was aber, wenn man so einen Kollegen nicht in seinem Projekt antrifft?
Muss ich als Projektmanager also wirklich eine neue Sprache lernen?
Nein, in unseren Projekten lösen wir dieses Kommunikationsproblem mit der Kombination aus folgenden drei Bausteinen:
- Gespräche moderieren
In jedem Gespräch zwischen Entwickler und Fachseite, bei dem es um Anforderungen geht, geben wir beiden Seiten den Raum, ihre Motivation, Wünsche, Vorstellungen und vor allem auch Herausforderungen zu nennen. Die jeweils andere Seite hört zu und versucht sich aktiv in die vortragende Seite hineinzuversetzen. Dazu bedarf es am Anfang des Projektes am besten einen Coach oder Moderator. - Gegenseitiges Verständnis schaffen
Durch klare, (immer wieder kommunizierte) Abgrenzung der Verantwortlichkeiten (WAS und WIE) schaffen wir das Verständnis für die unterschiedlichen Disziplinen und dadurch Respekt für die Lösungserarbeitung. Durch regelmäßige und beständige Kommunikation bringen wir die Disziplinen zusammen und rücken das gemeinsame Projektziel in den Vordergrund. Hierbei gilt unser Grundsatz: Je besser mich mein Gegenüber versteht, desto besser ist die gemeinsam erarbeitete Lösung. - Gemeinsame Sprache definieren
Anforderungen oder Ideen können auf verschiedene Art und Weise aufgenommen werden. Dabei achten wir auf eine leicht verständliche Sprache für alle Beteiligten.
Es gibt zwei Extreme wie man Anforderungen in einer gemeinsamen Sprache aufnehmen kann. Zum einen gibt es die Möglichkeit viel Spielraum bei der Umsetzung zu zulassen (z.B. Userstories in der agilen Softwareentwicklung) und zum anderen gibt es formalisierte Sprachen, die sogar ein halbautomatisiertes Entwickeln ermöglichen (z.B. BPMN, UML). In welcher Ausprägung eine gemeinsame Sprache nun definiert wird, entscheiden wir je nachdem worauf der Fokus bei der Entwicklung gelegt wurde und welche Sprache für alle Beteiligten leicht zu verstehen ist. Hauptsache es wird eine gemeinsame Sprache definiert, die von jeder Disziplin gleich interpretiert wird.