Developer Open Space 2013

22. Oktober 2013


Der Developer Open Space 2013 in Leipzig ist beendet! Vom 18. - 20. Oktober hatten viele bekannte und neue Gesichter hier ein Stelldichein und es kamen ausgezeichnete Gespräche zustande. Ich habe so viele neue Inspirationen erhalten und konnte wohl auch das Eine oder Andere einbringen. Von einigen Eindrücken möchte ich hier berichten.

Übersicht

  1. Meine Studie
  2. Werte
  3. SignalR
  4. Motivation - Drive
  5. Empathic Presentations
  6. Sessions
  7. Abschluss

Meine Studie

Zu allererst fühlte ich mich verpflichtet, etwas über meine Studie zu erzählen. Diese hatte ich mittlerweile beendet und viele Teilnehmer des Open Space wahren wohl auch Teilnehmer meiner Studie gewesen. Da die Teilnahme nicht entlohnt (bezahlt) wurde, hatte ich versprochen, möglichst schnell über die Ergebnisse zu berichten. Dies bewerkstelligte ich in einer eigenen Session - aber dazu habe ich einen eigenen Bericht geschrieben.

Werte

Zuerst möchte ich den größten Brocken dokumentieren. Ich hatte mehrere Aha-Erlebnisse in Leipzig, eines davon war - überspitzt formuliert - was Sexismus mit agiler Softwareentwicklung zu tun hat. Ich hatte vor längerem zum Thema Genderforschung eine Vorlesung gehört. In dieser lernte ich, dass Stereotypen eigentlich der kognitiven Haushaltung dienen. Stereotypen selbst sind erst mal sinnvoll und notwendig und lediglich bildhafte Klassen von Konzepten. Beispielsweise hat wohl jeder ein Bild im Kopf, wenn ich von einem "Stuhl" spreche. Wenn man nun einen stereotypischen Stuhl beschreiben würde, dann ist das Ergebnis vielleicht: Ein Stuhl hat vier Beine und eine Sitzfläche, sowie eine Lehne. Das ist ein Stereotyp, der schonmal gar nicht so richtig ist, da die wenigsten Programmierer bei der Arbeit auf solchen Stühlen sitzen. Wahrscheinlicher ist es, dass sie auf einem schwarzen, höhenverstellbaren, gepolsterten Drehstuhl mit Armlehnen sitzen. Der Stereotyp kann eben täuschen. Das ist erst mal auch nicht so schlimm - schlimm wird es erst, wenn man aufgrund des Stereotypen anfängt, zu diskriminieren und aufgrund von Stereotypenzugehörigkeit (oder eben deren Abwesenheit) Hass zu schüren. Der Stereotyp selbst ist erst mal ok, denn er ist lediglich eine Art Datenreduktion um vereinfacht denken zu können.

Die Sexismusdebatte beinhaltet unter anderem eine Diskussion von Geschlechtsstereotypen. Diese beinhalten deskriptive (Männer / Frauen sind so) und präskriptive (Männer / Frauen sollen so sein) Elemente. Leider wird in der Diskussion immer viel gemischt, sodass man zwischen dem biologischen Geschlecht (Sex) und dem sozialen Geschlecht (Gender) trennen sollte. Unabhängig von der eigentlichen Biologie lässt sich beschreiben, dass Männer männlich und Frauen weiblich sind - aber was bedeutet das? Durch den weiblichen Stereotypen wird Frauen zugeschrieben, dass sie empathisch und harmonieschaffend sind; stereotypische Männer hingegen sind eher selbstbehauptende Problemlöser. Es gibt aber auch Männer, die eher harmonieschaffend und empathisch sind und auch Frauen, die mal auf den Tisch hauen können - daher sollte man nicht zwangsweise über Mann und Frau (das biologische Geschlecht) reden, sondern über die Werteklassen "agentisch" und "kommunal" .

Agency - Agentisch ist das "sich behauptende" - "stereotypisch männliche". Diese Werte finden sich auch in der Geschäftswelt. Eher konservative Großfirmen, stereotypisch und reduktiv als "Enterprise" gelabelt, sind eben eher "männlich" agentisch. Es geht ihnen ums Geldverdienen, Probleme lösen, Produktivität steigern, Leisten und Kontrollieren und Wachstum. Wenn agile Entwickler und Coaches nun ankommen, dann reden sie oft über selbstorganisierende, harmonierende Teams, Kommunikation, Verständnis des Kunden, Menschen vor Prozessen. Ein Teil des Manifesto ist beispielsweise

