Girl’s Day 2014

Zu unserem 2. Girl’s Day bei Mayflower kamen 10 Mädchen aus Münchner Schulen. Ich hatte die Kritik vom Vorjahr beherzigt und die letzten Monologe und Frontalelemente entfernt: Anstelle meiner Einführung in agiles Arbeiten sollten die Girls anhand einer Liste von Stichpunkten recherchieren und sich gegenseitig in Blitzvorträgen das selbständig Erarbeitete kurz vorstellen. Das für beide Seiten ermüdende Abspulen von Slides wurde durch lebendig vorgetragene und konzise Informationen zu den Begriffen Scrum, Product Owner, Scrum Master, Team, Sprint und Review ersetzt. Die Vorträge haben mich wirklich begeistert.

Was haben wir gemacht?

Nach einer kurzen Vorstellungsrunde haben wir uns ein Task Board geschrieben sowie zwei Time Keeper bestimmt, die über den Tag aufpassten, dass wir in der Zeit bleiben. GirlsDay2014_TaskBoard

Wir haben die Erwartungen an den Tag aufgeschrieben, Cluster gebildet und diese benamt. GirlsDay2014_Erwartungen

Zum Auffwärmen haben wir Bits gespielt: In drei Reihen zu je 4 Mädchen hat jede Schülerin jeweils ein 1er, 2er, 4er oder 8er Bit dargestellt. So konnten wir Zahlen zwischen 0 und 15 darstellen. Zwei Reihen haben die Summanden dargestellt, eine Reihe war die Summe.

Mit den Blitzvorträgen haben wir uns für agiles Arbeiten eingestimmt, um die anschließende Aufgabe methodisch zu lösen: Eine Brücke sollte aus Holzstäbchen, Korken und Schnüren in 60 Minuten so gebaut werden, dass sie 30 Zentimeter überspannt und einen Apfel trägt.
Der Eifer, die Brücke fertigzustellen, war so groß, dass die Methodik etwas unter die Räder kam, aber das Resultat war beeindruckend, die Brücke wurde termingerecht geliefert und die Features sogar übererfüllt (3 Äpfel Tragfähigkeit). GirlsDay2014_Bruecke

Im Anschluss haben wir wie im vergangenen Jahr HTML5 Canvas Elemente manipuliert. Die Girls haben sich schnell im Code zurechtgefunden und sehr unterschiedliche Ergebnisse erzielt. Das Arbeiten hands on kam gut an, da in der Schule die Rechner offenkundig meist aus bleiben (Warum eigentlich?).

Der relativ enge Zeitplan hat wieder geholfen, die Aufmerksamkeit und Konzentration hochzuhalten. Wenn der Wunsch nach Teamarbeit vorhanden ist, sind Ergebnisse fast sofort erreichbar. Mit diesem Team hätte man durchaus schon auf einem realen Projekt produktiv werden können. Abschließend haben wir eine kleine Retrospektive gemacht, in der die Girls aufgeschrieben und geclustert haben was gut und was schlecht lief. Im Großen und Ganzen wurde der Tag als Erfolg, die Erwartungen als erfüllt empfunden.

Liebe Lehrer, Eure Schülerinnen können mehr als Ihr denkt, gebt ihnen doch mehr Chancen, das auch zu zeigen!

Ein Dankeschön an meine Kinder Ida-Marie und Joseph für die Hilfe beim Vorbereiten und Ausprobieren.

GirlsDay2014_Girls

AngularJS Tipps: Message-Bus für eine AngularJS-App und das Publish-Subscribe Pattern

Mit diesem Artikel setze ich die Reihe AngularJS Tipps fort und beschäftige mich hier noch einmal mit der Frage, wie in einer AngularJS-App Kommunikation und Datenaustausch stattfinden kann. Allerdings liegt der Schwerpunkt in diesem Fall auf Applikationen mit konsequent modularer Struktur. Teil I der Reihe handelte von der Kommunikation zwischen AngularJS-Controllern und Teil II der Reihe vom grundlegenden Aufbau einer AngularJS-Applikation.

