Doch, das geht schon so. Eine Lanze für agile Job-Titel.

Im Laufe der Woche kam ein Artikel von Patrick Koglin in meinem Newsreader reingeflogen. Patrick beschreibt die Verwendung von Bezeichnungen wie Senior Scrum Master oder Junior Scrum Master als schlimm. Ich lese Patricks Artikel gern und teile seine Meinung häufig, aber in diesem Fall muss ich vehement mein Veto einlegen.

Zunächst der Aspekt, in dem ich dem Artikel zustimme: Nur, weil ein Board im Raum steht, bin ich nicht agil. Agil ist eben nicht Cargo Cult, sondern eine echte Kultur, ein Mindset. Ebenso denke ich, dass in einem agilen Team einem jungen Entwickler ebenso zugehört werden muss, wie der erfahrenen Kollegin und beide auf Augenhöhe zusammenarbeiten sollten. Gleiches gilt für Scrum Master, Product Owner und jeden Manager. Sowohl innerhalb eines Teams als auch in der Umwelt.

Dafür muss ich aber nicht agil sein, das ist schlicht und einfach der Respekt vor anderen Menschen, der diese Sichtweise gebietet.

Der Aspekt, bei dem ich grundlegend anderer Meinung bin, ist, dass es keine Senior oder Junior Scrum Master als Job-Bezeichnung geben darf. Ich bin der Meinung, dass so etwas völlig ok ist und viele Organisationen es sogar unbedingt benötigen. Ich zitiere gerne Tucholsky mit  “Erfahrung bedeutet nichts, man kann eine Sache auch dreißig Jahre lang schlecht machen.” Für mich bedeutet das, dass Bezeichnungen wie Senior nicht an das Dienstalter gekoppelt sein dürfen.

Menschen orientieren sich an solchen Bezeichnungen, sie sind Teil der Struktur einer Organisation. Wenn ich dieses Argument aus dem Hut ziehe, kommt meistens das Gegenargument, dass in solchen Organisationen die Kultur kaputt sei. Und das ist  in meinen Augen schlimm.

Ich finde es völlig ok, zwischen Junior und Senior Scrum Mastern zu unterscheiden. Der Junior Scrum Master ist einer, dem ich helfe, großartig zu werden. Der Mensch ist es schon, der Scrum Master muss einiges erleben. Und damit der Scrum Master das kann, bekommt er Unterstützung von einem Senior, der schon war, wo der Junior noch hin will. So einfach ist das.

Und ja, ich finde es absolut gerechtfertigt, wenn jemand stolz darauf ist, ein Senior Scrum Master zu sein und sich diese Bezeichnung verdient hat, indem er ganz viele Teams großartig gemacht hat und jede Menge unerfahrene Scrum Master an seinem Wissen und Können hat teilhaben lassen. Das ist Agilität.
Die Ablehnung von Job-Titeln aus Prinzip ist hingegen Cargo Cult.

User Experience – ein cooles Thema

Ein Geschichte, wie sie jeden Tag passieren kann, wenn man als Consultant unterwegs ist: Mitten in der Nacht kommt man von einer langen Zugfahrt müde in sein Hotel. Vorher noch zehn Minuten durch den Regen gelaufen, ist man pitschnass. Der Checkin verläuft zäh wie üblich und dann erreicht man schlussendlich doch sein Zimmer.

Nur, dass es da tierisch kalt ist. Zum Zähneklappern kalt. Aber es ist zu spät, um mit der Rezeption zu diskutieren, also ab ins Bett, die zweite Decke drüber gezogen und Augen zu.

Nächster Tag. Nachfragen an der Rezeption, es ist kalt im Zimmer. Die Antwort ist nicht sonderlich befriedigend. Das sei normal, sagt man dort, denn die Heizung heizt nicht mehr sondern kühlt. Da es um diese Jahreszeit eigentlich warm sei, wäre das auch in Ordnung so. Und es ist kompliziert die Heizung umzustellen.

