Buch: x-teams

Ich habe gerade das Buch “x-teams” von Deborah Ancona und Henrik Bresman gelesen.

Es geht im Buch um eine besondere Art von Teams, die sogenannten x-teams, die besonders gut in hochkomplexen Umgebungen funktionieren:

  1. x-teams sind innovativ.
  2. x-teams haben in ihrem Lebenszyklus unterschiedliche Schwerpunktsetzungen: Explore, Exploit, Export. Zunächst wird das Umfeld exploriert, um die Situation zu verstehen. Anschließend wird eine Idee oder ein Produkt ausgearbeitet und umgesetzt. Und zuletzt werden die Ergebnisse in den Markt und das eigene Unternehmen exportiert.
  3. x-teams beschäftigen sich nicht primär mit sich selbst, sondern managen stets auch die Beziehungen zu ihrem Umfeld, den Stakeholdern etc.
  4. x-teams haben wechselnde Mitglieder, abhängig von den Lebenszyklus-Phasen.

Diese Eigenschaften basieren auf Untersuchungen erfolgreicher Teams bei Microsoft, BP, P&G, etc. Bei diesen Teams handelte es sich nicht nur um IT-Teams.

Es gibt hier offensichtliche Parallelen zu Scrum oder anderen agilen Ansätzen:

  1. Scrum dient der Entwicklung innovativer Produkte.
  2. Meistens werden bei agilen Ansätzen zwei “Phasen” unterschieden: Envisioning (=Explore) und Entwicklung (=Exploit). Der Export-Teil fehlt hingegen als explizites Element. Ich habe nur sehr fragmentarisches Wissen über die Ursachen, warum eXtreme Programming bei Crysler letztlich beendet wurde. Möglicherweise hat der Export gefehlt?
  3. Scrum sieht den Product Owner als primäre Schnittstelle zur Außenwelt vor, in XP war es der On-Site-Customer. x-teams deuten darauf hin, dass wir diese Schnittstelle nicht zu strikt begreifen sollten. Alle Teammitglieder sollen und dürfen Kontakt zu Anwendern und anderen Stakeholdern haben. Es muss halt nur klar sein, wer letztlich den Geschäftswert einschätzt und die Priorisierung vornimmt.
  4. Wir weisen immer gerne darauf hin, dass Teambildung erhebliche Kosten verursachen kann und man daher nicht jeden Sprint das halbe Team austauschen sollte. Wir sollten es damit aber auch nicht übertreiben und gar keinen personellen Wechsel mehr erlauben.

Aus meiner Sicht liefert das Buch ein paar neue Erkenntnisse und Denkmodelle, aber nichts gravierend Neues. Dadurch hat es sich für mich dann auch nicht so interessant gelesen.

Vortrag zum inkrementellen Entwurf auf XP-Days und Scrum-Gathering

Die Präsentation zum inkrementellen Entwurf, die ich auf den XP-Days Germany in Karlsruhe gehalte habe, findet sich hier als Prezi-Flash-Präsentation.

Einen fast identischen Vortrag habe ich auch auf dem Scrum-Gathering in München gehalten. Hier ist die Prezi-Präsentation dazu.

Die Präsentationen habe ich mit Prezi erstellt. Die Vorteile von Prezi aus meiner Sicht, habe ich bereits in einem anderen Blogeintrag beschrieben.

Programmierkatas

Auf den XP-Days Germany 2009 fand ein Format namens “TDD mit den Profis” statt. Die Idee ist, dass Paare bestehend aus einem TDD-Profi und einem nicht so erfahrenen TDDler gegeneinander antreten. Die Paare führen in kurzer Zeit TDD und Pair-Programming vor. Bei den XP-Days hatten die Paare in der Vorrunde 5 Minuten Zeit und im Finale 8 Minuten.
Ich bin mit meiner Pair-Partnerin ins Finale gekommen, musste mich dort aber mit dem zweiten Platz zufrieden geben.

In der Vorrunde konnten sich die Paare sehr frei aussuchen, was sie vorführen. Im Finale gab es vorgegebene Code-Katas (siehe Konzept der Code-Katas siehe Wikipedia). Für die Vorrunde hatten wir mehrere Tage für die Vorbereitung Zeit, für das Finale 2 Stunden.

Code-Katas hatte ich vorher bereits programmiert. Allerdings nicht so, wie es für die XP-Days-Sessions notwendig war. In der Kürze der Zeit lässt sich nur dann sinnvoll etwas zeigen, wenn man die Übung auswendig und flüssig vorführen kann. Und dafür muss man sie einüben. Und das bedeutet, die Kata in der Vorbereitung mehrfach zu programmieren und immer wieder zu variieren, um den besten Ablauf zu finden.

Und dieses mehrfache Programmieren derselben Aufgabe war entgegen meinen Erwartungen nicht langweilig, sondern sehr interessant und lehrreich. So haben wir auf der Konferenz meine Finalaufgabe (Primfaktorzerlegung) nochmal während des Community-Day programmiert (im Rahmen eines Coding Dojos) und auf der Rückfahrt von Karlsruhe mit der Bahn nach Hamburg haben Bernd Schiffer und ich die Code-Kata nochmal programmiert.

Robert Martin hat die Code-Kata sogar zu Musik vorgeführt und damit Programmierung in die Nähe einer Kunstform gebracht.

Überstunden: Go oder No-Go?

Insbesondere mit dem Scrum-Commitment gibt es immer wieder Diskussionen über die ungeliebten Überstunden. Muss das Team Überstunden schieben, um sein Commitment zu halten? Diese Diskussion will ich hier aber gar nicht führen – vielleicht später. Bei der Diskussion um Überstunden habe ich häufig das Gefühl, dass es sich in der agilen Welt um eine heilige Kuh handelt. Überstunden sind ein No-Go und fertig. Tatsächlich glaube ich, dass wir uns mit dieser Haltung einer Option berauben, die man in der passenden Situation durchaus in Betracht ziehen sollte.

