design

Kevlin Henney mit Podiumsdiskussions-Teilnehmern

Am Morgen des dritten OOP Tags stand ich gleich vor einem Gewissenskonflikt: Ich musste mich zwischen zwei sehr interessanten Vorträgen entscheiden. In dem einen beleuchteten Gernot Starke und Stefan Tilkov das Thema "Warum und wie von Software-Evolution". Der andere ist etwas näher an dem Motto der OOP mit dem Thema "Complexity: Managed or Mishandled", vorgetragen von Frank Buschmann und Kevlin Henney. Beide Themen sind extrem interessant und alle Referenten excellent. Da ich das Duo Starke und Tilkov nun schon oft genossen habe und Buschmann und Henney immer für eine Überraschung gut sind habe ich mich für das komplexe Thema entschieden, eine Entscheidung, die ich nicht bereut habe.

Artikel lesen

1. Complexity: Managed and Mishandled

Henney und Buschmann lieferten mit der Definition von Komplexität und den möglichen Szenarios eine gute Grundlage für die anschließende Podiumsdiskussion. Diese zeigte, wie stark das Interesse für dieses Thema ist und aber auch wie hoch der Wissenstand der OOP-Teilnehmer bei der Lösung des Problems Komplexität ist. Interessante und wichtige Erkenntnisse waren:

  • Von den 85%, die für Wartung eines Systems aufgewendet werden, werden 50% des Aufwands nur für das Verstehen des Systems investiert.
  • "accidental complexity" entsteht oft, wenn das Problem (requirement) nicht richtig verstanden wurde.
  • "accidental complexity" ist manchmal gewählte Komplexität.
  • refactoring kann Komplexität nur in einem bestimmten Grad reduzieren, weitaus wirksamer, aber dafür schwieriger und schwerer durchsetzbar sind Restrukturierungen.

Später hat Kevlin Henney getwittert: fear is the simplest measure of software complexity. Wenn ich dann diesen Gedanken weiterverfolgen darf, muss man nur die Angst reduzieren und die Software wird einfacher, kein schlechter Ansatz.

 

2. "Git Started" für Fortgeschrittene

Benjamin Schmid gibt einen Überblick über Git

Benjamin Schmid gibt einen Überblick über die Möglichkeiten und Vorteile eines Einsatzes von Git als Versionsverwaltung, auch als Ersatz für zum Beispiel SVN. Die Vorteile von Git sind:

  • Verteiltes arbeiten, auch offline
  • Unterstützung verschiedenster Protokolle (u.a. Auch E-Mail)
  • kein Server notwendig
  • aktives push und pull zu anderen Repositories, das können durchaus mehrere sein
  • echte n:m Beziehung
  • leichtgewichtiges branchen und mergen
  • Schnittstelle zu svn
  • verschiedenste Workflow- und Server-Konfigurationen

Nachteile sind:

  • Eine etwas höhere Lernkurve
  • umfangreichere Möglichkeiten geben Anlass etwas falsch zu machen

3. Keynote: Agil skalieren

Stefan Rook und Henning Wolf im Dialog über agiles Skalieren

In ihrer Keynote geben Stefan Rook und Henning Wolf von it-agile Lösungsansätze in Dialogform, wie man agile Strukturen in einem Unternehmen von einer Keimzelle aus auf das ganze Unternehmen ausdehnen kann, was man dabei beachten sollte und wie man möglichen Problemen begegnet. Wichtige Erkenntnisse dabei sind, dass alignment und autonomie von Teams nicht gegenläufig sind sondern orthogonal, wenn zum Beispiel alignment sich auf das was und warum beschränkt und die autonomie im wie vorherrscht. Auch hierbei nimmt man Redundanzen im Quellcode in Kauf, um die wesentlich kostenintensiveren und oft zu zwischenmenschlichen Problemen führenden Abstimmungen zwischen den Teams zu vermeiden. Gemeinsam genutzte Bibliotheken können von einer Community of Practice gepflegt werden, die personell mit Mitgliedern aus anderen Teams besetzt wird. Sogar der Prozess des Skalierens kann agil gestaltet werde, wobei wichtig ist, dass die Schlüssel-Positionen wie zum Beispiel der Product Owner hier durch ranghohe Executives besetzt sind.

4. Keynote mit Constanze Kurz

Constanze Kurz bei ihrer Keynote