Was hat das mit User Experience zu tun? Ganz einfach: diese Heizungsanlage ist ein Beispiel für eine miserable User Experience. Vermutlich, weil hier der zentrale User bei der Erstellung gar keine Rolle gespielt hat. Der wichtigste User einer Heizung in einem Hotel ist der Gast. Und als Gast wünscht man sich, dass die Heizung heizt, wenn es draußen kalt ist. Und dass sie kühlt, wenn es draußen warm ist. Warmes und kaltes Wetter richten sich aber nicht nach dem Kalender. Wetter passiert einfach.
Der Hausmeister ist, auch wenn das vielleicht naheliegend ist, nicht der zentrale User der Heizungsanlage. Er bedient sie, aber das macht nur einen geringen Teil der Nutzung aus. Für ihn ist es bequem, dass die Heizung sich nach dem Kalender richtet, da muss er sich nicht darum kümmern. Für die Gäste ist es unbequem.

Was kann man aus dieser Erfahrung lernen? Ganz einfach: Es ist wichtig, die zentralen User eines Systems zu erkennen, auch wenn sie auf den ersten Blick nur passive Rollen spielen. Wenn deren User Experience miserabel ist, führt das zu Ablehnung des gesamten Systems. So auch heute früh an der Rezeption. Es haben sich viele Gäste beschwert.Man hätte auch eine Heizung mit Temperatursensor einbauen können. Aber davon hätte der Hausmeister nix gehabt.

Artikel über Antifragilität in der Softwareentwicklung

Im Business Technology Magazin 1.15 ist ein Artikel von mir zum Thema Antifragilität und deren Bedeutung für die Softwareentwicklung erschienen. Der gleiche Artikel steht seit gestern auf jaxenter.de zur Verfügung.

Die wissenschaftlichere Version davon, die Prof. Wolfgang Golubski und ich auf der Multikonferenz Software Engineering & Management vorgestellt hatten, ist ebenfalls online in der Electronic Library of Mathematics verfügbar.

Ich freue mich natürlich über Feedback!

Bertrand Meyer: Agile! The Good, the Hype and the Ugly

Bertrand Meyer: Agile! The Good, the Hype and the Ugly

Bertrand Meyer: Agile! The Good, the Hype and the Ugly

Das erste Buch, dass sich objektiv und neutral mit Agilität auseinandersetzt, ist mir natürlich eine ebenso objektive und neutrale Rezension wert – und ich werde sie inkrementell verfassen.

Nachdem ich in einem Kommentar zu einem infoQ-Artikel geschrieben habe, dass ich eine Rezension verfassen würde, bin ich gerade dabei das Buch zu lesen.

Eigentlich habe ich Bertrand Meyer immer geschätzt, seine Bücher über Objektorientierte Softwareentwicklung haben mich im Studium begleitet. Er gehörte zu den Großen.

Jetzt habe ich das erste Kapitel gelesen und muss feststellen: Meyer demontiert sich in unerhörtem Ausmaß selbst. Nicht nur, dass schon in der Einleitung deutlich wird, dass er die Grundlagen agiler Methoden nicht verstanden hat, er definiert vielmehr in einer Auflistung diverser Praktiken aus dem agilen Umfeld alles als “gut”, das seiner Meinung nach nicht aus der agilen Community entstammt und alles als “schlecht”, das seiner Meinung eben aus dieser Community kommt.

Dabei interessiert ihn nicht, ob die betreffende Praktik sich irgendwo bewährt hat (User Story) oder tatsächlich von Agilisten zuerst beschrieben wurde (Continuous Integration). Ersteres ist schlecht, weil das eben so ist, letzteres ist nicht neu, weil es gut ist und es damit nicht agile sein kann.

Ich bin jetzt erst mit dem ersten Kapitel durch und über alle Maßen enttäuscht. Ich lese in diesem Buch vor allem Frust, aber wenig Sachlichkeit.

Continue reading

Ulf Brandes, Pascal Gemmer, Holger Koschek & Lydia Schültken: Management Y

Ulf Brandes, Pascal Gemmer, Holger Koschek & Lydia Schültken: Management Y

Ulf Brandes, Pascal Gemmer, Holger Koschek & Lydia Schültken: Management Y

Allen, die als Nicht-ITler ins Thema Agilität und vor allem Führung im agilen Kontext einsteigen wollen, sei dieses Buch wärmstens empfohlen. Wer – wie ich – schon länger mit diesen Themen unterwegs ist, wird allerdings wenig neues entdecken.