"[Wir wertschätzen...] Kollaboration gegenüber Vertragsverhandlungen".

Ziel ist es also, im Rahmen agiler Methoden, durch Kollaboration Vertrauen aufzubauen, anstatt durch Verträge auszuhandeln, wie jemand bestraft wird, wenn er ein Ziel nicht erreicht. Und diese Schaffung von Harmonie ist eher ein Teil des weiblichen Stereotyps. Man könnte überspitzt also sagen, dass "Agile" bedeutet, weibliche Werte in eine männliche Welt zu bringen. Aber solche Wertunterschiede beherbergen viele Konflikte.

Die Parallele mag vielleicht dem einen oder anderen etwas weit hergeholt erscheinen, aber ich glaube, dass eine weitere Diskussion hier neue Lösungsansätze für viele Probleme bringen könnte. Ich höre nun jedes Mal, wenn jemand schreit: "Wir wollen mehr Frauen in der IT" stattdessen eher "Uns fehlen kommunale Werte in der IT". Und Empathic Code ist eben meine Art, genau diese Werte in der Programmierung zu etablieren.

Aber nun zu mehr technischen Aspekten. Immerhin war es ein Open Space für Entwickler.

SignalR

SignalR ist ein Framework, das bidirektionale, stehende Verbindungen zwischen einem (Browser-)Client und einem .NET-basierten Server aufbauen kann. Es ist quasi die C# Version von Socket.IO und bietet neben WebSockets auch weitere Fallbacks (json polling, etc.). Als lustige Machbarkeitsstudie gibt es übrigens Gif-Sockets . Man lädt so lange Frames in einem Gif und terminiert es nicht - zack hat man einen laufenden Datenstrom - die WebSockets der 90er. Geht in ie6.

Lange dachte ich darüber nach, was man damit machen könnte (WebSockets, nicht gif-Sockets ;), aber mir fiel ausser einem Twitter-Klon oder einem X-beliebigen Admindashboard nichts ein. Dann wurde mir klar, dass daran ja toll ist, dass - durch die stehende Verbindung - der Server auch Nachrichten an den Client schicken kann.

Wie Schuppen fiel es mir von den Augen, wie genau das eines meiner Probleme löst. Ich fühlte mich wie Sudden Clarity Clarence . Udo Wiegärtner fing den Moment mit meiner Kamera ein!

Sudden Clarity Cessor

Die Software soll nach und nach alle PDFs für die Vorlesungen der Studenten herunterladen und neue Dateien anzeigen. Zwar sind die verfügbaren UI-Libraries in Python alle nahezu plattformunabhängig, aber die Apis gefallen mir nicht (ich finde sie hässlich) und teils liegen ihnen seltsame Paradigmen zugrunde, die mir die Arbeit erschweren.

Meine Lösung: Statt einer nativen Windows/X/Gnome/Linux/MacOs GUI einfach eine Browserseite öffnen. In die kann ein Server dann einfach UI-Updates per WebSockets "streamen". Wenn sich also wirklich was ändert, kann der Server das an die UI "pushen", anstatt auf ein zyklisches Polling zu warten. Das ermöglicht auch, generische UIs für Technologien zu schreiben, die eigentlich nicht für den lokalen Programmbetrieb gedacht sind.

Es ließen sich auf diese Weise plattformunabhängige GUIS schreiben - im Browser eben. Ein moderner Browser sollte immer verfügbar sein und so könnte man eine Gui-Api für Node oder Ruby schreiben, die einfach Ausgaben an den Browser schickt. Damit kann ich nun eine Gui bauen, die nicht auf dieses saudämliche TKinter angewiesen ist und sich durch HTML5, CSS und JavaScript, Bootstrap und Co. schön, responsiv, plattformunabhängig und nicht-verwirrend. Einzige Voraussetzung ist eine WebSocket-Implementierung für den Server und ein moderner Browser. Tatsächlich sieht selbst zwischen IE, Chrome und Firefox das Look-And-Feel eine mit Bootstrap gebaute Website gleicher aus als das L-A-F zwischen TKinter auf Windows und Linux.

Wahrscheinlich ist die Idee nicht neu und schon tausende Leute hatten sie vor mir - mir wurde das Prinzip aber erst am Open Space klar und ich habe mich gefreut.