Die Mittagspause und die Zeit danach habe ich für eine auf der OOP sehr beliebte Möglichkeit zur Entspannung und Regeneration genutzt: Die Firma Brainlight stellt ihre Entspannungssysteme kostenlos zur Verfügung.

Die nächste Keynote trägt dem aktuellsten Zeitgeschehen Rechnung. Edward Snowden hat mit seinen Offenbarungen die (IT-)Welt verändert und es wird sicher noch einiges durch ihn ausgelöst. Außer ihm selbst kann man sich keinen besseren SprecherIn vorstellen als Constanze Kurz, die ehrenamtliche Sprecherin des Chaos Computer Clubs (CCC). Dieser hatte vor kurzem die Bundesregierung wegen dem Vorwurf der verbotenen geheimdienstlichen Tätigkeit oder Beihilfe dazu angezeigt. So trägt Constanze Kurz zunächst auch einmal die Fakten zusammen, die seit den Enthüllungen von Edward Snowden im Juni 2013 in das Licht der Öffentlichkeit gerückt sind. Stellvertretend hierfür nur zwei Punkte:

  • Die US-Geheimdienste konnten 2013 über ein Budget von 52 Milliarden Dollar verfügen. Ein Teil des Geldes wandert in eine kaum kontrollierbare Überwachungsindustrie.
  • Auf der anderen Seite wird der Umsatzverlust in der US-IT-Branche durch die Vertrauenskrise auf 35 bis 180 Milliarden Dollar geschätzt.

Diese Tatsachen, die Anzeige des CCC, die Vorermittlungen des Generalbundesanwalts beim Bundesgerichtshof und das Schnellverfahren am EU-Gerichtshof wegen des Vorwurfs der Verletzung des Artikel 8 der EU Menschenrechtskonvention gegen den britischen Geheimdienst lassen hoffen. Außerdem kann jeder einzelne und jedes Wirtschafts-Unternehmen auf die Ausspähung zum Beispiel mit Verschlüsselung reagieren.

5. Continuous Delivery bei Autoscout24

Simon Hohenadl von Autoscout24

Simon Hohenadl von Autoscout24 vertritt Matthias Patzak bei dem Vortrag zum Thema “Continuous Delivery (CD) bei Autoscout24”. Hohenadl ist sicher ein würdiger Vertreter, nicht zuletzt weil er eine gewisse Frische beim Vortrag an den Tag legt. Ursache für die Transaktion zu CD war die Tatsache, dass die Releases am Sprintende zu aufwendig, kostspielig und zum Teil zu chaotisch waren. CD ist aber mehr als sich einen Continuous Integration (CI) Server auf die grüne Wiese zu stellen, es ist ein Pradigmen-Wechsel: Jederzeit soll aus dem Repository eine funktionierende Software releast werden können. Das funktioniert nur durch eine ganze Reihe an Veränderungen:

  • Jeder Commit ist grün.
  • Feature Toggles machen das Entwickeln einfacher.
  • Die Datenbank wurde auf MongoDB umgestellt.
  • Automatisierte Tests auf Webservice Ebene.
  • Blue-Green-Deployment
  • Keine Rollbacks, nur noch Rollforwards.
  • Qualitätssteigerung: Pairprogramming, statische Code-Analyse, Zero Bug Policy, Verantwortung für Qualität liegt beim Team.

6. Es darf gelacht werden

Thomas Ronzon, Nicolai Josuttis und Johannes Mainusch wundern sich über Handtrockner auf der OOP

Zum Schluss des langen OOP Tages habe ich mir ein kleines Zuckerl verdient: Thomas Ronzon, Nicolai Josuttis und Johannes Mainusch berichten über Kurioses aus dem Projektalltag. Angefangen haben sie mit der Frage, ob jemand weiß, warum die Handtrockner auf den Toiletten der OOP wegen Geräuschentwicklung ausgeschaltet sind. Diese und andere Kuriositäten haben sie immer mit Bildern oder mit Code-Beispielen belegt, was zu viel Gelächter im Publikum sorgte. Zeitweilig wurde ich an die TV-Serie “Big Bang Theory” - nur eben mit Software-Spezialisten - erinnert. Neben dem Humor kann man aber aus dem Vortrag auch eine Portion angeregte Kreativität für eigene Projekte mitnehmen - zum mehr oder weniger nachmachen.