Aufspalten einer User Story

Agile Entwicklung funktioniert umso besser, je kleiner die fachlichen Schritte sind, die man nehmen muss. Um Anforderungen klein zu hacken, verwendet man üblicherweise sogenannte „User Stories“, also einen Ablauf aus Anwendersicht, der unterstützt werden soll. Schwierig wird es vor allem für Neu-Agilisten allerdings, wenn es darum geht, diese Stories klein genug zu bekommen. Oft genug stehen am Anfang Stories, die mehrere Wochen brauchen, um fertig umgesetzt zu werden, also inklusive Integration und Test. Ziel ist aber, eine Story innerhalb weniger Tage produktionsreif zu bekommen.

Nachdem es um funktionsfähige Häppchen geht, verbietet sich eine Aufteilung „Mach die Oberfläche für XY“, „Mach die Logik für XY“ von selbst: Diese haben keinen eigenen Geschäftswert und taugen bestenfalls (bzw. schlimmstenfalls) als technische Aufgaben. User Stories sollten aber so gestrickt sein, dass sie unabhängig sind, wertschöpfend, verhandelbar, schätzbar, klein und für sich testbar („INVEST“: Independent, Negotiable, Valuable, Estimable, Small, Testable).

Richard Lawrence fasst nun in seinem Blog-Eintrag „Patterns for Splitting User Stories“ neun Strategien zusammen, die sich für die Aufspaltung von User Stories eignen. Ob es wirklich Patterns sind, darüber lässt sich sicherlich streiten. Dennoch ist der Beitrag auf jeden Fall lesenswert und sein „Crib-Sheet“ am Ende könnte auch für dogmatische Nicht-Internet-Ausdrucker ein Grund sein, mal wieder nach einem Druckertreiber zu suchen.

(Siehe auch mein Eintrag „Schneiden von Stories“ vom 2.12.2008)

Alistair Cockburns Keynote „I come to bury Agile, not to praise it“ als Video

Alistair Cockburns keynote auf der Agile 2009 in Chciago steht als Video kostenlos zur Verfügung: http://www.infoq.com/presentations/cockburn-bury-not-praise-agile. Wer Cockburn noch nicht kennt, kann seinen kritischen und fundamentalen Blick auf Agilität kennenlernen, ebenso wie auch seinen Vortragsstil. Wer ihn kennt, kann sich über seine leicht adaptierte Rede des Marc Antonius aus der Beerdigungsszene von Shakespears „Julius Cäsar“ freuen, aus der er auch den Titel des Vortrags entnommen hat. Diese Rede hält Marc Antonius in dem Schauspiel als Antwort auf Brutus‘ Nachruf am Grabe Cäsars. Für alle, die sich näher dafür interessieren, habe ich unten das Original von Shakespear angehängt, das einiges zum Verständnis von Alistairs Text beiträgt.

Wer Cockburn selbst in relativ kleiner Runde erleben will, hat Ende November dazu in Deutschland Gelegenheit im Rahmen zweier dreitägiger CSM-Kurse. Noch sind Plätze frei.

I come to bury Caesar, not to praise him;
The evil that men do lives after them,
The good is oft interred with their bones,
So let it be with Caesar … The noble Brutus
Hath told you Caesar was ambitious:
If it were so, it was a grievous fault,
And grievously hath Caesar answered it …
Here, under leave of Brutus and the rest,
(For Brutus is an honourable man;
So are they all; all honourable men)
Come I to speak in Caesar’s funeral …
He was my friend, faithful and just to me:
But Brutus says he was ambitious;
And Brutus is an honourable man….
He hath brought many captives home to Rome,
Whose ransoms did the general coffers fill:
Did this in Caesar seem ambitious?
When that the poor have cried, Caesar hath wept:
Ambition should be made of sterner stuff:
Yet Brutus says he was ambitious;
And Brutus is an honourable man.
You all did see that on the Lupercal
I thrice presented him a kingly crown,
Which he did thrice refuse: was this ambition?
Yet Brutus says he was ambitious;
And, sure, he is an honourable man.
I speak not to disprove what Brutus spoke,
But here I am to speak what I do know.
You all did love him once, not without cause:
What cause withholds you then to mourn for him?
O judgement! thou art fled to brutish beasts,
And men have lost their reason…. Bear with me;
My heart is in the coffin there with Caesar,
And I must pause till it come back to me.
William Shakespear

Neue XING-Gruppe zu Lean Software Development

Gemeinsam mit Traian Kaiser, Ralf Wirdemann und Stefan Roock habe wir auf XING ein neues Forum zum Thema „Lean Software Management“ gestartet. Lesen ist frei, wer mitdiskutieren möchte, muss sich bei XING und in der Gruppe anmelden.

Zur Erinngerung: Lean Software Development ist eine „Unterdisziplin“ der agilen Verfahren, die versucht, die Lehren und Erkenntnisse aus Lean Management und Lean Development von der Autoindustrie – und da vor allem von Toyota – auf die Entwicklung von Software zu übertragen. Basis sind vor allem die Arbeiten von Mary und Tom Poppendieck und ihre Bücher Lean Development Software: An Agile Toolkit for Software Development Managers und Implementing Lean Software Development: From Concept to Cash. Das Ergebnis ist erstaunlich ähnlich zu anderen agilen Verfahren wie Scrum etc., konzentriert sich aber deutlich mehr auf Zusammenhänge und weniger auf die genaue Einhaltung von Praktiken.