Und genau zu so einer Situation habe ich ein Praxisbeispiel. Wir haben vor einiger Zeit ein Projekt angenommen, in dem wir eine Webanwendung für eine Versicherung entwickeln sollten. Für das Projekt hatten wir 2,5 Monate Zeit und die Deadline war ebenso hart wie sportlich. Und da der Termin so eng war, haben wir gemeinsam im Team beschlossen, dass jeder von Beginn an soviele Überstunden macht, wie er selbst verantworten kann. Wir haben alle eine ganze Weile Überstunden geschoben. Die Menge hat aber über die Zeit abgenommen, weil wir immer sicherer wurden, dass wir den Termin halten können. Letztlich haben wir den Termin auch gehalten und es wurde eines der produktivsten und befriedigsten Projekte, an dem ich bisher beteiligt war – und das bei wirklich konsequentem TDD, sehr hoher Testabdeckung und sehr gut strukturiertem Code.
Bei der Retrospektive haben alle Teammitglieder die Überstunden-Maßnahme begrüßt. Sie wurde in einer “Jo, wir schaffen das”-Atmosphäre geboren (im Gegensatz zur sonst üblichen “Wir arbeiten soviel wir können, damit wir hinterher keinen Anschiss kriegen”-Atmosphäre). Es war also “Play to win”.

Zur Klarstellung: Ich rede hier nicht von Überstunden, die irgend jemand anordnet. Ich rede davon, dass das Team Überstunden bewusst und gewollt über einen kurzen und verantwortbaren Zeitraum einsetzt.

XP-Days Germany am 26-28.11.09 in Karlsruhe

XP Days Germany ist die größte deutschsprachige Konferenz zur agilen Softwareentwicklung. Sie findet dieses Jahr vom 26. bis 28. November in Karlsruhe statt.

Einige Highlights:

  • Keynote von Alistair Cockburn
  • Zwei Halbtagestutorials mit begrenzter Teilnehmerzahl
  • Vier parallele Tracks am Hauptkonferenztag
  • Mehrere Pecha-Kucha-Blöcke
  • Community Day mit Open Space und World Cafe

Das detaillierte Programm,den Link zur Anmeldung und zahlreiche weitere Informationen gibt es auf http://www.xpdays.de

Laufende Neuigkeiten über Teilnehmerzahlen, freie Plätze, Programmänderungen etc. werden über Twitter verbreitet. Informationen dazu gibt es hier: http://xpdays.de/2009/twitter.html

Ich selbst werde mit einem Vortrag zum inkrementellen Entwurf und einem Pecha-Kucha-Vortrag zu Stop-the-Line vertreten sein.

Ich hoffe, wir sehen uns auf den XP-Days.

XP-Days Germany 2009

Das Programm der XP-Days Germany 2009 ist jetzt online: http://xpdays.de/2009/programm.html

Ich selbst bin am Freitag mit einem Vortrag über “Inkrementelles Design” vertreten. Da ich ein Verfechter kurzer Vorträge bin, habe ich das Thema als 30-Minuten-Vortrag eingereicht. Einige der Reviewer hatten Zweifel, ob das Thema in 30 Minuten untergebracht werden kann. Das ist gut. Ich mag Herausforderungen.

Am Donnerstag halte ich eine Pecha-Kucha-Session zum Thema “Stop the Line in der Softwareentwicklung”. Pecha-Kucha ist ein modernes Vortragsformat, in dem genau 20 Folien für jeweils genau 20 Sekunden gezeigt werden. Der ganze Vortrag dauert dann exakt 6:40 Minuten. Bei der JAX 2009 haben wir das bereits einmal ausprobiert. Naja, ok: Ich habe ausprobieren lassen und mich auf die Organisation beschränkt. Auf den XP-Days muss ich jetzt selbst zeigen, ob ich das Format gut ausgefüllt bekomme.

Auf der JAX 2009 hatte mein Kollege Bernd Schiffer einen Pecha-Kucha-Vortrag über “Inkrementelles Design” gehalten, der jetzt auch als Video verfügbar ist. Für alle, die bei den XP-Days (oder der W-JAX oder sonstwo) einen Pecha-Kucha-Vortrag halten, ist das Video sicher eine ganz gute Inspiration und es zeigt auch, dass 20 Sekunden je Folie manchmal ziemlich lang sein kann 🙂

Call for Sessions für die XP-Days Germany online

Der Call-For-Sessions für die XP-Days Germany im November 2009 ist jetzt Online: http://xpdays.de/2009/callforsessions.html

Wie letztes Jahr wird es auch dieses Jahr wieder einen offenen Review-Prozess geben. Das bedeutet, dass alle Interessierten die eingereichten Beiträge bewerten können. Die Einreicher haben die Möglichkeit, auf Basis des Feedbacks ihre Beiträge zu verbessern. So können die Vortragsvorschläge schrittweise immer weiter verbessert werden.

Als Conference Chair 2008 kann ich sagen, dass dieser Review-Prozess sehr viel gebracht hat. Vortragsvorschläge, die man in der ersten Version nicht akzeptiert hätte, wurden schrittweise so verbessert, dass sie es dann doch ins Programm geschafft haben.

Also: Alle bitte mitmachen beim Einreichen aber auch beim Reviewen!

One Piece Flow

Wir wünschen für die agile Softwareentwicklung One-Piece-Flow. Idealerweise soll immer nur eine Story oder ein MMF in Arbeit sein. Dass One-Piece-Flow dem klassischen Modell (Batchen von Aktivitäten) überlegen ist, zeigt dieses Video sehr schön.