Das Ergebnis unserer Session auf dem Open Space findet ihr übrigens hier: SignalR Beispiel

Motivation - Drive

Oft kommt an so einem Open Space der Spruch "Wechsel doch den Job, wenn's dir nicht passt". Besonders wenn es um nicht-agile Chefs, Firmen oder Teammitglieder geht. Klar, aber das geht nicht so einfach. Jedoch sollte jeder diese Frage beantworten: Was hält einen in der Firma? Warum kommen die Kollegen zur Arbeit? Warum opfern mache dem allmächtigen C#-Gott ihre schönste Ziege und andere machen nur 925 (Nine to Five)? Was bewegt uns, was treibt uns an, was motiviert uns? Ich finde am nächsten Open Space sollten wir genau das diskutieren. Bis dahin empfehle ich das Buch "Drive" von Daniel Pink - es bietet eine tolle Diskussionsgrundlage.

Empathic Presentations

Wie präsentiere ich angemessen, ansprechend, informativ und nicht langweilig? Zu Ende der Sitzungen am Open Space diskutierten wir (etwas unter Zeitdruck), was eine gute Präsentation ausmacht. Anregung möchte ich durch meine Folien und Vorträge geben, aber ich denke dass dieses Thema noch einmal ausführlich besprochen werden sollte.

Bedanken möchte ich mich bei den Teilnehmern der Session, die so viel Gutes beizusteuern hatten! - zuletzt Marco Rasp , der auf dieses Video hinwies.

Sessions

Ich empfand leider oft as unangenehm, dass auf dem Open Space noch sehr viel in "Tracks und Sessions" gedacht wurde. Eigentlich soll der Open Space ja eine "Unkonferenz" sein. Ich fand, dass sehr oft durch Zeitdruck Teilnehmer einfach "abhauten" oder nicht zu Ende gehört wurden. In der weiter oben genannten "Werte" Session entschied die Gruppe jedoch zu bleiben - zum Unwohlsein derer, die forderten dass irgendein anderes Thema (Elixir?) diskutiert werden müsse. Prinzipiell hat es also geklappt, aber der Raum für Diskussion musste umkämpft werden. Und warum braucht man immer nen Raum? Das Wetter war doch toll? Hier wünsche ich mir ein wenig mehr Dynamik.

Abschluss

Trotz aller Kritik möchte ich zum Schluss noch ausdrücken, wie ausgesprochen bereichernd der Open Space für mich war. Persönlich möchte ich teilen, dass ich sehr glücklich bin, am OS teilnehmen zu dürfen und so Feedback zu erhalten, um mich selbst zu reflektieren und mich intellektuell auszutauschen, wunderbaren Menschen emotional und fachlich zu begegnen, die mich in einem Ausmaß bereichern, das weit über die Möglichkeiten einer Universität hinausgeht.

Bedanken möchte ich mich bei

Alexander Groß , Alexander Zeitler , Andreas Richter , Benjamin Bock , Christian Fiebrig , Christoph Stock , Gregor Woiwode , Hans-Peter Schelian , Hendrik Lösch , Ilker Chetinkaya , Jan Fellien , Krisztina Hirth , Lars Kumbier , Marcel Hoyer , Marcell Spies , Marco Rasp , Mario Binder , Marius Schulz , Mariusz Kogut , Max Malook , Mike Bild , Oliver Guhr , Robert Mühsing , Sascha Dittmann , Sebastian Seidel , Sebastian Mansow-Model , Stefan Cullmann , Stefan Reissmann , Sven Sönnichsen , Thomas Bandt , Thorsten Dörfler , Timur Zanagar , Torsten Weber , Udo Wiegärtner , Uli Armbruster und vor allem Tala Otte und besonders Jochen Schaffer und Niels Hebling und allen die ich gerade in der Liste vergessen habe oder deren Twitter Namen ich nicht auswendig kenne, oder die keinen haben, aber die den OS so toll gemacht haben.

Weitere Links:

Bilder , Uli Armbrusters Blog mit mehreren Artikeln zum Devspace

Kommt in die Devspace Teilnehmer Gruppe auf Trello! Fragt mich am Besten auf Twitter und ich füge euch hinzu. Auch ohne Mitgliedschaft lohnt sich sicher die Buchliste oder das Board zu UI-UX , zu dem jeder etwas beitragen darf!