oliverlorenz.com

[feed] [twitter] [xing] [linkedin] [github]

Dieser Blog ist nicht kaputt.

2018-12-09 2018-12-07 2018-12-02 2018-09-25 2018-09-07 2018-08-28 2018-08-02 2018-06-02 2018-05-28 2018-05-04 2018-05-03 2018-04-09 2018-04-02 2018-03-29 2018-03-24 2018-03-23 2018-03-22 2018-03-09 2018-03-04 2018-02-16 2018-02-14 2018-02-13 2018-02-12 2018-02-05 2018-02-03 2018-01-26 2018-01-24 2018-01-23 2018-01-22 2018-01-21 2018-01-20 2018-01-19 2018-01-04 2017-12-17 2017-12-16 2017-12-15 2017-12-12 2017-12-07 2017-12-06 2017-12-05 2017-12-04 2017-12-01 2017-11-30 2017-11-29 2017-11-24 2017-11-23 2017-11-22 2017-11-19 2017-11-18 2017-07-04 2017-07-03 2017-02-05 2016-12-31 2016-06-13 2016-05-20 2016-03-29 2016-01-01 2015-11-09 2015-11-06 2015-10-31

Developer Open Space - Die Spaces

Der zweite Tag und dritte Tag beim Developer Open Space sind die Spaces-Tage. Spaces sind nicht definiert. Es kann ein klassischer Talk sein, ob vorbereitet oder nicht. Eine Diskussionsrunde, ein Erfahrungsaustausch, oder eine Art Workshop im kleinen. Der Phantasie sind keine Grenzen gesetzt! Ebenso ist es möglich, einfach zu sagen, dass man an einem bestimmten Thema Interesse hat.

Das Standup

Der Tag beginnt wie bei vielen in meinem Arbeitsumfeld mit einem Standup. Torsten hat kurz ein paar Worte zur Konferenz und deren Geschichte und Wandlung über die letzten Jahre erzählt. In diesem Moment wurde mir auch das erste Mal die Teilnehmer-Zahl von über 300 im Raum bewusst.

Im Anschluss hat er uns die “Regeln” für einen Space vorgestellt, was mich etwas zum Schmunzeln gebracht hat. Eben nicht weil ich es albern fand, sondern ich diese offene Kommunikationsförderung sehr zu schätzen weiß! Die Wichtigste war “Das Gesetz der zwei Füße”, welche aussagen sollte, dass jeder den Space verlassen kann wenn man einen Grund dazu sieht. Egal ob man einfach nur kurz in ein Thema reinhören wollte oder man sich etwas anderes vorgestellt hat. Hätte man diese Ansage nicht gemacht, hätte man wohl mehr Hemmungen gehabt einen Space einfach zu verlassen.

Nach dieser kurzen Einführung war die “Bühne” für die Teilnehmer freigegeben. Jeder, der einen Beitrag leisten wollte oder einfach ein Interesse an einem bestimmten Thema hat, konnte sich kurz vor das Publikum stellen und etwas sagen. Anschließend wurde mit Handzeichen signalisiert wie viel Interesse an dem Thema besteht. Je nach dem wurde dann ein Raum mit der entsprechenden Größe gewählt.

Nachdem alle Beitragenden gehört worden sind, hat sich eine Timetable ergeben, die inital durch Torsten unter Berücksichtigung der Raumgröße definiert wurde. Anschließend hatten wir noch einmal die Möglichkeit zu schieben und entsprechend Einfluss zu nehmen. Und schon ging der Tag los!

Dieses Schauspiel hat sich an beiden Spaces-Tagen ereignet und war die Einstimmung auf den Tag. Trotzdem gab es Unterschiede zwischen den Tagen:

Ich persönlich habe im ersten Tag für mich klare thematische Lücken entdeckt zu denen ich etwas beitragen konnte. Was ich letztendlich dann auch getan habe. Ich glaube der zweite Spaces-Tag ist bei dieser Konferenz tatsächlich der qualitativere. Zumindest habe ich wahrgenommen, dass die Leute mutiger geworden sind, selbst etwas beizutragen.

