synyx bei den XP Days 2013

Vom 14. bis 16. November fanden in Karlsruhe die XP Days statt und von synyx waren (inklusive mir) vier Mitarbeiter dort. Da keiner von uns den Open Space am Samstag besuchte, gebe ich hier nur ein kurzes persönliches Fazit zu den ersten beiden Konferenztagen.
Ich bin bei synyx sowohl als Scrum Master als auch als Entwickler in Projekten tätig. Daher muss ich für mich persönlich auch bei Fortbildungen immer zwischen reinen Prozess Themen, die mich in meiner Arbeit als Scrum Master weiter bringen und Themen aus der Softwareentwicklung abwägen. Für mich waren die XP Days eine perfekte Mischung aus diesen beiden Bereichen. Zumindest hatte ich die Möglichkeit die angebotenen Vorträge und Workshops an den beiden Konferenztagen so zusammen zu stellen, dass ich in beiden für mich relevanten Themenbereichen wertvolle neue Erkenntnisse gewinnen konnte.

Die Konferenz began für mich mit dem Vortrag Kreative Retrospektiven von Pierluigi Pugliese, der für mich sehr interessant war, da Retrospektiven bei uns bisher immer nach dem gleichen Muster abliefen. Obwohl hier keine konkreten Beispiele geliefert wurden, wie man Retrospektiven kreativer gestalten kann (mit dem Hinweis auf entsprechende Fachliteratur), lieferte Herr Pugliese doch einen sehr guten Überblick über das Thema und gab vor allem zahlreiche Begründungen, warum es in vielen Situationen sinnvoll sein kann, den Ablauf von Retrospektiven zu variieren.

Weiter ging es mit Pairprogramming Mysthbusters. Die Mythen welche Martin Ruprecht sich vornahm zu beseitigen, sind bei synyx meiner Meinung nach kein Thema (mehr), da wir Pairprogramming schon länger erfolgreich einsetzen und dies auch von den meisten Kunden als Vorteil gesehen wird. Trotzdem konnte ich aus diesem Vortrag einige interessante Denkanstöße mitnehmen, wie man die Arbeit im Pair noch weiter verbessern kann.

Ich will kein Agiler Coach mehr sein – Und du?“. Dieser von Johannes Link sehr provokant gewählte Vortragstitel machte mich neugierig. Einige seiner Argumente, wie etwa, dass der agile Ansatz nicht mehr als ein Placebo wäre, klangen sehr schlüssig und zeigten mir, dass man viele Richtlinien, die uns die agile Theorie vorgibt, auch kritisch nach ihrem tatsächlichen Nutzen hinterfragen kann. Letztendlich überzeugte er mich mit seiner Botschaft zwar nicht, sorgte aber für eine Horizonterweiterung, die mich einige der noch folgenden Vorträge auch immer mit einem anderen Ohr hören ließ.

Am Nachmittag überzeugte mich Martin Klose mit seinem Vortrag Code Retreat – behind the scenes davon, dass wir sowas unbedingt auch mal bei synyx machen müssen, um Entwickler Know-How besser zwischen den einzelnen Teams zu verteilen.

Als letzte Veranstaltung des Tages hörte ich mir noch die Einführung zu Kanban von Florian Eisenberg an, um mir zum einen Anregungen für meine Arbeit mit unserem Admin Team zu holen und zum anderen Ideen zu sammeln, inwiefern Kanban eine Alternative zu Scrum im Softwareentwicklungsprozess darstellen kann. Eine wichtige Erkenntnis aus diesem Vortrag war für mich, dass Scrum sich in erster Linie durch seine strengeren Regeln und seine strenge Definition als Framework von Kanban unterscheidet und dadurch vor allem in Situationen sinnvoll sein kann, in denen radikale Veränderungen durchgeführt werden sollen. Ob das in unseren Projekten notwendig oder vielleicht eher schädlich ist bin ich mir nicht so sicher.

