Extreme Feedback Device: Das Code Flow-O-Meter

If you are interested in the english version of this article, check out https://schneide.wordpress.com/2008/10/06/extreme-feedback-device-xfd-the-code-flow-o-meter/

Seit heute hat die Schneide ein Extreme Feedback Device (XFD) mehr: den Code Flow-O-Meter.

codeflowometer.jpg

Unser vor einiger Zeit gekaufter Zimmerbrunnen (der erfreulicherweise nicht ganz so schief ist, wie der Artikelname befürchten lässt) ist jetzt mit den Repositories gekoppelt. Sobald ein Commit durchgeführt wurde, werden die Details in eine eigene Logdatei geschrieben und triggern eine bestimmte Zeitspanne Pumpenaktivität beim Brunnen. Die Brunnensteuerung geschieht über einen kleinen Daemon, der die Logdateien auswertet und mittels X10 die Brunnenpumpe an- und zeitgesteuert wieder ausschaltet.

Damit haben wir eine direkte Benachrichtigung über Änderungen im Repository, die sich einigermaßen dezent im Hintergrund hält. Das anfangs präferierte Audio-Sample “Haleluja!” für jeden Commit wurde wegen der erstklassigen Störerqualitäten wieder verworfen. Aber wozu ist diese Benachrichtigung gut?

Eine der Regeln agiler Programmierung besagt: “Commit early, commit often” bzw. “Code in Increments”. Sobald allerdings ein Continous Integration System unerbittlich bei jedem Commit nach Fehlern oder auch nur Nachlässigkeiten sucht (z.B. mit Checkstyle), ist die Versuchung groß, erst einzuchecken, wenn “das Issue erledigt”, also die Möglichkeit für frühes Feedback vorbei ist. Wenn das CI-System dann auch noch extrem reagiert, beispielsweise mit einer ONOZ! Lampe, kriegen das auch noch alle mit. CI erhöht also nach unserer Beobachtung die Zeitspanne zwischen zwei Commits, da man das negative Feedback eines gebrochenen Baus vermeiden möchte.

Als “Gegenstück” zur ONOZ! Lampe und der Versuchung, lieber später viel als jetzt ein bisschen einzuchecken, spielen wir jetzt ein weiteres Entwicklerspiel:
Keep the Flow-O-Meter running!
Der Brunnen fließt nur, wenn wir unseren Code Flow auch veröffentlichen. Die Größe eines Commits fällt dabei weniger ins Gewicht als der Commit an sich.
Werden wir es schaffen, den Brunnen am Fließen zu halten?

Erfahrungen folgen.

PS: Der verlinkte Artikel über Continous Integration von Martin Fowler wurde gerade letzte Woche wieder überarbeitet und ist wie immer lesenswert.


Mehr über unsere Extreme Feedback Devices:

Keine Süßigkeiten am Freitag

In der Softwareschneiderei sollte am Freitag, den 23.02.2007 ein neues Ereignis namens “Candy Day” stattfinden. Leider mussten wir den Termin dann absagen bzw. verschieben, da sich Luke krank meldete und wir nicht ohne ihn starten wollten. Daher müssen wir wohl noch eine Weile auf unsere Süßigkeiten warten.