Blog

Mob-Programmierung in COVID-19 Zeiten

Jeroen Rosenberg

Jeroen Rosenberg

Aktualisiert Oktober 21, 2025
6 Minuten

Was ist Mob Programming?

Einfach gesagt, geht es bei der Mob-Programmierung darum, sich mit mindestens drei Entwicklern zusammenzutun und auf einer einzigen Tastatur zu programmieren. Zu jedem Zeitpunkt tippt ein Entwickler, der 'Driver'. Alle anderen Entwickler übernehmen die Rolle des 'Navigators'. Sie alle überprüfen, diskutieren und beschreiben, was der Driver tun soll, und der Driver erzählt es. Die Rollen werden sehr häufig getauscht, damit alle frisch und engagiert bleiben. Das ist die ultimative Form der Zusammenarbeit und des gegenseitigen Austauschs.

Mobbing während der Abriegelung

Jetzt wissen Sie also, dass es bei der Mob-Programmierung darum geht, live gemeinsam an einem Stück Code zu arbeiten. Aber wie machen Sie das, wenn alle während dieser Pandemie aus der Ferne arbeiten? Mit meinem derzeitigen Team haben wir beschlossen, es trotzdem zu versuchen. Heutzutage gibt es hervorragende Tools für die Online-Zusammenarbeit, also muss es doch möglich sein, Mob-Programmierung vollständig online zu üben. Wir haben drei Tage hintereinander in einem Mob Programming Hackathon geübt. Im Folgenden beschreibe ich meine Erfahrungen.

Mein derzeitiges Team besteht aus fünf Entwicklern, zwei Full-Stack- und drei Backend-Entwicklern (mich eingeschlossen). Wir waren alle sehr gespannt auf dieses Online-Mob-Programmier-Experiment. Als erstes mussten wir uns entscheiden, welche Tools wir verwenden wollten. Wir wussten bereits, dass wir Slack oder Zoom verwenden würden, um einen Videoanruf einzurichten. Es ist sehr wichtig, dass wir miteinander sprechen und uns gegenseitig lesen können (z.B. anhand der Mimik). Da wir alle IntelliJ als IDE verwendeten, sahen wir ungefähr zwei Optionen:

  1. Nutzen Sie die integrierte Bildschirmfreigabe von Slack oder Zoom
  2. Verwenden Sie ein zusätzliches Tool für die kollaborative Entwicklung, das sich mit IntelliJ integrieren lässt (z.B. Code With Me oder CodeTogether)

Warum wir mehr brauchten als Screen Sharing

Wir alle haben bereits Erfahrungen mit der Programmierung zu zweit mithilfe von Tools zur gemeinsamen Bildschirmnutzung gemacht. Im Allgemeinen funktioniert das ziemlich gut, aber es gibt auch ein paar Nachteile.

  • Der Wechsel des Treibers verläuft in der Regel nicht reibungslos. Der aktuelle Treiber muss die Bildschirmfreigabe beenden, bevor der neue Treiber die Arbeit übernehmen kann. Der Code muss mit Hilfe von VCS synchronisiert werden und der neue Driver muss den Ort suchen, an dem er mit der Codierung fortfahren kann. Aufgrund dieser "Belastung" wird der Rollentausch nicht oft genug stattfinden. Die Fahrer werden müde und die Navigatoren schalten ab.
  • Es ist schwer zu navigieren, wenn jemand anderes den Bildschirm steuert. Als Navigator ist es in der Regel nicht einfach, auf die Stelle auf dem Bildschirm zu zeigen, zu der Sie eine Bemerkung machen möchten. Jeder, der schon einmal Code per Bildschirmfreigabe geteilt hat, z.B. während einer Code-Review-Sitzung, wird die verzweifelten Schreie kennen: "KÖNNEN SIE BITTE AUFHÖREN ZU SCROLLEN".
  • Die gemeinsame Nutzung von Bildschirmen beansprucht normalerweise Ressourcen wie CPU und Netzwerkbandbreite.

Bringen wir die Sache auf die nächste Stufe

Die oben erwähnten Unzulänglichkeiten haben uns veranlasst, uns nach anderen Tools für die Bildschirmfreigabe umzusehen. Jemand in meinem Team erwähnte Code With Me und wir beschlossen, das einmal auszuprobieren. Code With Me ist ein von JetBrains entwickeltes Plugin für IntelliJ, das die gleichzeitige Bearbeitung ermöglicht. Ein Entwickler veranstaltet eine Sitzung und teilt einen Link, über den andere daran teilnehmen können. Beim Beitritt zu einer Sitzung (im Hintergrund) wird ein IntelliJ-Client heruntergeladen und gestartet, so dass Sie den Code in der IDE des Gastgebers sehen und bearbeiten können.

Fünf Entwickler, ein Editor