Der erste Tag hatte den Charme, dass vor allem die gut vorbereiteten Vorträge ihre Bühne fanden. Man darf nicht vergessen, dass ein guter Vortrag oder Workshop ein super Aushängeschild für jeden Web-Worker ist. Und wenn man es genau nimmt sind diese Bühnen selten.

Unterschiedliche Spaces, Charaktere und Qualitäten

Ich kann leider nicht zu allen Spaces schreiben die ich besucht habe. Trotzdem sind mir ein paar allgemeine Dinge aufgefallen auf die ich eingehen möchte.

Spaces sind nicht definiert und bieten, neben den Leuten die wirklich Routine im halten von Talks haben, auch anderen eine Plattform sich auszutauschen.

Ich hatte einige Speaker gesehen, die über ihren Schatten gesprungen sind, und einfach ein Thema angeboten haben. Oft hat man gemerkt, dass sie das noch nie gemacht haben, aber es sind super Spaces daraus entstanden. Ich habe selten so fruchtbare und dynamische Diskussionen erlebt wie beim Developer Open Space. In diesen positiven Beispielen hatte man wirklich den Eindruck, dass sich die Leute auf Augenhöhe begegneten und sich die Diskussion von ganz alleine weiterentwickelt. Am Ende konnte jeder etwas mitnehmen, egal auf welchem Wissensstand oder mit welcher Erwartung man in den Space gegangen ist.

Neben den wirklich sehr vielen guten Spaces gab es aber auch einige, die ich etwas enttäuscht verlassen habe. Die Themen waren sehr interessant und waren als offene Diskussion angedacht. Schlussendlich stellte sich aber heraus, dass das Thema vom Space-Initiator immer wieder auf seine eigene Position gelenkt wurde. Die Sätze haben eigentlich immer mit der Floskel “Bei uns in der Firma …” begonnen.

Konstruktive Beiträge sind zwar angehört worden, aber haben irgendwie nicht dazu geführt, dass sie die Diskussion befruchten. Retrospektiv betrachtet hat sich das Ganze wie ein großes Jammern angehört. Auch das muss mal sein, aber ich hätte mir gewünscht, dass man hier vielleicht etwas lösungsorientierter diskutiert.

An dieser Stelle möchte ich auch mir selbst und ggf. den anderen Spaces-Teilnehmern an die Nase fassen: Sollte es garnicht passen, sollte öfter das Gesetz der zwei Füße in Kraft treten. Andersherum ist es auch an uns Teilnehmern, den Space mehr zu formen. Das werde ich nächstes mal besser machen.

Die Blogreihe

Dieses mal bin ich vor allem auf die allgemeinen Aspekte der Spaces eingegangen. Das soll aber nicht so bleiben. Im nächsten Teil gehe ich auf meine Highlight-Spaces und meinen ersten eigenen Space ein.

2015-10-27

Developer Open Space - Der Workshop Tag

Dieses ist der zweite Teil der Blog-SerieDeveloper Open Space”. Zuvor habe ich bereits allgemein über die Konferenz geschrieben. In diesem Teil möchte ich genauer auf den Workshop-Tag eingehen.

Das Schöne am Workshop-Tag ist, dass man tatsächlich nicht nur einen groben Überblick bekommt, sondern wirklich per Deep-Dive in ein Thema einsteigt und tatsächlich praktische Erfahrung sammelt. In meinem Fall habe ich mich im Vorhinein für den Workshop “Microservices in der Praxis” von Andreas Helmberger und Mike Bild entschieden, welcher mich in der Umsetzung und Dynamik sehr positiv überrascht hat.

