Wissenstransfer, die Ideen und Kompetenzen von vielen nutzen, Einarbeiten neuer Kollegen – Mob und Pair Programming sind wirklich sinnvolle Arten der Zusammenarbeit. Aber wann eignet sich welche der beiden Arbeitsmethoden am besten?
Beim Pair Programming sitzen zwei Entwickler gleichzeitig vor einem Bildschirm und bilden somit ein „Pair". Einer der beiden programmiert, der Zweite liest die Codezeilen mit. Nach dem Motto "vier Augen sind besser als zwei" wird so der Code von beiden Entwicklern gleichzeitig geschrieben. Besonderen Charme hat dieses Vorgehen deshalb, weil die beiden Entwickler einerseits besseren und sauberen Code schreiben und sich andererseits gegenseitig zu innovativem Denken motivieren. Der Austausch zwischen den Entwicklern zum geschriebenen Code führt dazu, dass sie voneinander lernen und ihr Wissen erweitern.Tipp: Nach einer zuvor vereinbarten Zeit sollten Coder und Mitleser sich abwechseln, um Ermüdungserscheinungen (nachlassende Konzentrationsfähigkeit) vorzubeugen.
Beim Mob Programming sitzt das gesamte Team vor einem großen Bildschirm und nur einer aus dem Team programmiert. Die Besonderheit ist hierbei, dass das programmierende Teammitglied nicht seine eigenen Gedanken in Code verwandelt, sondern das restliche Team über den nächsten Codeabschnitt diskutiert. Der Entwickler an der Tastatur muss aus der Diskussion heraushören, wie die nächsten Codezeilen aussehen werden bzw. lässt er sich diese teilweise sogar diktieren (je nach Erfahrungsgrad). Durch die Diskussion wächst nicht nur bei jedem Teammitglied die Erfahrung im Umgang mit komplexen Problemstellungen, sondern gleichzeitig auch das Wissen über den Code. Jeder im Team ist in der Lage, den Code zu verstehen, weiß worum es geht und kann schnell Code Refactoring betreiben.Tipp: Diese Art des Programmierens ist für denjenigen, der gerade tippt, sehr anstrengend. Daher sollte der codende Entwickler nach ca. 10-15 Minuten von einem anderen Teammitglied abgelöst werden. Bei einer Teammitgliederanzahl von mehr als vier ist es besser, mit einem Beamer zu arbeiten, statt auf einen Bildschirm zu starren. So kann jeder einfach folgen und niemand versperrt einem anderen Teamkollegen die Sicht.
Meine persönliche Erfahrung mit beiden Methoden hat gezeigt, dass es bei neuen Thematiken sinnvoller ist, erstmal gemeinsam zu starten, um eine gemeinsame Laufrichtung zu finden. Im nächsten Schritt sollte man das Team in kleine Pairs aufbrechen, um sich die geschnittenen Themen zu erarbeiten. Nach einiger Zeit trifft man sich wieder als Team im Mob, fügt die Codefragmente zu einem gemeinsamen Code zusammen, testet gemeinsam und bleibt für die weitere Entwicklung im Mob. Oder: Das Team einigt sich auf die nächsten Einzelthemen, die wieder im Pair erarbeitet werden. So entsteht ein angenehmer Arbeitsflow, bei dem das Wissen aller Teammitglieder stark wächst und das Produkt dadurch schnell, effizient, effektiv und erfolgreich geliefert werden kann.Foto: (c) rawpixel