Softwerkskammer

 

Global Day of Code Retreat 2017 in Karlsruhe

In diesem Blogbeitrag soll der GDCR '17 in Karlsruhe bei Fiducia & GAD IT sowie die wichtigsten aufgekommenen Punkte zusammengefasst werden.

Sessions

1. kein Constraint

Durch das Feedback aus dem letzten Jahr ("einmal ohne Constraint bitte") wurde in der ersten Runde komplett auf Constraints verzichtet. Damit hatten die Teilnehmer die Möglichkeit sich voll auf das Problem bzw. die Domäne zu konzentrieren und diese dadurch kennen zu lernen. Gerade auch um eine neue Programmiersprache auszuprobieren eine gern genutzte Session.

2. Alle primitiven Datentypen kapseln

Der kleine Bruder von Object Calisthencs: Parameter und Rückgabewerte dürfen nicht aus primitiven Datentypen wie Zahlen oder Strings bestehen sondern müssen domainenspezifische Objekte gekapselt werden (Ausnahme: Die Konstruktoren dieser domainenspezifische Objekte).

3. Baby Steps

Als letzte Session vor der Pause, haben wir uns für Baby Steps entschieden, d.h. jeder Zyklus von einem grünen Commit über einen weiteren Test oder über Refactoring hin zu einem grünen Commit darf maximal zwei Minuten lang sein. Falls die Zeit überschritten wird, muss zurückgesetzt werden. Dieses Constraint fördert das kleinteilige Arbeiten im TDD-Zyklus. Vermeintlich kleinste Schritte lassen sich oft in noch kleinere Schritte unterteilen.
Retro: Da sich viele Gruppen doch recht schwer getan haben, stellte Peter in der Retro die green bar patterns, im deutschsprachigen oft auch als "drei Wege zu grün" bezeichnet ("obvious implementation", "fake it 'til you make it" und "triangulation") vor.

4. Kein Else

Klar soweit?
Retro: Wurde als recht einfaches Constraint empfunden.

5. Split Brain

Als einzige Ausnahme, wurde vor dieser Session der Code nicht gelöscht. Die Paare wurden wie gehabt gewechselt, wobei nun einer der "alt eingesessene" ist, und einer der "neue". Nun sollte ein gemeinsames Code-Review stattfinden, „Wie gut wurde 'Four Rules of Simple Design' eingehalten“? Sind die Tests lesbar?
Retro: Der Constraint hat seinen Zweck erfüllt, die Teilnehmer mussten sich mit dem gegebenen Code auseinandersetzen, neue Kompromisse eingehen. Ganz im Gegensatz zu den vorherigen Sessions in den stets auf grüner Wiese begonnen werden konnte.

Slides

https://keybase.pub/chr1shaefn3r/slides/ka-gdcr17.pdf

Lessons learned

  • "Four rules of simple design" gelten für den ganzen Tag. Da gab es bei uns missverständnisse, weshalb wir es nächstes Jahr öfters wiederholen werden.
  • Idee: Bei konträren Meinungen in der Retro, genau diesen beiden Personen vorschlagen in der nächsten Session zu pairen.
  • Feedback: Halbe bis ganze Stunde später anfangen, um Teilnehmern mit ~1h Anreise die Teilnahme zu ermöglichen, oder wenigstens vereinfachen.

Abschluss

Vielen Dank an alle Teilnehmer für das konzentrierte Mitmachen und das positive Feedback. Der zweite ganz groẞe Dank geht an Peter Fichtner der uns bei der Fiducia & GAD IT AG unter optimalsten Bedingungen gehostet hat.
Logo der Fiducia & GAD IT AG