Stop, delete your Code & stand up: Global Day of Code Retreat 2017 bei der lise GmbH
Am 18. November hatten 20 Teilnehmer des Global Day of Coderetreat (GDCR) an einem Samstag nichts Besseres zu tun als zu coden, was das Zeug hält. Die lise GmbH hatte dazu begeisterte Softwareentwickler rund um Köln eingeladen. Ein Tag voller neuer Coding-Erkenntnisse...
Der GDCR bei der lise fing morgens um 9 Uhr an und endete um 17 Uhr. Die Teilnehmer kamen unter anderem aus Köln, scheuten aber auch die längere Anfahrt aus Aachen, dem Sauerland und Bergischen Land nicht.
Nach einer kurzen Einführung zum Ablauf des Events wurde an diesem Tag zum ersten von insgesamt fünf Malen die Stoppuhr gestartet. In fünf Sessions wurde das „Game of Life” entwickelt. Jedes Mal hieß es nach 45 Minuten „Stop, delete your code and stand up!“ Genau dieses Konzept, unter erschwerten Bedingungen zu coden, macht die Herausforderung der weltweit durchgeführten und gleichzeitig in viele Länder gestreamten Veranstaltung aus.
GDCR 2017: Coden mit Hindernissen
Gecodet wurde in vier Programmiersprachen: Java, C#, F# und Elixir. Zwei Teilnehmer bildeten dabei immer ein Team. Neben den obligatorischen „4 Rules of Simple Design“, die von Kent Beck, einem Begründer des Extreme Programming (XP), stammten, gab es noch mehr Herausforderungen von den Software-Cracks zu bewältigen.
Denn sie wurden beim Coden eingeschränkt: So musste beim „Silent Ping Pong“ der eine den Test schreiben, während der andere ihn erfüllen musste – à la Test Driven Development. Bei der Aufgabenstellung zum Thema „Clean Code“ durften maximal vier Zeilen pro Methode geschrieben werden, angereichert um optionale Constraints wie „max. 1 level of nested loops and conditionals“, „no primitives“ oder „one assert per test“. Die Constraints dienen dazu, die Softwareentwickler aus der Wohlfühlzone zu holen und neu über ihren Code nachzudenken. So können sie im Arbeitsalltag abwägen, welcher Weg am meisten Sinn macht.
Nach jeder Session gab es eine Retrospektive, in der besprochen wurde, was, auch aufgrund der Einschränkungen, gelernt worden war oder wo es Probleme gegeben hatte.
Die „4 Rules of Simple Design“:
1. Passes all Tests
2. Reveals intention (easy to understand)
3. Contains no duplication (once and only once, DRY)
4. Fewest elements (reduce complexity)
CCR: Cooler Coderetreat
Am Ende des GDCR 2017 waren alle um einiges Coding-Know-how schlauer. So verbesserten die Teilnehmer ihre Skills, insbesondere bei den Themen Adaption agiler Prinzipien, Code Quality Constraints, Pair Programming und Test Driven Development.
Nicht nur die neuen, auch die erfahrenen GDCRler, gingen durch das leckere Catering gestärkt, und um viele neue Erkenntnisse reicher, in ihr wohlverdientes Wochenende.
Die wichtigsten Learnings und Benefits des GDCR 2017 bei der lise GmbH:
- Kommunikation ist beim Coden sehr wichtig und gleichzeitig auch aufwendig.
- Domänen-Modell entwerfen, Stichwort: Domain Driven Design. Man sollte für alle Objekte in einer fachlichen Domäne und alles Verhalten entsprechende Konstrukte im Code entwerfen, also eine Domain Specific Language entwickeln.
- Tests forcieren das Design.
- Ein schlechter Test hat einen schlechten Code zur Folge.
- Die immer wechselnden Anforderungen hatten je nach Design eine einfache Code-Änderung zur Folge. Bei einer schlechten Basis-Struktur waren viele Anpassungen nötig.
- Die Teilnehmer haben neue Programmiersprachen kennengelernt.
Kleiner Exkurs
Zum Schluss gab es obendrauf noch eine Meinungsumfrage zu agilen Praktiken. Auf dem Umfrage-Plakat des Fraunhofer-Instituts konnte jeder Teilnehmer mittels Klebepunkten auf einer Matrix angeben, ob bestimmte agile Praktiken negative oder positive Auswirkungen auf bestimmte Aspekte der Softwareentwicklung hat. Zum Beispiel fanden vier Teilnehmer, dass ein Backlog leicht positiven Einfluss auf die Transparenz (Status) oder drei Teilnehmer sagen, dass Test Driven Development eine sehr positive Wirkung auf die Produktqualität hat.
Hier geht es zum Ergebnis der Umfrage.
Über den GDCR:
Der Global Day Code Retreat ist eine eintägige Veranstaltung, bei der die Teilnehmer ihre Programmierfähigkeiten durch wiederholtes Üben optimieren. Am Global Day of Code Retreat finden weltweit Code Retreats statt. Dieses Jahr erstmals auch in Köln – bei der lise GmbH im Butzweiler Stern. Im Jahr 2017 wurden 136 Global Day of Coderetreat-Veranstaltungen in Städten rund um den Globus durchgeführt. Und auch in 2018 wird es wieder einen GDCR geben.
Über das Game-Of-Life
Das Spiel des Lebens (engl. Conway's Game of Life) ist ein vom Mathematiker John Horton Conway 1970 entworfenes System, basierend auf einem zweidimensionalen zellulären Automaten. Es ist eine einfache und bis heute populäre Umsetzung der Automaten-Theorie von Stanisław Marcin Ulam. (Wikipedia)