Doppelt hält besser

Agile Softwareentwicklung: 5 Tipps für erfolgreiches Pair Programming

Michael Ramsperger

© Shutterstock /rkjaer

Entwicklungsabteilungen stehen unter immensem Druck: Immer schneller müssen sie neuen Code entwickeln, um mit den Innovationen aus dem Silicon Valley mithalten zu können und die digitalen Geschäftsmodelle ihrer Firmen oder Kunden erfolgreich und schnell umzusetzen. Deshalb suchen sie nach Ideen, wie sie die Spielregeln neu definieren, ihre Produktivität erhöhen und Synergien innerhalb ihres Teams nutzen können. Einen möglichen Ansatz bietet das Pair Programming.

Obwohl es diese Arbeitstechnik bereits seit langer Zeit gibt, nimmt sie erst jetzt eine zunehmend zentrale Rolle in der Entwicklungsbranche ein. Schließlich kommen zwei Köpfe gemeinsam zu schnelleren und besseren Ergebnissen als einer – durch Pair Programming können Entwickler qualitativ hochwertigere Codes mit weniger Fehlern entwickeln. Zudem wird der Teamgeist der Entwickler durch die gemeinsame Arbeit gestärkt und das Zeitmanagement verbessert.

Nicht zu unterschätzen ist auch die gesteigerte Motivation der Programmierer, wenn sie mehr Freude an der Arbeit haben. Durch Pair Programming erhöhen sich die Entwicklungskosten nur minimal. Dabei muss sich ein Unternehmen auch immer Folgendes bewusst machen: Je später ein Fehler entdeckt wird, desto teurer kommt es einem Unternehmen zu stehen. Pair Programming kann die Folgekosten erheblich minimieren, da tendenziell weniger Fehler unterlaufen. Branchengiganten wie Facebook und Square nutzen die neue Arbeitstechnik bereits Square enthüllte kürzlich, dass bereits 15 Prozent seiner Entwicklungsingenieure paarweise arbeiten.

Pair Programming eignet sich vor allem für komplizierte Codes, bei denen vier Augen besser sind als zwei, Aufgaben mit potenziell hohem Fehlerrisiko, bei denen Codes durch hohe Qualität schneller in Produktion gehen können, sowie Aufgaben, die neue Techniken erfordern. Hat ein Programmierer bereits mit ähnlichen Techniken gearbeitet, kann er die anderen Programmierer an seinem Wissen teilhaben lassen und konstruktive Vorschläge in gemeinsame Aufgaben einfließen lassen. Was aber macht Pair Programming erfolgreich, und was sollte man dabei vermeiden?

5 Tipps: So ist Pair Programming auch in Ihrem Unternehmen erfolgreich

1. Arbeiten Sie gleichzeitig an der Entwicklung desselben Codes

Erfolgreiche Programmierer tauschen sich ständig über das Codedesign und neue Ansätze aus und arbeiten gemeinsam an der Weiterentwicklung. Die Entwickler bei Pivotal nutzen zwei Tastaturen, zwei Mäuse, einen Bildschirm und einen Computer. Ein Entwickler übernimmt die Steuerung und schreibt den Code ‑ er ist der Pilot. Der andere nimmt die Rolle des Navigators ein: Er konzentriert sich darauf, dass der Code korrekt ist und denkt über Verbesserungen am Design der Anwendung nach – er stellt sicher, dass die Best Practices eingehalten werden. Allerdings gibt es keine feste Rollenverteilung: mindestens in einem Halbstundenrhythmus sollten die Rollen getauscht werden. So bleiben beide Programmierer motiviert und aufmerksam. Auch zwischen den Paaren werden die Partner von Zeit zu Zeit gewechselt. Auf diese Weise wird sichergestellt, dass jedes Teammitglied alle Teile des Projekts kennenlernt.

2. Stellen Sie die Programmierer je nach Aufgabe zu Zweierteams zusammen

Es ist sinnvoll, anhand der Aufgabe über die Teamzusammensetzung zu entscheiden. Geht es um Wissens- und Know-how-Transfer, sollten ein Junior- und ein Seniorprogrammierer zusammenarbeiten – so werden die besten Lerneffekte erzielt. Steht jedoch die Codequalität, das Vermeiden von Fehlern oder die Umsetzung schwieriger Aufgaben im Vordergrund, sollten möglichst zwei Seniorprogrammierer miteinander arbeiten. So wird eine hohe Effizienz und eine geringe Fehlerquote garantiert. Steht nicht die Wissensvermittlung an einen Junior an erster Stelle, sollte generell darauf geachtet werden, dass die Programmierpartner über vergleichbare fachliche Kompetenzen verfügen. Sonst stellt sich unter Umständen schnell ein Lehrmeister-Schüler-Gefühl ein, das positive Dynamiken hemmen kann. Da sich die Paare auch oftmals erst aneinander gewöhnen müssen, haben sich zu häufige Neuzusammensetzungen als kontraproduktiv erwiesen.

3. Gemeinsames Frühstück und „Stand up“-Meetings fördern Teamzusammenhalt und Kreativität