Der Aufbau des Buches erinnerte mich sehr stark an Fearless Change. Zunächst wird im Teil Mehr Menschlichkeit im Management! die grundlegende Motivation für das Buch erklärt. Die von den Autoren vertretenen Ansichten teile ich auch – bis auf die Tatsache, dass Taylor unverdient mal wieder viel zu schlecht wegkommt.

Im zweiten Teil des Buches wird Management Y aus vier Sichten beschrieben: Organisation gemeinsam erleben, Liefern, was gebraucht wird, Menschen ehrlich begeistern und Kunden wirklich verstehen.Der zweite Teil ist eine Runde Sache und für Einsteiger super. Alle vier Blickwinkel werden kompakt beschrieben und moderne Wege gezeigt, sich ihnen zu stellen. Einziges Manko ist, dass bestimmte Modelle sehr stark im Fokus stehen – vielleicht weil sie den Vorlieben der Autoren entsprechen.

Mit insgesamt 24 Pattern ist der dritte Teil sehr hilfreich, wenn man sich in der Welt agiler Praktiken orientieren will. Wer regelmäßig in der Community unterwegs ist, Blogs liest oder schon andere Bücher zum Thema kennt, wird aber nur schwerlich etwas Neues finden.

Der Ausblick am Schluss ist für mich persönlich etwas zu esoterisch. Ich mache zwar regelmäßig Yoga und meditiere auch sehr gerne – aber das passt nicht zu einem Buch, dass das Wort Management im Titel trägt.

Der Titel ist auch das, was ich an dem Buch im Wesentlichen kritisieren muss. Ich bin ein großer Verfechter des Management 3.0 und empfand das Buch von Jurgen Appelo als einen Meilenstein der Management-Literatur. Management Y hat mit Management …wenig zu tun. Es ist eher eine Ideensammlung und ein Startpunkt für Menschen, die sich mit dem Thema Agilität auseinandersetzen wollen. Wer sich mit Führung – oder Management – in agilen Organisationen auseinandersetzen will, kommt nach wie vor an Appelo nicht vorbei.

Mein Fazit: Das Buch ist super. Für mich persönlich war es viel zu flach. Aber ich bin auch nicht die Zielgruppe. Es gibt dennoch vier Sterne bei Goodreads, weil die Zusammenstellung im Buch für Einsteiger richtig Klasse ist – und die sind mit Sicherheit auch die Zielgruppe :-)

Apple SuperDrive am USB-Hub

Apple empfiehlt das SuperDrive nur an USB-Ports direkt am Mac zu betreiben.
Nun stellt selbst das MacBook Pro leider nur zwei USB-Ports zur Verfügung, was das Ganze ziemlich lästig macht.

Hängt man das Laufwerk an einen USB-Hub, erhält man die lapidare Meldung, dass dieses Gerät mehr Strom benötigt. Dabei gibt es durchaus USB-Hubs, die genügend Strom für das SuperDrive bereitstellen.

Damit OS X das SuperDrive an so einem USB-Hub akzeptiert, muss man den Kernel wie folgt motivieren.

Als root muss man die Boot-Parameter editieren:

vi /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

In der Datei ergänz man dann mbasd=1, so dass sie folgendermaßen ausschaut:

<?xml version="1.0" encoding="UTF-8"?
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"
<plist version="1.0"
<dict
        <keyKernel Flags</key
        <stringmbasd=1</string
</dict
</plist

Jetzt noch ein Neustart, und das SuperDrive läuft am USB-Hub.

Achtung: Wenn der USB-Hub tatsächlich zu wenig Strom zur Verfügung stellt, kann es zu Datenfehlern kommen. Ein USB-Hub, der auf zwei Power-Ports ausreichend Strom liefert, ist der DUB-H7 von D-Link.

Referenz: How to Run a SuperDrive on a Targus Hub

Vertraue der Macht – Schätzen ohne Bezugssystem

Ein große Herausforderung für Teams in neuen Projekten ist die initiale Schätzung der anstehenden Aufgaben. Selbst wenn man eine abstrakte Einheit wie Story Points zur Bewertung der Größe von Aufgaben heranzieht, ist die erste Schätzung alles andere als trivial. Ich habe festgestellt, dass gerade Planning Poker für die erste Schätzung nur sehr eingeschränkt geeignet ist.