Im Workshop “Mircoservices in der Praxis” ging es darum, über mehrere Teams hinweg eine Microservice-Architektur aufzubauen und einen kleinen Online-Shop live zu bringen. Eine nicht ganz kleine Aufgabe für einen Workshop von 8 Stunden Länge.

Bevor es richtig losging wurde uns eine kurze theoretische Einführung gegeben und die vorbereitete Infrastruktur gezeigt. Uns wurde ein vorbereiteter Docker-Container zur Verfügung gestellt, in dem eine NodeJS-Instanz lief, die wir nutzen konnten. Darüber hinaus gab es einen TravisCI, der das ganze dann in die Cloud deployed. Das hatte zum einen den Vorteil, dass wir sofort loslegen konnten, zum anderen haben wir damit das etwas lahmende WLAN zum Teufel gejagt, da alle breitbandintensiven Operationen in der Cloud stattgefunden haben. Großes Kompliment! Richtig gut und gleichzeitig praxisnah umgesetzt!

Der erste Teil des Workshops war am Anfang etwas holprig. Das lag aber mehr an den anwesenden Leuten als an den Speakern. Alle beschnupperten sich erstmal ein wenig. Wir diskutierten wie wir das ganze aufbauen wollten. Ich habe diesen Teil vor allem als Verständnisschärfung innerhalb der Gruppe für eine Microservice-Architektur wahrgenommen.

Ich persönlich habe die Diskussionszeit ein bisschen schleppend wahrgenommen. Man hätte an der Stelle meiner Meinung nach gern etwas flotter durch diese Diskussion gehen können. Das Thema war mir allerdings auch nicht ganz neu. Das Endergebnis war Schlussendlich sehr positiv. Ich hatte das Gefühl, dass jeder Workshop-Teilnehmer wusste was zu tun ist.

Nachdem wir festgelegt hatten wie wir die Services schneiden, haben wir Teams gebildet, die sich jeweils um einen Service kümmerten. In unserem Fall haben wir uns für folgenden Schnitt entschieden, um unseren E-Commerce-Shop auf die Beine zu stellen:

Die Aufteilung der Teams ging schnell. Einzig und allein der UI-Service schien unter den Workshop-Teilnehmer nicht so beliebt zu sein. Um das Ganze voranzutreiben habe ich mich dafür entschieden diesen Teil zu übernehmen, worauf sich ein zweiter Teilnehmer anschloss.

Startschuss in die Praxis

Das wichtigste am Anfang war es, dass jeder deployen konnte. Zur Unterstützung wurde ein physisches Board erstellt wodurch angezeigt werden sollte, ob man bereits deployen konnte oder nicht.

Wie bei Microservices selbst, sind einige Absprachen notwendig um ein vernünftiges Service-Ökosystem auf die Beine zu stellen. Es müssen IP-Adressen, Protokolle und Formate definiert werden. Ich hatte den Eindruck, dass diese Diskussion sehr viel Zeit in Anspruch genommen hat und immer sehr dezentral verlaufen ist. Das Ergebnis war im Endeffekt, dass die linke Hand nicht wusste was die Rechte tut. Nichtsdestotrotz haben es alle Teilnehmer geschafft, ihren Service zu deployen.

Eine Microservice-Architektur ist ein lebendes Konstrukt. Vor allem als UI-Team, welches alle Services miteinander verbindet, standen wir immer wieder vor Problemen:

Um diesen Problemen von Anfang an entgegen zu wirken, haben wir uns dazu entschieden in der ersten Version die entsprechenden Endpunkte zu mocken. Das hatte den Vorteil, dass wir nicht durch die anderen blockiert waren und uns nicht ständig anpassen mussten.

Somit waren wir in der Lage, bereits einen Produkt-Katalog anzuzeigen, wärend die anderen noch implementierten. Das Anschließen der Services haben wir dann einmalig an das Ende der Implementierung gesetzt.

Technisch war unser UI-Service eine Single-Page auf Basis von Twitter Bootstrap 3 und jQuery der über die REST-Endpoints der Services gefüttert wurde. Das entsprechende Repository kann hier eingesehen werden.