Was ich nun in diesem Artikel konkret vorstellen möchte, ist die Implementierung eines Message-Bus mit AngularJS, der als Notification-Service dienen soll. Das Konzept dahinter ist das Publish-Subscribe Pattern. Damit können Teile einer Applikation miteinander verknüpft werden die nicht in einer unmittelbaren Beziehung stehen sollen (Kapselung, Wiederverwendbarkeit, Testbarkeit).

Der Artikel richtet sich an Leser die bereits Erfahrungen mit AngularJS gesammelt haben und ist darum keine generelle Einführung in die Arbeit mit diesem JavaScript-Application-Framework.

Weiterlesen

Wireframing-Tools – so viel will ich doch gar nicht …

Wireframes. Machen wir alle. Irgendwie. Immer mal wieder. Vornehmlich sind sie natürlich das alltägliche Werkzeug von UX’lern. Aber auch viele andere, an Softwareentwicklung beteiligte Personen nutzen sie. Gerne als kurze Skizze auf Papier, um im Gespräch einen Sachverhalt zu erläutern. Oder in irgendeiner Form schnell und rough digital erstellt und anschließend per Mail oder Skype verschickt, um z.B. den Kunden während eines Telefonats ein Problem besser verständlich machen zu können. Oder mit etwas mehr Muße erstellt (und damit auch über den Gesprächskontext hinaus noch verständlich) und benutzbar, um im Termin mit dem Kunden über die detaillierte Umsetzung eines Features zu sprechen. Oder, oder, oder …

Was ich mir wünsche

Wenn man Wireframes produzieren möchte, die langfristig verständlich und wertvoll sind, braucht man dafür meist ein geeignetes, digitales Tool, mit dem man sie nicht nur erstellen, sondern auch nachträglich editieren und exportieren kann. Nur so lässt es sich mit den produzierten Wireframes kontinuierlich arbeiten und man kann sie als Kommunikationsmittel nutzen.  Weiterlesen

AngularJS Tipps: Modularer Aufbau einer AngularJS-Applikation

In diesem zweiten Teil der Reihe AngularJS Tipps geht es um den grundlegenden Aufbau einer AngularJS Web-Applikation. In Abgrenzung zu bekannten Beispielen, zeige ich ein einfaches, aber praxisnahes Muster für eine modulare Struktur einer AngularJS-App. Im vorangegangenen ersten Teil der Reihe beschäftigte ich mich mit der Kommunikation zwischen AngularJS-Controllern.

Der Artikel richtet sich an Leser die bereits Erfahrungen mit AngularJS gesammelt haben und ist darum keine generelle Einführung in die Arbeit mit diesem JavaScript-Application-Framework.

Weiterlesen

AngularJS Tipps: Controller-Kommunikation, Datenaustausch per Routing, AJAX-Error-Handling

Dieser Artikel ist der erste Teil der Reihe “AngularJS Tipps”. Er beschäftigt sich mit drei Problemstellungen zu denen Best-Practise-Tipps gegeben werden sollen: (1) Kommunikation zwischen Controllern via Services, (2) Datenaustausch zwischen Controllern per Routing und AJAX-Errors an einer zentralen Stelle einer Web-App abfangen. Alle diese Themen drehen sich um die Frage, wie sich eher unabhängige Teile einer AngularJS-App miteinander verdrahten lassen, wie sich also ein Autausch von Daten und Informationen herstellen lässt.

Der Artikel richtet sich an Leser die bereits Erfahrungen mit AngularJS gesammelt haben und ist darum keine generelle Einführung in die Arbeit mit diesem JavaScript-Application-Framework.

Weiterlesen

Temenos Workshop bei Mayflower

Nachdem nun nach fast einem Jahr Elternzeit mein beruflicher Wiedereinstieg unmittelbar bevorsteht, bekam ich vor einigen Wochen eine Einladung von meinem Chef, an einem Temenos Workshop teilzunehmen.
Allein die Tatsache, dass ich keinen blassen Schimmer hatte um was es sich bei Temenos überhaupt handelt, hat schon meine Neugierde geweckt. Ein kurzer Blick auf die Temenos Website und ich war zwar immer noch nicht wirklich schlauer was Temenos im Detail ist, aber ich sah in dem Workshop eine Chance zur Teamentwicklung und Stärkung und mein Interesse war da.

