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 🙂

Die DotNet Cologne 2013 (#dnc13)

2013-05-03 09.17.38Dieses Jahr war die dotnet cologne 2013 eine besondere Konferenz für mich: ich habe erstmals auf einer Entwickler-Konferenz einen Vortrag gehalten. Das Thema war “Einstieg in das Windows Installer XML (WiX) Toolset”.

Der Raum war wirklich gut gefüllt und es hat mir wirklich viel Spaß gemacht. Auch Dank der freundlichen Unterstützung meines überraschenden  “Co-Referenten” Sebastian Seidel zu den Fragen während des Vortrags war die Session aus meiner Sicht ein Erfolg.

Die Folien habe ich auf SlideShare hochgeladen:
http://de.slideshare.net/minibrain/einstieg-in-das-windows-installer-xml-wix-toolset

Die gezeigten Codebeispiele liegen auf github:
https://github.com/minibrain/DNC13

Nach dem Vortrag gab es noch zahlreiche interessante Diskussionen zum Thema Windows Installer, MSI und Windows Installer XML Toolset. Vielen Dank an dieser Stelle nochmals an alle Teilnehmer!

Während meines Vortrags gab es noch weitere Vorträge, die mich sehr interessiert hätten. “Hackers Reverse Engineering Uncovered” von Rüdiger Kügler war einer davon. Glücklicherweise hat sich im Gespräch später am Stand von WiBu Systems ergeben, dass demnächst der Vortrag in einem webcast wiederholt wird. Das werde ich mir dieses Mal nicht entgehen lassen Smiley

Die Lunch-Session und die folgende Session stand ganz im Zeichen von Usability und User Experience. War wirklich mal interessant, einen Einblick in einen Entwicklungsprozess zu bekommen, der einen Focus auch auf Usability hat. Der Vortrag “WPF UI Development Best Practices” drehte sich im ersten Teil auch um Usability und besprach dann WPF Best Practices natürlich mit Focus auf Usability!

Timur Zanagar hat dann im Vortrag zu “Mobile .NET Entwicklung mit Xamarin 2.0” die Entwicklung mobiler Applikationen für iOS, Android, Windows Phone und MacOS unter Xamarin 2.0 gezeigt. Auch hier haben die zahlreichen Diskussionen zu einer wirklich guten Atmosphäre geführt. Hier muss ich unbedingt mal ein wenig Zeit investieren und eine eigene Android App basteln Smiley

Den Abschluss meiner .NET Cologne 2013 machte der Vortrag von Dennis Traub “Strategischer Anwendungsentwurf mit Domain-Driven Design”. Wirklich interessant, aber schon etwas schwere Kost zum Abschluss.

Alles in allem war diese dotnet cologne 2013 für mich noch etwas besser als die letztes Jahr. Die Organisatoren Albert Weinert, Roland Weigelt, Stefan Lange und Melanie Eibl haben wieder einmal eine tolle Konferenz organisiert. Dankeschön nochmals an dieser Stelle!