Paarlauf der Profis
Von Thomas Alexander George und Oliver Duday, Volkswagen AG
Pair Programming ist zwar nicht mehr das neue, das ganz große Ding, aber erst allmählich halten agile Methoden auch Einzug in die IT-Abteilungen großer Organisationen und Unternehmen. Deswegen können diese Arbeitstechniken nach wie vor als eine innovative Entwicklung im Developer-Bereich gelten. Dass zwei Software-Entwickler gemeinsam, gleichberechtigt und mit abwechselnden Rollen am gleichen Code arbeiten, gehört vielerorts noch längst nicht zum Alltag. Dabei sind die Vorteile durchaus bekannt: Qualitätssteigerung, Fehlervermeidung und Wissenstransfer gehören da zu den besten Argumenten. Ein weiterer positiver Effekt und bedeutender Erfolgsfaktor der Paarprogrammierung ist, dass die konkrete Entscheidungskompetenz für ein Projekt in der Regel auf die beiden Partner übergeht.
Oft wird ein solcher Schritt von den Software-Entwicklern positiv aufgenommen und unterstützt. Das zeigen auch die Erfahrungen in großen Unternehmen, etwa im Software Development Center (SDC) von Volkswagen. IT-Fachleute sind ja in der Regel bereit dazu, Verantwortung für Projekte und Entwicklungen zu übernehmen. Die Entwickler im SDC greifen hier auf die Methoden des Pair Programming zurück: Entscheidungen treffen sie nicht alleine, sondern zu zweit nach Rücksprache mit dem jeweiligen Team. Im Zweifel hilft diese Praxis wesentlich bei weitreichenden Entscheidungen.
Praxisbeispiel SDC
Von Beginn an setzt das SDC auf agile Methoden beim Programmieren. Es ist daher ein gutes Beispiel für eine erfolgreiche Implementierung neuer Arbeitstechniken in ein bestehendes Großunternehmen. Nicht zuletzt bietet ein solcher Prozess für externe IT-Fachleute auch immer die Möglichkeit, an das Unternehmen anzudocken oder sich dort zu bewerben. Eine der Hauptaufgaben des SDC ist es, sich den Herausforderungen der digitalen Transformation im Unternehmen zu stellen. Was sich erst einmal wenig aussagekräftig anhört, verfolgt dennoch ganz konkrete Vorgaben: Das SDC entwickelt Produkte, die über das traditionelle Kerngeschäft des Automobilherstellers weit hinausgehen. Das erklärte Ziel ist es, den Weg des Konzerns zum integrierten Mobilitätsdienstleister zu unterstützen. Als wesentlicher Erfolgsfaktor fungiert in diesem Kontext eine auf flachen Hierarchien beruhende Arbeitskultur mit agilen Teams.
Konkret stellt sich der Alltag so dar, dass die Entwickler neben dem Pair Programming eng in crossfunktionalen Teams zusammenarbeiten. Innerhalb dieser Arbeitsgruppen finden sich hauptsächlich drei verschiedene Rollen, die einander ergänzen sollen: Die Software-Developer, die UX/UI-Designer, zuständig für das Interface- und Interaction-Design, und die Produktmanager. Während letztere die Funktionalität der App, der Software oder der Website festlegen, verstehen die Designer genau, wo der Bedarf des Users liegt und wie sich das Projekt optisch so gestalten lässt, dass die Anwendung nebenbei auch Spaß macht.
Programmierer Lars Gohr im Software Development Center der Volkswagen Konzern-IT in Wolfsburg. (Bild: Volkswagen AG)
Qualitativ hoher Output
Eine Frage, die beim Pair Programming allerdings immer im Raum steht, ist die nach der Effizienz: Ist das Ergebnis tatsächlich qualitativ höherwertig und lohnt dies die möglicherweise längere Entwicklungsdauer? Die Erfahrungen aus dem SDC zeigen, dass es durchaus die Qualität erhöht, wenn zwei Leute mit unterschiedlichem Background zusammenarbeiten. Beim Coden haben Entwickler ihre Problemlösung meist schon im Kopf und setzen diese um. Ein Pairing-Partner stellt alternative Szenarien zur Diskussion und öffnet die Perspektive. Das gilt besonders, wenn die beiden aus unterschiedlichen Disziplinen kommen. Auf diese Weise kann ein Tunnelblick gar nicht erst entstehen.
Damit wird die Projektrealisierung zwar nicht sofort schneller, aber die Qualitätssteigerung ist „in the long run“ spürbar besser und spart vor allem gegen Ende hin viel Zeit. Denn die ständige gegenseitige Reflexion minimiert das Risiko, dass sich Fehler einschleichen oder Bugs eingebaut werden. Bilden zwei Fachleute aus demselben Technologiebereich ein Entwicklerpaar, wird auch der Zeitfaktor kleiner, weil beide sich ergänzen, abwechseln und die Bälle zuspielen können.
Quereinsteiger ausdrücklich erwünscht
Neue Mitspieler haben aufgrund der offenen Teamstrukturen in Unternehmen, die agile Strukturen stützen, gute Karten. Der Ausbildungshintergrund der SDC-Fachleute beispielsweise reicht vom IT-Studium mit Fokus Software-Entwicklung bis zu den Bereichen Industrial Design oder Mediendesign. Aber nicht nur ausgebildete Entwickler stehen bei deutschen Unternehmen auf der Wunschliste. Auch Medieninformatiker und Mathematiker kommen inzwischen in vielen IT-Abteilungen zum Zug, wenn sie sich für das Thema interessieren und beispielsweise in ihrer Freizeit bereits Erfahrungen mit Software-Entwicklung gesammelt haben. Ein Quereinstieg ist in agilen Teams häufig absolut möglich, zu einem gewissen Teil sogar gewünscht. Gerade Fachfremden gelingt der Perspektivwechsel, den es in der Qualitätssicherung so oft braucht, viel leichter. Die Hauptsache ist, dass die neuen Kollegen wirklich für die Themen brennen und offen sind für das Pair Programming. Das ist im Zweifel mindestens so wichtig wie der Lebenslauf, der auf dem Papier steht.
Sollte ein Bewerber schon einmal mit agilen Methoden in Berührung gekommen sein, ist das im SDC ein klarer Vorteil, aber keine Voraussetzung für eine Einstellung. Grundsätzlich wird versucht, eine gesunde Mischung der Projektteams hinzubekommen: Die Arbeitsgruppen bestehen aus Newbies, die eventuell direkt von der Universität kommen, bis hin zu alten Hasen, die schon mehrjährige Erfahrung in der agilen Software-Entwicklung vorweisen können.
Beim Pairing konzentrieren sich die IT-Spezialisten stets in Zweierteams auf dieselben Inhalte ihrer jeweiligen Aufgabe. (Bild: Volkswagen AG)
Permanenter Wissenstransfer
Die große Bandbreite an Backgrounds in den SDC-Entwicklerteams und bei den Paarprogrammierern sorgt für einen ständigen Austausch an Wissen. Die drei Fraktionen aus Software-Entwicklern, Designern und Produktmanagern arbeiten im gleichen Team und sitzen am gleichen Tisch. Hat jemand etwa eine sehr starke Frontend-Entwicklungskompetenz, wird er optimalerweise gepairt mit einem Kollegen, der eine deutlich stärkere Erfahrung in der Backend-Entwicklung hat. Dadurch ergibt sich dann die Möglichkeit, voneinander zu lernen und Abstimmungsprobleme zu vermeiden.
Schwarz auf Weiß
Dieser Beitrag ist zuerst in unserer Magazinreihe „IT & Karriere“ erschienen. Einen Überblick mit Download-Links zu sämtlichen Einzelheften bekommen Sie online im Pressezentrum des MittelstandsWiki.
Ein anderes Beispiel für den fortlaufenden Wissenstransfer bei den Devs ist der Cloud-native Entwickler, der vielleicht keine Ahnung von Swift oder Objective-C hat. Arbeitet dieser mit einem iOS-Experten zusammen, kann dort ein massiver beiderseitiger Wissenstransfer stattfinden. Hin und wieder wird allerdings auch beim SDC rollenübergreifend gepairt, weil dadurch im Team das gegenseitige Verständnis für die jeweiligen Kompetenzen gefördert wird. Im Bereich Design könnte das bedeuten, dass eine erfahrene Visual-Designerin mit einem frisch ausgebildeten Interaction-Designer ein Paar bildet. Für beide bietet das die Möglichkeit, zwei unterschiedliche Erfahrungen zu bündeln und daraus zu lernen.
Damit sich der Wissenstransfer nicht nur auf die verschiedenen Facetten eines bestimmten Produktes bezieht, sondern sich auch auf andere Themen ausweiten kann, arbeiten die Entwicklungsteams im SDC nach dem Rotationsprinzip. Wird ein Software-Developer drei oder vier Monate bei Produkt A eingesetzt, kann er sich auf ein sogenanntes Rotationsboard stellen lassen und wird dann eventuell in anderen Projekten eingesetzt, die ebenfalls seiner Kenntnisse bedürfen. Für ihn selbst ergibt sich somit zusätzlich die Möglichkeit, eine neue Technologie kennenzulernen.
Geteilte Leadership
Der permanente Austausch von Wissen und Erfahrungen und das Wechseln der jeweiligen Perspektiven machen auch vor den beiden Leitern des SDC nicht halt. Beide Manager teilen sich in einer Art Pair Leadership die Führung des VW-Innovationsmotors – und sind begeistert von dem Modell. Da sich beide in der gleichen Situation befinden, haben sie immer einen kompetenten Gesprächspartner, der die Herausforderungen kennt und mit dem man offen und ehrlich über problematische Themen sprechen kann. Die Qualität der Entscheidungen erhöht sich dadurch deutlich. Sehr hilfreich ist es außerdem, dass beide in der Regel unterschiedliche Netzwerke im Unternehmen haben und nicht zuletzt dadurch immer zwei Blickwinkel auf ein und dasselbe Thema nutzen können. Dies stellt – wie beim eigentlichen Pair Programming – einen enormen zusätzlichen Qualitätsfaktor dar.
Thomas Alexander George ist 2018 vom Head of Software Development Centre Wolfsburg zum Head of Digital Lab/Software Development Centre Lissabon aufgerückt und verantwortet dort die Entwicklung Cloud-basierter Software-Lösungen zur weiteren Digitalisierung der Unternehmensprozesse im Konzern und zum vernetzten Fahrzeug. Olilver Duday ist Leiter des Software Development und führt u.a. das Programm „IT Nachwuchskräfte“.
Volkswagen AG, Berliner Ring 2, 38440 Wolfsburg, Tel.: (05361) 9-0, vw@volkswagen.de, www.volkswagen.de
Mein Pairing-Partner wartet schon
Die partnerschaftliche Zusammenarbeit, so lässt sich festhalten, erstreckt sich also auf alle Ebenen des SDC. Seit das Entwicklungscenter im Dezember vergangenen Jahres offiziell in Betrieb genommen wurde, wächst die Zahl der Mitarbeiter kontinuierlich. Dabei wird nicht nur intern nach neuen Teammitgliedern Ausschau gehalten, sondern auch außerhalb des Unternehmens – das Wachstum für das SDC ist noch lange nicht beendet. Es werden sich also noch viele Paare finden.