Eine Kurzfassung findet man in einem zweiteiligen Artikel von Mary Poppendieck und mir:

Der SPIEGEL zum Erfolg von Extreme Programming bei Microsoft

Allen, die agile Entwicklung noch immer für eine Absurdität unprofessioneller Hobbyentwickler und Hippies halten, sei der Artikel „Windows aus der Asche“ aus dem aktuellen SPIEGEL empfohlen, der auch auf SPIEGEL-Online verfügbar ist. Der Beitrag berichtet, wie Microsoft für die Entwicklung von Windows 7 konsequent auf Extreme Programming gesetzt hat („Von nun an, so viel stand fest, sollte der Kunde treiben“ und „in ganzen Abteilungen sitzen die teuren Programmierer nicht mehr allein, sondern paarweise vor den Monitoren“; „Beginne mit dem Machbaren, dann füge Stück für Stück hinzu. Und immer gleich gründlich testen!“) und welche Auswirkungen das hatte: „Plötzlich kommen der Reihe nach Produkte heraus, die den fast ungeteilten Beifall der Fachwelt finden“, und Brad Silverberg, Entwicklungsleiter von Windows 95, stellt fest: „Zum ersten Mal seit langer Zeit sind die Leute wirklich entzückt von neuen Microsoft-Produkten.“ Auch Qualität und Terminplanung wurden beeinflusst: „Windows 7 […] ist nun nach kaum zwei Jahren fast fertig. Und der Start wurde schon zweimal vorverlegt, zuletzt auf den 22. Oktober.“

Ich denke, damit dürfte die Brauchbarkeit agiler Verfahren auch für große und schwierige Projekte endgültig empirisch gezeigt sein. Anders formuliert, agile Entwicklung ist jetzt nicht mehr nur Sache der Pioniere, sondern wird nach und nach zum entscheidenden Wettbewerbsvorteil — ein Vorteil, den vor Microsoft auch schon Google, Amazon und ebay genutzt haben.

Ich hoffe nur, dass die deutsche IT-Industrie hier nicht wieder durch „aktives Zuwarten“ den Zug verpasst und weitere Arbeitsplätze gefährdet, sondern erkennt, dass es höchste Zeit wird, sich umfangreiches Know-How und Praxis angzueignen. Es ist schließlich wesentlich einfacher, die Organisation noch umzustellen, solange man das nach eigenem Zeitplan machen kann, als wenn man von der Konkurrenz vor sich her getrieben wird.

Die Ent-Zertifizierung des Fortschritts…

Die Entzertifizierung des Fortschritts…unter diesem Titel haben Johannes Link und ich uns in der aktuellen Ausgabe 03/09 des OBJEKTspektrum ein paar Gedanken über die Schattenseiten des derzeitigen Zertifizierungshypes gemacht. Wem nützen Zertifizierungen eigentlich und welche Risiken und Nebenwirkungen haben sie? Eine kleine Erinnerung, dass nicht alles Gold ist, was glänzt.

Den Beitrag gibt es zum kostenlosen Download.

Agile Verträge und Weihnachtszettel

Es ist zwar noch ein wenig hin bis Weihnachten, aber trotzdem lohnt es sich, auf Obie Fernandez‘ Blog „Explain Variable Scope with Ponies“ zu schauen: Er vergleicht in einer netten Analogie die Preisfindung in einem agilen Projekt mit den Weihnachtseinkäufen von Eltern. Einziger Haken an der Analogie: In agilen Projekten stellt der Kunde die Wunschliste auf und ist an der Auswahl der konkreten „Geschenke“ (=Features) beteiligt, was Kindern sicherlich einen erheblichen Teil des Spaßes an Weihnachten rauben würde.

Manifest des Software-Handwerks

Das Agile Manifest war der Startschuss, Agilität als Konzept auszurollen und es hat noch immer Gültigkeit. Ein paar Leute um das Unternehmen 8th Light haben sich die Mühe gemacht, etwas weiter zu gehen und das „Manifesto for Software-Craftsmenship“ verfasst, das aber mittlerweile so viele Unterzeichner hat, dass es getrost als „werbefrei“ gelten kann:

As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value:

Not only working software,
but also well-crafted software

Not only responding to change,
but also steadily adding value

Not only individuals and interactions,
but also a community of professionals

Not only customer collaboration,
but also productive partnerships

That is, in pursuit of the items on the left we have found the items on the right to be indispensable.

© 2009, the undersigned. this statement may be freely copied in any form, but only in its entirety through this notice.

Wer es selbst unterschreiben möchte, kann das auf dem Originallink tun: http://http://manifesto.softwarecraftsmanship.org/

Schulungsangebot überarbeitet

Ich habe es geschafft und mein Schulungsangebot auf der Homepage komplett überarbeitet. Man findet nun ausführliche Beschreibungen zu allen „Standardkursen“, die man bei mir buchen kann:

Zusätzlich biete ich noch zwei Kombiseminare an:

  • Bootcamp Agile Softwareentwicklung: Die Grundausbildung, eine Kombination aus allen drei Seminaren (5 Tage, 7-20 Teilnehmer)
  • Agilität für Entwickler: Die Basis für schnelle Iterationen bei hoher Designqualität, Kobination aus „Testgetriebenes Design“ und „Refaktorisieren“ (4 Tage, 4-20 Entwickler)

Näheres auf meiner Homepage oder direkt unter Schulungsangebot.