Für ein gemeinsames Projekt ppfgb (Johannes Link, Henning Wolf, Marco Schulz, Christoph Stock, Sebastian Eichner, Bernd Schiffer, Stefan Roock und ich) haben Sebastian und ich heute „Remote Pairing“ betrieben. Dabei haben wir in folgender Umgebung gearbeitet:
- In der linken Ringecke: Sebastian mit Ubuntu „Intrepid“ (8.10) mit der standardmäßig mit ausgelieferten Desktop Sharing Software Vino (unter System -> Preferences -> Remote Desktop) sowie NetBeans (glaube 6.5). Damit das Desktop Sharing funktioniert, musste Sebastian seinen Router noch das Durchschleifen des RFB/VNC Traffics auf Port 5900 erlauben. Durchsatz maximal 448 kBit/s Upload
- In der rechten Ringecke: Windows XP und TightVNC version 1.3.9 (siehe http://www.tightvnc.com). Durchsatz maximal 6 MBit/s Download
Nachdem ich über Skype Sebastian nicht gehört habe, sind wir kurzerhand aufs Telefon mit Lautsprecher umgestiegen, was sich über die 3 Stunden auch gut bewährt hat. Nachdem mitunter der Bildaufbau etwas langsam anmutete, hat Sebastian zum Vergleich den TightVNC Server angeworfen. Mein Versuch sich mit diesem zu verbinden dauerte aber nur ganz kurz, da ich daraufhin nur psychedelisch anmutende Bilder in buntesten Farben zu sehen bekam. Also wieder zurück zu Vino, Ubuntus Standard Desktop Sharing Software.
Joo, und dann konnten wir schon loslegen. Prozesstechnisch nahmen wir uns vor, zweimal 50 Minuten zu programmieren und darauf jeweils eine 5 Minuten Retrospektive folgen zu lassen. Und nachdem uns Christoph von seiner letzten Programmier Session noch einen gebrochenen Test hinterlassen hatte, war auch bereits die Frage geklärt, welchen Punkt wir als Nächstes angehen würden. Letztlich ging es um nichts anderes als eine korrekte Validierung von Eingabedaten mit Fehlerausgabe.
Klingt ganz einfach soweit. Dennoch haben wir uns in der ersten Iteration erst einmal komplett verrannt und standen am Ende vor Fehlermeldungen, die etwas sagen sollten, aber uns doch mehr verwirrten. Selbst eine parallel mittels Scaffolding hochgezogenen Anwendung und Durchsicht deren Quellcodes brachten uns nicht aus der Sackgasse.
Also Retrospektive: Während wir von der benutzten Infrastruktur recht angetan waren, schätzten wir unseren Entwicklungsfortschritt doch als zäh ein. So verdrängt Grails nicht Sebastians Haus und Hof Sprache Rails.
Was tun? Wir beschlossen, in der zweiten Iteration die gleiche Problemstellung in einem anderen Kontext zu lösen und warfen erst mal alle unsere Änderungen aus der ersten Iteration weg. Und siehe da, wir kamen dann wirklich Schritt für Schritt ans Ziel. Ja, es waren an mancher Stelle noch Details zu lösen. So scheiterten aufgrund der neuen Constraints erst mal noch mehr Tests. War aber auch klar, denn bis dato hatte testübergreifend noch keiner auf deren Einhaltung geachtet. Also hat Sebastian kurzerhand noch eine Setup Methode für jeden Test geschrieben, welcher den Datenbankinhalt vor jedem Test soweit zurücksetzte, dass alle wieder grün waren.
Abschließende Retrospektive: Zwar hatten wir unsere Time Box etwas überzogen, aber dafür waren wir in Fluss gekommen und konnten die vorgenommene Aufgabe wirklich abschließen. Grails läuft bei Sebastian zwar immer noch unter Bewährung, wir waren aber einhellig der Meinung, dass die Session wirklich Spaß gemacht hat und produktiv war.
Haben soeben noch einmal über Skype mit Sebastian telefoniert, nachdem er seine Einstellungen angepasst hatte. Jetzt habe ich ihn zwar gehört, aber mitunter höre ich dann doch mein Echo oder Sebastians Stimme fängt das Stottern an. Ich denke wir werden beim Telefon bleiben.
Fazit:
- Pairing mit Desktop-Sharing und parallelem Telefon auf Freisprechanlage funktionierte erstaunlich gut.
- Erst wenn man mal schnell etwas macht, war der Bildaufbau zu langsam. War aber nicht so oft der Fall, dass es bis dato wirklich störte.
- Bewährt hat es sich interessanterweise auch, auf einem zweiten Bildschirm parallel etwas suchen zu können, selbst wenn der Pairing Partner es nicht sieht.
- Interessant wird es, wie sich das Remote Pairing anfühlt, wenn die Verarbeitungsgeschwindigkeit steigt
- Hat Spaß gemacht und es wird interessant zu sehen sein, wie sich das Remote Pairing mit anderen Partnern funktioniert, insbesondere was sich gleich oder ganz anders anfühlt
Verfasst von martinheider