Beginnen Sie den Tag mit einem kurzen Meeting von ca. drei bis fünf Minuten: Alle Kollegen stellen sich in einem Kreis auf und tauschen sich über Ideen aus, die dann im Team besser genutzt werden können. Bei Pivotal führen wir diese kurzen Meetings jeden Morgen durch. Zuerst frühstücken wir gemeinsam, anschließend stehen wir auf, um die Details aktueller Projekte zu besprechen – manchmal werden sogar ganze Codezeilen, die von den einzelnen Gruppen entwickelt wurden, im Team besprochen. Das gemeinsame Frühstück ist ein wichtiger Faktor, denn so folgt das ganze Büro dem gleichen Rhythmus. Außerdem erhält jeder Mitarbeiter die Möglichkeit, persönliche Kontakte zu knüpfen – das wirkt sich auch positiv auf die gemeinsame Arbeit an den Codes aus.

4. Halten Sie engen Kontakt zum Produktmanager

Wenn der Produktmanager schon in einer sehr frühen Phase der Softwareentwicklung hinzugezogen wird, entwickelt der Programmierer ein besseres Verständnis für die Anforderungen. Wenn beispielsweise eine Anwendung für Datenanalyse entwickelt werden soll, um einen besseren Einblick in das Verhalten des Kunden zu bekommen, entwickeln die Programmierer nachweislich eine intelligentere Anwendung, wenn sie direkt neben einem Entwickler arbeiten. Vorteil ist, dass der Entwickler ständig Feedback geben kann und neue Ideen entwickelt, wie die Anwendung funktionieren soll.

5. Testen, testen, testen

Auch bei Pair Programming können Fehler unterlaufen – Entwickler sollten deshalb durch Test-driven Development (TDD) sicherstellen, dass die entwickelte Software wirklich den Anforderungen entspricht. Dieser Prozess basiert auf der ständigen Wiederholung eines sehr kurzen Entwicklungszyklus: Die Entwickler müssen zuerst einen Test schreiben, der fehlschlägt, bevor sie einen Code schreiben, der gerade ausreicht, um den Test zu bestehen. Schließlich überarbeiten sie den Code nochmal, um ihn an den Standard anzugleichen.

W-JAX 2018 Java-Dossier für Software-Architekten

Kostenlos: 40+ Seiten Java-Wissen von Experten

Sie finden Artikel zu Enterprise Java, Software-Architektur, Agilität, Java 11, Deep Learning und Docker von Experten wie Kai Tödter (Siemens), Arne Limburg (Open Knowledge), Manfred Steyer (SOFTWAREarchitekt.at) und vielen weiteren.

4 Don’ts: Was Sie beim Pair Programming vermeiden sollten

1. Ablenkungen während der Programmierungsarbeit

Wenn zwei Programmierer zusammenarbeiten, muss jeder für sich sehr diszipliniert sein. Ablenkungen durch E-Mails, soziale Netzwerke oder Einkäufe im Internet behindern nicht nur den Fortschritt eines Programmierers, sondern auch den seines Partners. Deshalb sollten für die Pausen genaue Zeiten vereinbart werden, an die sich beide halten.

2. Sich wegen möglicher Fehler sorgen

Pair Programming kombiniert das Wissen zweier Menschen für die Lösung eines Problems. Es ist schwierig, vollkommen neue Wege zu beschreiten, wenn der Entwickler einen Partner hat, der zuerst alle Handlungen in Frage stellt. Wie oben angeführt, muss die Software schließlich regelmäßig getestet, ein neuer Code entwickelt und Feinabstimmungen gemacht werden, bis alles stimmt. Wichtig ist, dass die Partner für andere Lösungswege offen sind und auch alternative Ideen nicht ablehnen. Die konstruktive Arbeit muss immer im Mittelpunkt stehen: Sowohl ausufernde Diskussionen zur Verteidigung des eigenen Standpunkts als auch Schweigen zur falschen Zeit können kontraproduktiv sein.

3. Die Pausen nicht einhalten

Pair Programming ist sowohl physisch als auch mental anstrengend: Entwickler arbeiten täglich acht Stunden sehr konzentriert, und ihre Handlungen werden vom Partner direkt hinterfragt. Sie sollten deshalb regelmäßig Pausen einlegen – das entspannt die Augen und auch das Gehirn. Bei Pivotal spielen viele Programmierer in ihrer festgelegten Pause Tischtennis und lassen in dieser Zeit Tests auf ihrer Software laufen.

4. Stilles Arbeiten

Einer der größten Vorteile des gemeinsamen Programmierens besteht im Wissensaustausch zwischen den Teams. Die besten Paare bei uns unterhalten sich fast ununterbrochen. Sie lernen voneinander, indem sie beständig Feedback, alternative Vorschläge und Lösungen von ihren Kollegen einholen. Pilot und Navigator müssen sich aufeinander einstellen und die Gedankengänge des Partners nachvollziehen können. Bestehen Unklarheiten oder Differenzen, sollten entsprechende Nachfragen erfolgen und abweichende Ansätze gemeinsam diskutiert werden.

Fazit

Pair Programming verbreitet sich momentan rasend schnell, da immer mehr Unternehmen nach der besten Möglichkeit für die agile Softwareentwicklung suchen. Natürlich gibt es noch weitere Arbeitsmodelle, die ebenfalls hilfreich sein können – wir haben jedoch mit Pair Programming sehr gute Erfahrungen gemacht. Unsere Entwickler arbeiten effizienter, konzentrierter und motivierter – und die Software ist qualitativ hochwertig und innovativ.

Geschrieben von
Michael Ramsperger
Michael Ramsperger
Michael Ramsperger ist Country Manager Germany und Sales Director Central EMEA bei Pivotal.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: