Von Virtual Office zu WebStorm: Eine bessere Lösung für effizientes Pair Programming

Mark Schmeiser

In Zeiten von Remote-Arbeit, ist es für uns Entwickler wichtig, effizient zusammenarbeiten zu können, ohne dass wir nebeneinander sitzen. Wir hatten für gemeinsames Entwickeln eine Virtual Office Lösung im Einsatz, jetzt haben wir Screensharing bei uns abgeschafft.

Zeitverlust durch Isolation

In unseren Retros haben wir immer wieder festgestellt, dass es eine schlechte Idee ist, wenn sich Entwickler hinter ihrem Rechner verschanzen und sich in Probleme eingraben.
Wer kennt das nicht? Trägt man das Problem ins Team, tauchen plötzlich schon beim Beschreiben des Problems erste Lösungen und Ideen auf. Dieses Phänomen wird auch als "Rubber Duck Debugging" bezeichnet.

Reden hilft also. Deshalb arbeiten wir schon lange mit Pair-Programming, sitzen also mindestens zu zweit an einem Problem. Was zunächst als Ressourcenverschwendung wahrgenommen werden könnte, sorgt letztlich für eine effizientere Entwicklungszeit.

Pair Programming

Im Rahmen von PoC (Proof of Concept) oder kniffligen User Stories kommt es oft vor, dass wir vorweg beschließen, die Herausforderung im Pair Programming anzugehen. Pair Programming ist eine Methode der agilen Softwareentwicklung, bei der zwei Programmierer zusammenarbeiten, um eine Aufgabe zu erledigen. Es handelt sich hierbei um eine sehr effiziente Methode, da sich die beiden Programmierer gegenseitig unterstützen und schneller auf Lösungen kommen können.

Virtual Office

Um diese Herausforderung zu lösen, haben wir letztes Jahr über Screensharing der SaaS-Lösung Virtual Office gearbeitet. Die Auflösung war hervorragend und das Bild konnte vom Beobachtenden beliebig skaliert werden. Allerdings wurde der Dienst eingestellt und wir mussten uns nach einer Alternative umsehen.

WebStorm

In unserer täglichen Entwicklung mit Typescript nutzen wir WebStorm. WebStorm bietet das Feature "Code with Me". Dabei handelt es sich um einen vollwertigen Audio-/Video-Client, der eine gemeinsame IDE öffnet. Je nach Einstellung des Session-Inhabers können die Beteiligten nur lesend oder auch editierend eingreifen. Selbst Terminal-Sessions in WebStorm sind geteilt und können zusammen bedient werden. Es gibt die üblichen Features wie "Follow Me", sodass der Tippende die anderen Teilnehmer durch den Code führen kann.

Über die Audio-Features können wir ständig miteinander reden, könnten bei Bedarf auch unsere Webcams einschalten und uns beim Haareraufen zusehen. Wenn Webstorm allein nicht ausreicht, können wir zudem unseren Bildschirm oder einzelne Fenster auch direkt in Webstorm teilen, wenn wir etwa gemeinsam auf einen Browser schauen wollen.

Kein Screensharing mehr

Seitdem wir dieses Feature kennen, nutzen wir kein klassisches Screensharing mehr, außer bei kurzen Anrufen wie "Kannst du mal kurz draufschauen?". Selbst hier zeichnet es sich ab, dass eine "Code with Me"-Session zu öffnen meist hilfreicher ist. Insbesondere der kollaborative Ansatz gefällt uns sehr gut.

Fazit

Insgesamt hat sich der Wechsel von Virtual Office zu WebStorm als sinnvoll erwiesen. WebStorm ermöglicht uns, effizienter zusammenzuarbeiten und Zeit zu sparen. Auch wenn es am Anfang ungewohnt war, sind wir heute überzeugt von dieser Lösung. Wir werden auch in Zukunft auf WebStorm setzen und freuen uns auf weitere innovative Features.

In der heutigen Zeit ist es wichtiger denn je, dass Entwickler effizient zusammenarbeiten können, unabhängig davon, wo sie sich auf der Welt befinden. Die Implementierung von Pair Programming hat uns bereits viel Zeit und Mühe gespart, und die Verwendung von WebStorm hat unseren Entwicklungsprozess noch weiter optimiert.

Für allgemeinen Austausch, Meetings, kurze Absprachen oder einfach mal ein „Hallo, wie geht’s dir?“ nutzen wir weiterhin eine virtuelle Office-Lösung. Damit gleichen wir das nicht vorhandene, reale Büro aus.

Für unsere gemeinsamen Entwicklungs-Sessions ist Webstorm für uns die bessere Alternative, die wir euch hier gerne weiterempfehlen.
Wie handhabt ihr eure Remote-Arbeit? Geht ihr auch ins Pairing? Welche Tools nutzt ihr da? Wir sind gespannt auf euer Feedback!