mob.sh – Das Power-Tool für Pair- & Mob Programming

Tool-Tipp: mob.sh

Das Power-Tool für Pair- & Mob-Programming

Avatar von Emanuel Vollmer

Wer kennt es nicht? Ab und zu bleibt in einem Pairing oder Mob Programming der\*die Driver über längere Zeit dieselbe Person. Das ist nicht nur anstrengend, sondern verhindert, dass sich alle aktiv an der Lösungsfindung beteiligen.

Was also tun, um dieses Problem zu umgehen?

mob.sh

Ich möchte euch ein Tool vorstellen, das eure Pair/Mob Programming Sessions auf das nächste Level heben wird. Wir setzen es aktiv im Projekt ein und sind überzeugt, dass es eure Developer Experience verbessern wird.

Die Rede ist von mob.sh, das dafür sorgt, dass ihr regelmäßig wechselt.

“mob” ist dabei das CLI-Tool, mit dem wir direkt arbeiten. Optional können wir mit der Tracking-Webseite timer.mob.sh überwachen, welcher Dev gerade dran ist.

Installation und Konfiguration der mob CLI

Als erstes braucht jeder das CLI Tool. Das lässt sich wie hier beschrieben installieren; da ist für jeden präferierten Weg etwas dabei.

Bevor ihr eure erste Session startet, könnt ihr optional eine ~/.mob-Config anlegen, in der ihr einen „Session“-Namen vergebt. Dies ermöglicht dem Tool, auf timer.mob.sh einen Raum für euch zu erstellen, der anzeigt, wann ihr wechseln müsst (mit Ton). Eine genauere Beschreibung findet ihr unter mob.sh.

Wichtig: für die Tonausgabe müsst ihr separat Pakete nachinstallieren.

Die erste Session, mob in der Praxis

Wenn jeder, der an der Session teilnimmt, nun das Tool installiert hat, kann es losgehen.

Der erste wechselt zum starten der Mob-Session auf den Feature-Branch, an dem ihr arbeiten wollt, und startet die Session mit mob start <Minuten>.

Es wird für euch ein Branch mit mob/<original-branch-name> erstellt und gepusht. Habt ihr euren Feature-Branch noch nicht gepusht, müsst ihr mob start noch --create mitgeben, damit der Original-Branch ebenfalls gepusht wird.

Nun könnt ihr eure Session beginnen. Das Tool wird euch durch das Wort „mob“ darauf hinweisen, dass ihr wechseln müsst.

Zusätzlich – falls ihr timer.mob.sh verwendet – bekommt ihr eine Audio-Ausgabe als Hinweis für den Wechsel.

Immer der Reihe nach

Nachdem die erste Session vorbei ist, könnt ihr mit mob next den Driver wechseln. Dies committet und pusht alle Änderungen automatisch, sodass der nächste Driver beginnen kann.

Wenn ihr das erste Mal als Driver an die Reihe kommt, müsst ihr auf den Feature-Branch wechseln und mit mob start <Minuten> eure Session beginnen.

Das geht dann reihum, bis alle dran waren. Ab da sagt euch das Tool, wer als Nächstes dran sein wird.

Wollt ihr eine Pause einlegen, könnt ihr das mit mob break <Minuten> tun. Dann bekommt ihr auch mit, wann die Pause vorüber ist.

Alles im Flow

Wenn ihr fertig seid, könnt ihr mob done auf eurem Mob-Branch aufrufen. Damit wechselt das Tool auf den ursprünglichen Branch und fügt alle Änderungen auf dem Mob-Branch zu eurem Workspace hinzu, damit ihr daraus einen oder mehrere Commits erstellen könnt. Zusätzlich löscht das Tool den Mob-Branch lokal und remote.

Hier ein Beispiel-Flow einer Session:

Carola
main $ mob start
mob/main $ echo "hello" > work.txt
mob/main $ mob next

Maria
main $ mob start
mob/main $ cat work.txt # shows "hello"
mob/main $ echo " world" >> work.txt
mob/main $ mob next

Carola
mob/main $ mob start
mob/main $ cat work.txt # shows "hello world"
mob/main $ echo "!" >> work.txt
mob/main $ mob done
main $ git commit -m "create greeting file"
main $ git push

Probiert das Tool bei euch im Team einfach aus, vielleicht unterstützt es euch auch so, wie es uns unterstützt.

Wenn ihr noch mehr Interessantes zu Pair-Programming erfahren wollt, dann schaut doch mal in unseren Blog:

In eigener Sache …

Mit WebAssembly die Kosten für die Wartung Deiner Cloud-Anwendung sparen und die Wirtschaftlichkeit und Effizienz des Unternehmens steigern?

Am 26. September 2024 um 11:30 Uhr bieten Dir unsere Experten einen tiefen Einblick in ein spannendes R&D-Projekt.

Melde Dich jetzt kostenlos an!

Avatar von Emanuel Vollmer

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


Für das Handling unseres Newsletters nutzen wir den Dienst HubSpot. Mehr Informationen, insbesondere auch zu Deinem Widerrufsrecht, kannst Du jederzeit unserer Datenschutzerklärung entnehmen.