An dem Tag als der Workshop dann tatsächlich stattfand kam natürlich wieder alles anders als geplant: ich war total erkältet, mein Sohn hatte mich Nachts auf Trab gehalten und der Hund hat beim morgendlichen Spaziergang komplett vergessen was es heißt zu folgen. Dementsprechend war meine Motivation, als ich um 9 Uhr in der Früh, mit Augenringen und 3 Packungen Taschentücher ausgerüstet, im Mayflower Büro aufschlug, auf dem Tiefpunkt angekommen.
Ich malte mir einen sehr anstrengenden und fordernden Workshop aus, der meine volle Konzentration und Kraft kosten würde, die ich in diesem Moment einfach nicht hatte. Dass mich Temenos am Ende mit positiver Energie und Kraft füllen würde war zu diesem Zeitpunkt für mich nicht vorstellbar. Weiterlesen

MayDay, MayDay! Slacktime bei Mayflower

MayDay, MayDay!

Natürlich ist dies eine Wortspielerei, die bei Externen eine entweder irritierte oder schmunzelnde Reaktionen hervor ruft. Tatsächlich wollen wir keinen Notruf absenden, sondern deutlich machen, dass unsere Form der Slacktime ein Slackday in Mayflower ist. Dieser Slackday wurde Mayday getauft und findet nun schon seit über einen Jahr regelmäßig jeden zweiten Freitag statt.

Mit diesem, letzten Beitrag in der Adventsblog-Reihe beschreiben wir, welche Fragen uns rund um die Slacktime beschäftigt haben und wie der Mayday in der jetzigen Form entstand. Weiterlesen

Playing around with fragment shaders in WebGL

WebGL is a graphics library for web browsers, based on a version of OpenGL for embedded devices, OpenGL ES. The library allows for customized real-time 3d graphics rendering in modern browsers, including the use of shaders. There is a variety of scenarios in which you would want to make use of such a library. Consider, for example, browser games, 3D maps and product views. The simple WebGL interface is accessible via JavaScript and even whole frameworks are available, such as three.js (for an introduction, see Johannes Brosi’s great article from earlier this month).

As Christmas holidays are approaching, it is nice to have some toys to play around with. In this tutorial, I will provide a basis for fiddling around and experimenting with WebGL and fragment shaders, since it turned out to be a lot of fun to play around with them, and the basic concept is relatively easy to grasp. This article basically follows my own way of coming to play around with fragment shaders in WebGL. The idea was generated shortly before the Mayflower/Liip Barcamp, where David Sora Parra and I organized a collaborative session in which we wanted to generate some coding fun by discovering the unknown together. Weiterlesen

Fallstricke im Responsive Webdesign

Was Responsive Webdesign (RWD) meint, ist klar: Ein Layout, das sich flexibel an die Bildschirmgröße des Clients anpasst – für einen perfekten Auftritt auf dem Smartphone ebenso wie auf dem UltraHD-TV.

Doch was so schön klingt, birgt auch viele Fallstricke: “Welche Eigenschaften sind bei Responsive Newslettern zu beachten?”, “Wie gehe ich mit der Einbettung von iFrames um?”, “Gibt es unterschiedliche Bedienung von dynamischen Inhalten?”, etc. fragt sich der Entwickler.

In diesem Beitrag stelle ich einige Problemstellungen und deren Lösungsansätze vor. Weiterlesen

Warum wir lieber feiern als loben

Teams in der Challenge Zone sind motivierter, engagieren sich stärker für das Ziel und bringen eine deutlich höhere Performance. Doch welche Faktoren führen dazu, dass sich ein Team traut, in die Challenge Zone zu gehen? Es ist nicht das Lob des Chefs, sondern die Möglichkeit, eigene Erfolge zu erleben und zu feiern. Weiterlesen