Planning Poker ist eine gute Methode, um Schätzungen für Aufgaben zu ermitteln, wenn in den Domänen und Technologien bereits Wissen vorhanden ist. Gerade am Anfang eines Projektes gibt es aber genau dieses Wissen oft nicht und Teams tun sich schwer, diese Schätzungen für einzelne Items abzugeben. In solchen Situationen hat es sich bewährt, Aufgaben nur relativ zueinander zu schätzen und das Bezugssystem erst im Nachhinein festzulegen. Da Story Points eine abstrakte Einheit sind, die nicht mit einem festen Faktor in andere Einheiten umgerechnet werden kann, ist das problemlos möglich.
Continue reading

Mein privates Git Cheat Sheet

Da ich in verschiedensten Projekten regelmäßig mit Git arbeite, habe ich mir überlegt, die wichtigsten Szenarien, denen ich begegne, in einem privaten Cheat Sheet zusammenzufassen.

Ich weiß, dass ich der Welt damit nichts Neues offenbare, aber es ist praktisch, das alles mal an einem Ort versammelt zu haben.
Continue reading

Back to COBOL – natürlich mit Unit Tests

Ich hätte nie gedacht, dass ich mich nach über 10 Jahren noch einmal mit COBOL beschäftigen würde. Aber nun habe ich ein Team, das mit COBOL arbeitet und Scrum machen soll.

Nun sind COBOL und Scrum zwei Dinge, die die meisten Menschen, die ich so kenne, nicht oft in einem Satz verwenden. Das soll aber kein Grund sein, sich nicht mit der Materie zu beschäftigen. Letztes Wochenende habe ich OpenCOBOL – neuerdings GNU-Cobol – via homebrew auf dem Mac verfügbar gemacht.

Das war aber nur der erste Schritt, denn mein eigentliches Ziel war die Grundvoraussetzung für agile Software-Entwicklung mit COBOL zu nutzen. Na? Genau: Unit Tests! Mit CobolUnit gibt es dafür auch ein Framework, das aber schon seit einer Weile nicht maintained wird. Die letzten Commits sind von 2009, das versprach ein Abenteuer.
Und das wurde es dann auch. Ich habe mich von Fehlermeldungen wie
error: indirect goto in function with no address-of-label expressions
zu
ld: can't link with bundle (MH_BUNDLE) only dylibs (MH_DYLIB) file '/Users/gbeine/GitHub/gbeine/COBOLUnit/COBOLUnitLib/lib/libCobolUnit.dylib' for architecture x86_64
durchgearbeitet.

Am Ende ist es mir gelungen, CobolUnit mit GNU-Cobol in der Version 1.1 und dem GCC 4.9.1 zum Laufen zu bringen. Das Resultat schaut recht erfreulich aus:

|--- Suite1
| Test 'CTU0S1T1 * SUCCESS * (006 Assertions, 000 Failures. 000 errors)
| Test 'CTU0S1T2 * SUCCESS * (006 Assertions, 000 Failures. 000 errors)
|--- SUCCESS

|--- Suite2
| Test 'CTU0S2T1 * SUCCESS * (008 Assertions, 000 Failures. 000 errors)
|--- SUCCESS

********************************************************************
* SUCCESS *
* (003 test cases, 003 success, 000 failures, 000 errors) *
********************************************************************
(00 min:00 sec:01 ms)

Meine Änderungen dazu habe ich – natürlich – auf GitHub zur Verfügung gestellt. Nur für den Fall, dass das außer mir noch irgendwo auf der Welt irgendjemand nutzen möchte…

Einheit Story Points?

Nach der Frage um den Sinn des Schätzens und den Storys der Größe 1 drehte sich die dritte Frage, die ich auf der Agile World diskutieren durfte, war ob Schätzgrößen Einheiten haben oder nicht.

Mike Cohn schreibt in seinem Blog, dass die Größe von Backlog Items eine nicht spezifizierte Funktion aus Risiko, Aufwand und Unsicherheit ist. In einem anderen Artikel schreibt er, dass es einen Zusammenhang zwischen Aufwand und Größe einer User Story gibt.
Continue reading