Die gesamten Repositories aller Teams sind hier zu finden.

Schlussendlich haben wir es zeitlich nicht geschafft alles zusammenzubringen. Macht aber nichts, denn ich glaube dass alle verstanden haben, worum es ging und wo die Herausforderungen lagen.

Die Speaker

Andreas und Mike haben ein super Team abgegeben. Während Andreas vor allem den technschen Teil übernommen hat, hat Mike vor allem die Rolle des Projekt-Managers eingenommen, was sich perfekt ergänzt hat.

Der Workshop war super vorbereitet! Man hatte von Anfang bis Ende das Gefühl, dass sie wissen wovon sie reden und auch schon eine gewisse Routine in der ganzen Thematik mitbringen.

Auf alle aufkommenden Fragen oder auftretende Probleme wurde eingegangen und diskutiert. Auf alles gab es eine Antwort, die uns als Workshop-Teilnehmer weiterbrachte!

Solltet ihr die Möglichkeit haben an einem Workshop der beiden Teilzunehmen: Macht es! Kann ich uneingeschränkt empfehlen!

Meine Learnings

Auch wenn es im Endeffekt dazu gefüht hat, dass wir insgesamt nicht fertig geworden sind, spiegele der Workshop die Herausforderung der Microservice-Architektur sehr gut wieder. Eine Microservice-Architektur ist from Scratch ein beherrschbares Konstrukt. Sobald es aber um Änderungen geht (und das tut es ja qausi immer), sollte man sich genau überlegen was man tut. Änderungen in einem Microservice können und werden dazu führen, dass andere abhängige Services kaputt gehen.

Besonders deswegen habe ich mitgenommen, dass man Microservices nur einsetzen sollte wo es tatsächlich notwendig ist. Microservices bieten auf der anderen Seite eine hohe Ausfallsicherheit, da - bei entsprechender Einrichtung - mehrere Instanzen parallel laufen können.

Die größte Herausforderung sehe ich bei der Microservice-Architektur in der Abstimmung der Services oder Teams untereinander. Wir haben im Worshop selbst fefstgestellt, dass zum Anfang elementare Absprachen gefehlt haben, die das Zusammenarbeiten schwierig gemacht haben. Ohne ein gewisses Regelwerk wird eine Microservice-Architektur im Chaos enden.

Fazit

Ein großartiger Workshop, in dem ich mein Wissen technisch vertiefen konnte, aber vor allem der Kommunikationsfaktor DAS Key-Learning war. Ich bin sehr froh, diesen Workshop gewählt zu haben, denn ich weiß jetzt welche Herausforderungen auf mich zukommen, wenn ich mich für eine solche Archiketur entscheide.

Insgesamt hätte ich mir ein bisschen mehr vordefinierte Regeln gewünscht. Zum Beispiel:

Das hätte uns eine Menge Zeit und Implementations-Interationen gespart, wobei man prüfen müsste ob das Learning damit immernoch so effektiv gewesen wäre.

Der Workshop selbst war sehr abwechslungsreich, unterhaltsam und vor allem kommunikativ! Ich hatte sehr viel Spaß und habe viel gelernt, was ich nun in meinen Arbeitsalltag integrieren kann! Vielen, vielen Dank dafür!

Die Blogreihe

Im nächsten Teil meiner Blog-Reihe werde ich etwas zu den Spaces-Tagen erzählen. Dabei werde ich weniger etwas zu konkreten Spaces erzählen (das wird Teil 4) sondern eher auf den allgemeinen Ablauf bzw. deren Organisation an diesen Tagen erzählen.

Developer Open Space 2015

Was ist das?

Der Developer Open Space ist eine Unkonferenz. Das schöne an Unkonferenzen ist, dass vorher nicht bekannt ist zu welchen Themen es überhaupt Talks geben wird. Und: Jeder ist dazu angehalten etwas beizutragen oder aktiv Themen anzustoßen über die man mit anderen ins Gespräch kommen möchte.