Abgesehen von ein paar anfänglichen Verbindungsproblemen war die erste Erfahrung großartig. Der Treiberwechsel ist schnell. Sehr schnell. Tatsächlich ist überhaupt kein Umschalten erforderlich. Alle Teilnehmer haben ihren eigenen Cursor und können Code schreiben. Das macht es wirklich einfach, Ideen oder Vorschläge einzubringen. Sie brauchen den Driver nicht zu diktieren, sondern können ihn einfach selbst schreiben. Alle waren sehr engagiert, und wir hatten einen tollen Start in eine fruchtbare Coding-Session.

Fairerweise muss man sagen, dass die gleichzeitige Bearbeitung auch einige Tücken hat. Sie kann manchmal ziemlich chaotisch sein. Die klare Trennung zwischen der Rolle des Fahrers und des Navigators ist nicht mehr gegeben. Das kann zu Verwirrung führen. "Soll ich das tippen oder machst du das?" In dem Chaos vergessen die Navigatoren vielleicht, dass sie sich in das Geschehen einmischen können und fangen wieder an, anderen zu diktieren. Oder sie schalten inmitten der Anarchie ab.

Es erfordert also von allen Beteiligten eine gewisse Disziplin. Seien Sie geduldig. Geben Sie anderen Zeit und Raum, um ihre Ideen zu präsentieren. Sorgen Sie dafür, dass alle beteiligt bleiben. Wenn Sie bemerken, dass jemand anfängt zu diktieren, bieten Sie ihm an, seinen Vorschlag stattdessen aufzuschreiben (Das kam in unserem Fall häufig vor, wahrscheinlich auch, weil wir uns an diese neue Form der Zusammenarbeit gewöhnt hatten). Wenn jemand eine Zeit lang still oder inaktiv war, versuchen Sie, ihn wieder einzubeziehen, indem Sie ihn nach seiner Meinung fragen oder ausdrücklich die Rolle des Fahrers wechseln.

Außerdem ist uns aufgefallen, dass Sie, wenn Sie einer Code With Me-Sitzung beitreten, an die Tastenkombinationen des Gastgebers gebunden sind. Das kann sich durchaus auf die Produktivität auswirken, wenn Sie nicht in der Lage sind, Ihre bevorzugten Tastenkombinationen zu verwenden. Eine Gegenmaßnahme könnte sein, dass Sie versuchen, Ihre IDE-Einrichtung so weit wie möglich an Ihren Mob anzupassen. Vielleicht wäre es auch eine nette Funktion des Plugins, sicherzustellen, dass jeder seine lokalen Tastenkombinationen verwenden kann. Vielleicht wird dies bereits von anderen Tools oder Plugins unterstützt, die wir noch nicht ausprobiert haben.

Und schließlich gab es gelegentlich Netzwerkprobleme und Synchronisationsstörungen. Manchmal verschwand dadurch Code, den Sie bereits eingegeben hatten. Das war ein wenig frustrierend, hatte aber insgesamt keine großen negativen Auswirkungen auf das Gesamterlebnis.

Es wäre toll, Alternativen zu Code With Me auszuprobieren, z.B. CodeTogether, um zu sehen, wie sie im Vergleich abschneiden. Wenn Sie Vorschläge für Tools haben, die Sie ausprobieren möchten, hinterlassen Sie sie bitte in den Kommentaren!

Fazit

Wir haben an drei aufeinanderfolgenden Tagen die Online-Mob-Programmierung geübt. Es war eine ziemlich intensive, aber vor allem spannende und lustige Erfahrung. Alle haben sich angeregt und inspiriert gefühlt. Auch mit dem Endergebnis waren wir alle zufrieden und hatten das Gefühl, dass es uns wirklich gehört. Jeder hat seinen Beitrag geleistet, indem er Code schrieb und überprüfte. Wir haben die kollegiale Überprüfung des Codes und den Wissenstransfer sozusagen in den Codierungsprozess eingebettet, während dies normalerweise eine separate und zusätzliche Aktivität ist. Es fühlte sich fast so an, als ob wir geschummelt und einen Schritt im Entwicklungsprozess übersprungen hätten.

Die ganze Erfahrung hat uns klar gemacht, dass wir so etwas gerne öfter machen würden. Es war großartig zu sehen, dass wir während des COVID-19 Lockdowns dieses Niveau der Zusammenarbeit erreichen konnten.

Danke, dass Sie meine Geschichte gelesen haben. Ich würde mich freuen, Ihre Gedanken und eigenen Erfahrungen sowie Vorschläge zur Verbesserung der Online-Mob-Programmierung zu hören!

Verfasst von

Jeroen Rosenberg

Dev of the Ops / foodie / speaker / blogger. Founder of @amsscala. Passionate about Agile, Continuous Delivery. Proud father of three.

Contact

Let’s discuss how we can support your journey.