Wissenstransfer par excellence
Nürnberg, 5. – 7. September 2017

Legacy Coderetreat: Änderungen in Bestandssysteme sicher einpflegen

Wie schön wäre es, mit neuen Projekten immer auf der grünen Wiese anzufangen. Leider werden viel häufiger Projekte über mehrere "Entwicklergenerationen" geführt, was die Herausforderungen für uns Software Craftsmen zu "analysieren, verstehen, sicher ändern" verschiebt.

In diesem Workshop werden wir genau das trainieren. Mehrere Techniken werden vorgeführt, mit denen Änderungen an Bestandssystemen sicher eingepflegt werden können. Diese werden im Pair-Programming-Verfahren durch praktische Anwendung gefestigt. Natürlich nehmen wir uns trotzdem die Zeit, über das Gelernte zu reflektieren und gemeinsam über unsere Problemlösungen zu sprechen.


Technische Anforderungen:

Hallo, liebe Teilnehmer des Legacy Code Retreats,

damit wir am Dienstag gleich von Anfang an richtig loslegen können, solltet ihr euren Laptop mit Folgendem ausstatten und mitbringen:

* installiertes JDK 8
* installierte Lieblings-IDE
* externe Maus (wichtig für Pair Programming)
* externe Tastatur (wichtig für Pair Programming)
* (optional, aber empfehlenswert) lauffähiger Code aus eurem aktuellen Projekt. Wir planen, gegen Ende des Workshops Zeit zu lassen, damit ihr das erlernte Wissen direkt in eure Codebase integrieren könnt. Wir machen diesen eil jedoch davon abhängig, ob ihr andere Themen interessanter findet.


Agenda:


ab 8.40: Registrierung und Begrüßungskaffee

09:40 - 10:00 Start
* introduction of facilitators and participants:
* Number of years worked in what can be conceived as "legacy code"?
* Name one lesson learned from past experiences with legacy code!
* State one goal for you for today - what do you want to think / feel / know at the end of the day?
* explain format and pair programming

10:00 - 11:00 Getting to know ugly trivia game
* just toy around with the ugly trivia game
* get used to the format
* understand the codebase

11.00 - 11.15: Kaffeepause

11:15 - 12:05 Golden Master
* creates tests for following slots
* if time is too short, we'll also use slot 3 to finish writing the tests and move every topic one slot

12:05 - 13:00 Subclass to test

13.00 - 14.00: Mittagspause

14:00 - 15:00 Remove duplication + pure functions

15:00 - 16:00 Refactor for extendability with TDD

16.00 - 16.30: Kaffeepause

16:30 - 17:30 From nothing to system tests

17:30 - 18:30 Explain optional topics, discussion, retrospective

ca. 18.30 Uhr: Ende

Optional topics
* extract method / variable
* Mikado method
* "Fix a bug", Adrian Bolboaca
* Applying to your own code or given codebase (different from ugly trivia game)

Skills
Einige Jahre Erfahrung in der Softwareentwicklung sind zwar nicht zwingend notwendig, schärfen aber den Blick für die Probleme. Am besten ist natürlich, selbst einige Erfahrung mit Bestandssystemen zu haben. Beispiele werden in Java gezeigt, hier sollte also Wissen vorhanden sein.

Lernziele
Nach diesem Workshop werden die Teilnehmer über praktisches Wissen verfügen, das sie sofort in ihrem Bestandssystem anwenden können.

Referenten

Steven Schwenke Steven Schwenke

ist Software Craftsman und liebt, was er tut. Als Technical Teamlead leitet er ein verteiltes Team an und führt regelmäßig Inhouse-Workshops durch. Zusätzlich organisiert er Veranstaltungen wie den HackTalk und hält Vorträge bei Konferenzen. Er teilt seine Erfahrung gern mit anderen und freut sich auf spannende Gespräche.


Falk Sippach Falk Sippach

hat über fünfzehn Jahre Erfahrung mit Java und ist beruflich als Trainer, Softwareentwickler und Projektleiter bei der Orientation in Objects GmbH im Umfeld von Java-EE-Technologien unterwegs. Von Zeit zu Zeit schreibt er Blogeinträge, Artikel und tritt gelegentlich bei Konferenzen auf. In seiner Wahlheimat Darmstadt organisiert er mit anderen die örtliche Java User Group.