Continuous Lifecycle 2013 – Rückblick

Die Continuous Lifecycle 2013 ist zu Ende gegangen: zwei Tage vollgepackt mit interessanten Vorträgen vorwiegend zum Thema Continuous Delivery / Continuous Deployment.

Der erste Konferenztag: 11.11.2013

Die Keynote hielt Mirko Novakovic, seines Zeichens Entwickler und Vorstand der codecentric AG, zum Thema „Lean Startups Eat the World“. Er zeigte eindrucksvoll, wo die Reise (vor allem für das Web-Business) hingehen kann und dass man keine andere Wahl hat, als schnell reagieren zu müssen. Er hat dabei einige gute Buchempfehlungen gegeben: „The Lean Startup“ (http://theleanstartup.com/) von Eric Ries. Auch hier ging es um das Umsetzen einer Idee, Entwicklung, schnelles Feedback und „Go Live“, um schnell aus der Idee Kapital schlagen zu können. Ein guter Vortrag, um auf das Thema einzustimmen.

Für mich ging es dann weiter mit dem Thema „Puppen und Marionetten in der Deploy Pipeline“ von Thomas Gelf. Dabei wurde ein Tool namens „Puppet“ (http://puppetlabs.com/) vorgestellt, das helfen soll, für Test- und Produktivsysteme Software einzuspielen und diese aufzusetzen. Dabei geht es vor allem um das Management dieser Software und wie diese Daten mithilfe einer Domain Specific Language synchronisiert. Sehr beeindruckend, doch leider alles sehr Linux-lastig, was mich in meinem Daily-Business nicht so wirklich unterstützt. Einen Blick über den Tellerrand wert war es allemal.

Im Anschluss habe ich „Continuous Delivery – für jeden geeignet“ gehört. Herrmann Lacheiner hat die (qualitativen) Voraussetzungen für Continuous Delivery bedeutet und klargestellt: ohne bestimmte Prozess-Reife inkl. Requirements-Engineering, Tests usw. sollte man kein Continuous Delivery machen. Erst wenn die Grundlagen sauber sind, sollte man sich an dieses Thema wagen.

Der Vortrag „DevOps – Kultur- oder Technikfrage“ von Mathias Münch zeigte das Zusammenleben und die Zusammenarbeit von Development und Operations auf. Im Nachhinein hätte ich mir lieber „Git, Mercurial und Bazaar im Vergleich“ angehört, nachdem ich in der Pause viele hab von dem Vortrag schwärmen gehört.

Eindrucksvoll war der Vortrag von André von Deetzen und Oliver Wehrens (Principal Developers) bei der ePost zum Thema „Von einem Release alle sechs Monate zu täglichen kleinen Rollouts – ein Erfahrungsbericht“. In diesem Vortrag wurde erzählt, wie es die ePost geschafft hat, von relativen langen Release-Zyklen zu Continuous Delivery geschafft hat – ein wahrer Kraftakt. Für mich ist es immer noch fast ein Wunder, wie man sowas innerhalb so kurzer Zeit (2 Jahre) schaffen konnte, die Entwicklung u.a. auf Scrum und TDD zu trimmen, um dann Continuous Delivery umsetzen zu können. Hut ab!

Matthias Kainer hat in einer Präsentation „Getting your features out – verschiedene Ansätze, neue Features iterativ zu releasen“ u.a. das Feature Toggle Pattern und Feature Branches näher beleuchtet. Dabei hat er ein paar Anekdoten aus seinem Entwickler-Leben bei Autoscout24 / Werkstattportal erzählt.

Den Abschluss der Vortragsreihe machte Thorsten Maier mit seinem Vortrag zu „Schneller, Billiger, Besser – effektiver Einsatz von Code-Reviews“. Neben den manuellen Offline-Reviews (bevorzugte Variante) hat er noch kurz den Technologie-Stack von Atlassian (Stash und Crucible) vorgestellt. Mir persönlich sind die Tools lieber, da ich offline jederzeit Code-Reviews machen kann. Aber geht vor allem um das Zwischenmenschliche bei Code-Reviews und den Lernfaktor. Fehler zu finden ist auch wichtig, aber man sollte vor allem mit einem guten Gefühl aus einem Code-Review Meeting herausgehen.

Die Panel-Diskussion am Abend des ersten Konferenztages war recht polarisierend: auf der einen Seite das Thema „Web“ und „Continuous Deployment“ und auf der anderen Seite der Handwerker, der seinen IT-Service von einem Fachmann machen lassen muss. Letztlich konnte diese Frage nicht endgültig geklärt werden, da die Zeit leider schon vorbei war. Im Anschluss daran gab es noch ein „Get Together“ mit allen Teilnehmern bei einem gemütlichen Glas Bier.

 

Der zweite Konferenztag: 12.11.2013

Der zweite Konferenz-Tag begann mit einem sehr unterhaltsamen Vortrag von Simon Wiest, seines Zeichens aktiver Comitter beim Jenkins Projekt und Prof. für Informatik an der HdM in Stuttgart. Jenskins ist ein Continuous Integration System (aka Build Server), der in Java geschrieben ist. Die Oberfläche gefällt mir und der Funktionsumfang ist durch die Plugins mehr als ausreichend.
Anschließend ging es im Vortrag „Continuous Deployment so einfach wie möglich“ von Dr. Malte Clasen um einen Erfahrungsbericht, der zeigte wie er in seiner Firma Continuous Deployment anhand einer ASP.NET basierten Webseite umgesetzt hat. In der .NET Umgebung habe ich mich gleich heimisch gefühlt, aber viel Neues war für mich jetzt nicht dabei.

Die zweite Keynote war von Alexander Grosse (Soundcloud) zum Thema „DevOps, Continuous Delivery, Agile ALM – Hype over Substance?“. Wow! Was für ein Vortrag! Kritisch wurden aktuelle Trends beäugt und die Arbeit bei Soundcloud vorgestellt. Nach dem Jenkins-Vortrag hat mir dieser Vortrag als zweitbestes gefallen. Erzählungen aus dem „Nähkästchen“ bei Soundcloud waren sehr inspirierend.

Nach dem Mittagessen war ich an der Reihe mit meinem Vortrag zum Thema „Build Patterns – Patterns und Best Practices für den Build Prozess„. Der Raum war ganz gut gefüllt und die zahlreichen Fragen sehr interessant. Hat mir Spaß gemacht 🙂

Das Thema „Build und Projektautomatisierung mit Gradle“ von Joachim Baumann und René Gröschke hat einen guten Überblick in den Stand der Dinge bei Gradle gebracht. Gradle ist eine DSL für Buildprojekte und ist eine Alternative zu Systemen wie Ant, NAnt und Maven, die eher XML-basiert sind. Interessant war, dass jetzt vor allem C++-Projekte nativ unterstützt werden sollen. Sobald .NET-Projekte nativ unterstützt werden, schaue ich mir die Sache nochmals an.

Oliver Stamm hat sehr eindrucksvoll in seinem Vortrag „Wie Behaviour Driven Development den Weg zu Continuous Delivery freimacht“ gezeigt, wie Otto seinen Katalog selbst neu entwickelt hat, und dabei auf BDD gesetzt hat. Interessant war vor allem die Vorgehensweise und das selbst geschriebene BDD-Framework. Da werde ich einiges für mein Produkt mitnehmen können.

Den Abschluss der Konferenz machte für mich „Juristische Herausforderungen über den Lebenszyklus von Software“ von Tobias Haar. Die Gesetze lt. BGB unterscheiden in 4 verschiedene Vertragsformen (Dienstvertrag, Kaufvertrag, Werkvertrag und Mietvertrag), in die die Software-Entwicklung auch eingegliedert wird. Sehr viele kleine und große Stolperfallen, Vor- und Nachteile der jeweiligen Vertragsart wurden vorgestellt. Am besten, man nimmt sich für solche Vertragsfragen wirklich einen Anwalt. Trotzdem war es echt gut, sich die Sachen mal anzuhören.

Hier noch ein paar Bilder und Impressionen von der Konferenz:

Der zweite Konferenztag

Die Location: Die IHK in Karlsruhe

Meine Eintrittskarte als Referenz 🙂