Was für einige Leute abschreckend und unkonkret klingt, fördert meiner Meinung nach die Kommunikation und zieht einen besonderen Typ Mensch an, was mir sehr, sehr angenehm war.

Ich möchte in dieser kleinen Blog-Reihe einen kleinen Einblick geben, wie ich diese Konferenz wahrgenommen habe und warum der Developer Open Space für mich nächstes Jahr definitiv ein Pflichtveranstaltung ist.

Organisation

Die Konferenz selbst fand in einem Tagungshotel Namens “Commundo Tagungshotel” in Leipzig statt, welches sich sehr gut für dieses Event eignete. Parkplätze waren ausreichend vorhanden, ebenso war es möglich direkt Hotelzimmer zu beziehen. Wir hatten insgesamt 7 Räume verschiedener Größe zur Verfügung. Das Rundum-Sorglos-Paket aus der Feder des Torsten Weber.

Torsten ist dieses Jahr alleiniger Organisator gewesen. Wie ich gelernt habe ist das aber nach acht Jahren Developer Open Space die Ausnahme und hat sich im Endeffekt nicht anders ergeben. Ich habe Torsten wieder als Innovator wahrgenommen, der das Talent hat Dinge einfach zu delivern, die Zügel an den entsprechenden Stellen straff zu halten und trotzdem eine gewisse Leichtfüßigkeit und Gelassenheit an den Tag zu legen. Anders hätte man dieses Event wohl auch nicht auf die Beine stellen können. Einen besonderen Dank an dieser Stelle an ihn!

Aufbau der Konferenz-Tage

Die Konferenz teilt sich in zwei Grundlegend unterschiedliche Teile.

Der erste Tag ist ein ist ein Workshop-Tag. Das heißt in diesem Fall, dass ein oder mehrere Coaches einen Workshop vorbereiten und mit den zuvor angemeldeten Teilnehmern durcharbeiten. Da geht es von Agile-Themen oder reinen Kommunikationsthemen bis in in tiefe Technologie-Topics. Das klare Motto dieses Tages ist Mitmachen und Deep-Dive!

An den anderen zwei Tagen werden in einer mehr oder minder festen Timeline so genannten “Spaces” abgehalten. Spaces sind nicht definiert. Es kann ein klassischer Talk sein, ob vorbereitet oder nicht. Eine Diskussionsrunde, ein Erfahrungsaustausch, oder eine Art Workshop im Kleinen Maßstab sein. Der Phantasie sind keine Grenzen gesetzt! Ebenso ist es möglich einfach zu sagen, dass man an einem bestimmten Thema Interesse hat.

Zum ersten Mal da?

Leuten die das erste mal da sind möchte ich ans Herz legen: Seid offen. Es ist ein Open Space. Lasst euch treiben und kommt ins Gespräch! Keiner beißt und die meisten der anderen Nerds haben noch viel mehr Angst vor euch als ihr vor ihnen ;) Ein Guter Ort dafür war mal wieder der “Snack-Raum”. Ich habe ihn liebevoll das Füllhorn getauft: Denn gefühlt hat man einen Keks rausgeholt und es wurden drei nachgelegt. Unglaublich!

Die Blogreihe

Nun habe ich zu den eigentlichen Themen noch garnicht viel gesagt. Es ist aber auch so viel zu sagen! Deswegen habe ich mich entschieden das ganze Aufzuteilen.

In meinem nächsten Teil meiner Blog-Reihe werde ich etwas zu dem Workshop-Tag und meiner persönlichen Erfahrung zu diesem Tag schreiben.

2015-05-10 2015-04-15 2015-03-25 2015-03-22 2015-03-20 2015-02-12 2015-01-24 2015-01-02 2014-10-15 2014-09-20 2014-09-19