Die Keynote am folgenden Tag begeisterte mich vor allem schon durch den hervorragenden Vortragsstil von Dan North. Auch inhaltlich war der Vortrag sehr interessant, nur konnte ich hier leider wenig für meine tägliche Arbeit mitnehmen. Trotzdem bleibt es der aus meiner Sicht beste Vortrag den ich an den zwei Konferenztagen gehört habe.
Die bisher beschriebenen Vorträge stellten für mich den Prozess-technischem Teil der Konferenz dar. Zusätzlich zu diesen Vorträgen besuchte ich drei Workshops, in denen die Teilnehmer anhand von konkreten Übungen ihre Programmierkenntnisse erweitern konnten.
Der erste Workshop war für mich gleichzeitig der, welcher mir am meisten gebracht hat: Object Calisthenics mit Franziska Sauerwein und David Burkhart. Im Workshop sollte ein einfaches Programm zur Darstellung eines Tennisspiels im Pair so refactored werden, dass zehn mehr oder weniger restriktive Regeln eingehalten werden.
Mein Kollege Michael Herbold und ich machten diesen Workshop gemeinsam und wir stellten schnell fest, dass diese Übung uns dazu herausforderte uns aus unserer Komfortzone hinsichtlich Programmiertechniken heraus zu bewegen. Zum Beispiel war es im ersten Moment gar nicht so einfach die Anforderungen: „Alle Primitven Typen müssen in fachlichen Klassen gewrappt werden“, „Maximal zwei Instanzvariablen pro Klasse“ und „Kein public access auf Instanzvariablen (auch keine getter und setter)“ unter einen Hut zu bringen. Wir konnten in den 90 Minuten in jedem Fall viele Anregungen sammeln, die uns hoffentlich auch im Alltag helfen werden, wieder gezielt auf Objektorientierung und allgemein guten Codestil zu achten. Zudem machte uns der Workshop so viel Spass, dass wir uns am Abend nach dem letzten Vortrag nochmal zusammen setzten und während wir auf unsere Bahn warteten, ein bisschen am Code weiter bastelten.
Der zweite Workshop den ich besuchen wollte, war Hands-On Test Refactoring mit Marco Emrich. Hier muss ich leider sagen, dass ich den Workshop bereits nach der Einführung verlassen habe. Dies lag vor allem daran dass mir der Vortragsstil und die Art wie der Workshop geleitet wurde nicht zusagte. Zum anderen waren auch die Themen, die behandelt werden sollten, nicht auf dem Level wie ich es mir erwartet hatte. Diese Veranstaltung war für mich schließlich die einzige, in der meine Erwartungen nicht erfüllt wurden.
Der letzte Workshop und für mich auch die letzte Veranstaltung der Konferenz war Taking Baby Steps mit Marc Philipp, und Fabian Knittel. In diesem zweistündigen Workshop sollten die Teilnehmer im Pair ein TicTacToe Spiel programmieren, mit der Einschränkung, dass jeweils nur zwei Minuten Zeit waren, um einen Test zu schreiben und diesen zu implementieren. Leider konnte ich mit meinem Pairing-Partner den erwünschten Effekt dieses Experiments erst gegen Ende des Workshops so richtig nachfühlen, da wir zu Beginn noch stark durch technische Probleme gehemmt waren (fremde IDE, keine externe Maus/Tastatur). Schließlich konnten wir uns aber auch der Erkenntnis der anderen Teilnehmer anschließen: im Alltag will man oft viel zu viele Probleme auf einmal lösen und diese starke Restriktion auf zwei Minuten pro Commit zeigte jedem von uns, dass man in kleineren Schritten oft zu einer viel besseren und saubereren Lösung kommt.
Zusammenfassend kann ich sagen, dass sich die zwei Konferenztage für mich auf jeden Fall gelohnt haben und ich die XP Days nächstes Jahr gerne wieder besuchen möchte. Als konkrete Maßnahmen habe ich mir als Entwickler vorgenommen das erlernte Coding-Know-How sowie die Pairprogramming Tipps im Alltag umzusetzen. Als Scrum Master will ich versuchen unsere Retrospektiven etwas mehr zu variieren und auf jeden Fall einen synyx internen Code Retreat mit allen Entwicklern zu organisieren. Abschließend bleibt mir nur noch ein großes Lob an die Organisatoren der XP Days 2013 zu geben, die für den aus meiner Sicht reibungslosen Ablauf der Konferenz gesorgt haben.
 

Kommentare

  1. Schöne Zusammenfassung, ich fand die Veranstaltung auch sehr gut obwohl wir außer der Keynote keine Überschneidungen hatten.
    Falls Interesse besteht, einmal einen Code Retreat kennenzulernen: Die Softwerkskammer veranstaltet zum Global Day of Code Retreat einen solchen in Karlsruhe. Die Veranstaltung ist zwar momentan schon ausgebucht, ich kann mir aber vorstellen, dass noch Leute abspringen werden. Nähere Infos und Warteliste: http://www.softwerkskammer.org/activities/ka-gdcr-13