Bärbel de Bouvier am 25. Mai 2009
Update: Wer sagt denn, dass man im Internet nichts lernen würde? Kommentator Markus Hippeli macht darauf aufmerksam, dass ich bei der Aufwandsschätzung einem Mißverständnis aufgesessen bin. Mehr dazu in seinem Kommentar unter diesem Beitrag. Danke für diesen Hinweis (und sorry Chef!). Ich habe die entsprechenden Passagen nun geändert.
Im letzten Beitrag habe ich kurz das Thema Zeitplanung in Scrum-Projekten mittels eines Kartenspiels angesprochen. Die Frage ist natürlich, warum die Zeitplanung per Kartenspiel besser funktionieren sollte, als ohne. Die Antwort ist ganz einfach: Die Schätzungen werden genauer!
In einer perfekten Welt mit perfekten Menschen wären solche Karten natürlich nicht notwendig. Aber Menschen sind halt Menschen und deshalb brauchen sie Hilfsmittel, die eine Diskussion zum einen schnell auf den Punkt bringen, zum anderen jeden dazu zwingen mitzumachen und über ein gegebenes Thema mit gegebener Ernsthaftigkeit nachzudenken. Für die Aufwandsschätzung in agilen Projekten helfen eben die Planning-Poker-Karten. Und so funktioniert es:
Im Sprint-Planning-Meeting stellt der Product-Owner die einzuschätzende User-Story vor. Danach zückt jedes Team-Mitglied die Karte, deren Wert seiner Meinung nach dem entsprechenden Aufwand entspricht. Ist also ein Team-Mitglied der Meinung, die Userstory erfordert einen Aufwand von “5″, zückt er die entsprechende Karte.
Tags: Agiles Projektmanagement, Praktikum, Scrum
Bärbel de Bouvier am 19. Mai 2009
Heute habe ich das folgende, sehr stimmungsvolle Video über den Einsatz von Scrum in der Praxis gefunden. Man sieht darin vor allem drei Dinge:
Letzter Punkt ist besonders interessant, denn es geht hier um das so genannte Scrum Planning-Poker. Hierbei benutzt man ein Kartenspiel als Diskussionshilfe bei der Schätzung des Aufwands einzelner User-Stories. Anstatt dass die Team-Mitglieder wild spekulierend ihre Aufwandsschätzungen in den Raum schreien, zeigen sie statt dessen Spielkarten, die je nach ihrem Wert, einer bestimmten Zeitspanne entsprechen.
Tags: Agiles Projektmanagement, Methoden, Praktikum, Scrum
Bärbel de Bouvier am 28. April 2009
Wir hatten auf diesem Blog schon einmal eine schöne Präsentation von Jurgen Appelo vorgestellt. Jetzt ist mir beim Stöbern auf Slideshare eine weitere über den Weg gelaufen. Wer wissen will, was Scrum ist und wie es funktioniert, findet in der kurzweiligen Slidehow mit dem schönen Titel “The Zen of Scrum” alles, was er wissen muss. Wer tiefer einsteigen will, findet hingegen bei uns jede Menge wissenswertes zu Scrum.
Übrigens: Zen steht für einen “Zustand meditativer Versenkung”. Wenn’s hilft, dann bitte sehr…
Tags: Agiles Projektmanagement, Praktikum, Scrum
Bärbel de Bouvier am 6. April 2009
Nach dem Product-Backlog-Meeting steht das erste Sprint-Planning-Meeting auf der Agenda. Erster Punkt dort ist die Definition der Dauer eines Sprints. Auf den ersten Blick scheint die Sache ganz klar zu sein: Ein Sprint in Scrum dauert in der Regel 30 Tage. Doch das ist logischerweise nur eine Empfehlung. Abhängig vom Projekt und vom Team kann die Sprintlänge variieren. Es gibt Teams, die mit Sprints von ein oder zwei Wochen Länge arbeiten, andere wiederum bevorzugen bis zu sechs Wochen.
Wonach richtet sich also die Sprintlänge? Ganz einfach: Am Ende jedes Sprints muss ein „shipable Product“, also ein auslieferungsfähiges Produkt stehen. Das wiederum ist aber nicht zu verwechseln mit dem „fertigen“ Produkt. Es geht nur darum, dass ein bestimmtes, funktionierendes Featureset einsatzbereit ist. Egal, wie grundlegend seine Funktionalität ist.
Dementsprechend hängt die Sprintlänge also von der Größe und den Fähigkeiten des Teams ab, sowie von den User-Stories, sprich den zu verwirklichenden Features. Eine Website wird beispielsweise eher in kürzeren Sprints zu bewerkstelligen sein. Ein komplexes Produkt, bei dem komplizierte Entwicklungsprozesse und umfangreiche Vorarbeiten und Learnings nötig sind, wird eher in längeren Sprints angegangen werden.
Ein weiterer, nicht zu vernachlässigender Aspekt der Sprintlänge ist der damit verbundene Overhead. Je kürzer der Sprint, desto häufiger fallen beispielsweise die obligatorischen Sprint-Planning- und Sprint-Review-Meetings an. Gerade bei größeren Teams ist der damit zusätzlich verbundene Aufwand nicht zu unterschätzen.
Grundsätzlich aber gilt: Die Länge des Sprints wird weder vom Management, noch vom Product-Owner vorgegeben. Vielmehr bestimmt sie das Team selbst. Schließlich ist das ja einer der Scrum-Grundgedanken: Das Team weiß am besten, wie es die gestellten Aufgaben bewerkstelligen kann. Bei meinem kleinen und übersichtlichen Projekt hat sich das Team für einwöchige Sprints entschieden.
Tags: Agiles Projektmanagement, Methoden, Praktikum, Scrum
Bärbel de Bouvier am 11. März 2009
Nach dem die CeBIT-Woche endlich rum ist und alle an meinem Projekt beteiligten Mitarbeiter wieder verfügbar sind, konnte ich letztens mein erstes Product Backlog Meeting abhalten. Zuvor hatte ich einen initialen Backlog mit den Anforderungen des Kunden zusammengestellt, der als Arbeitsgrundlage gedient hat. Die Aufgabe in diesem Meeting: Zusammen mit den Entwicklern eine erste Zeiteinschätzung, sowie generell eine Präzisierung der notwendigen Arbeitsschritte auszuarbeiten.
Da mein Projekt relativ überschaubar und das Team recht klein ist, haben wir das Meeting an meinem Schreibtisch abgehalten. Den Input des Teams habe ich gleich in ein Merlin-Dokument eingetragen (siehe Bild). Bei größeren Projekten und Teams sind unter Umständen ausgefeiltere Techniken ratsam, etwas das Brainstorming mit Ideenkarten und einem Whiteboard. Doch dazu werde ich später ein eigenes Posting machen.
Wichtig ist, dass ich jetzt eine Grundlage für meine Arbeit habe. Ich habe schon während des Meetings eine Priorisierung durchgeführt und die Aufgaben entsprechend geordnet. Damit ist die Grundlage für das erste Sprint-Planning-Meeting schon mal geschafft.
Tags: Agiles Projektmanagement, Brainstorming, Methoden, Praktikum, Programmierung
Bärbel de Bouvier am 20. Februar 2009
In der Theorie schaut ja alles ganz einfach aus: Der Product Owner bastelt den ersten Product Backlog, lässt sich vom Team eine Einschätzung des Aufwands geben, priorisiert die User Stories und schon ist das Produkt so gut wie fertig. Wie gesagt, so steht es im Lehrbuch. Aber wie sieht das ganze in der Praxis aus und wie wird es organisiert?
In der Regel fällt irgendwann einmal der Entschluss ein neues Projekt anzugehen und es wird ein Verantwortlicher dafür bestimmt. Das ist normalerweise der zukünftige Product Owner. Seine erste Aufgabe ist die Formulierung der Zieldefinition und die Erstellung der ersten Version des Product Backlogs.
Im nächsten Beitrag schauen wir uns an, wie ein Product Backlog inhaltlich aussieht.
Tags: Agiles Projektmanagement, Methoden, Praktikum, Scrum
Bärbel de Bouvier am 19. Februar 2009
So, nach einer kleinen Pause geht es weiter mit meinen Erkenntnissen über Scrum. Es wird an der Zeit mit einem Projekt zu beginnen und das erste Product Backlog zu erstellen.
Dazu müssen wir zunächst einmal das Product Backlog genauer erklären:
Das Product Backlog (PB) ist das zentrale Steuerungsinstrument in Scrum und es wird einzig und allein vom Project Owner (PO) geführt. Wichtig ist dabei, das dass Product Backlog ständig im Fluss ist und einer permanenten Änderung unterliegt.
Einfach gesagt ist das PB eine priorisierte Liste mit allen funktionalen und nichtfunktionalen Anforderungen an das Produkt (User Stories). Auch Probleme, Risiken und alles, was sonst noch zu tun und zu beachten ist kommt in das Product Backlog.
Die Priorisierung erfolgt dabei durch den Product Owner. Ausserdem gehört zu jedem Punkt im Backlog eine Einschätzung der benötigten Arbeitsdauer. Diese erfolgt durch das Team.
Die Arbeitsschritte sind also:
Wie das in der Praxis aussieht, zeige ich euch im nächsten Beitrag. Dann geht es nämlich ans Eingemachte.
Für meine ersten Schritte in Scrum habe ich mir ausserdem schon mal ein rudimentäres Product Backlog in Merlin angelegt.:
Product-Backlog Beispieldatei für Merlin
Tags: Agiles Projektmanagement, Methoden, Praktikum, Scrum
Bärbel de Bouvier am 12. Februar 2009
Nach dem wir in den letzten Beiträgen die wichtigsten Begriffe gelernt haben, geht es jetzt darum, wie ein Scrum-Projekt prinzipiell abläuft. Drei Punkte sind dabei wesentlich und decken sich weitestgehend mit den grundsätzlichen Prinzipien des agilen Projektmanagements:
Der Ablauf:
Aus dem Product-Backlog werden die am höchsten priorisierten Anforderungen in den Sprint-Backlog übernommen. Das ist die Arbeitsgrundlage bzw. der Projektplan für den folgenden Sprint. Ein Sprint dauert typischerweise zwei bis vier Wochen. Die Basis für die tägliche Arbeit bildet dabei das (in der Regel 15-Minuten kurze) Daily-Scrum-Meeting. Am Endes eines Sprints folgt das Sprint-Review.
Das Ziel von Scrum wird damit klar: In möglichst kurzer Zeit zu einem funktionierenden, wenn auch nicht mit allen Features versehenen Produkt zu kommen. Fehlende Features werden in nachfolgenden Sprints hinzugefügt.
Am Beginn eines Scrum-Projektes steht das Product Backlog. Den schauen wir uns in der nächsten Folge genauer an.
Tags: Agiles Projektmanagement, Methoden, Praktikum, Scrum
Bärbel de Bouvier am 9. Februar 2009
Letztendlich hat sich mein Körper doch noch gegen die fiesen Erkältungsviren durchsetzen können. Zumindest ist meine Nase frei und der Kopf endlich wieder klar. Zeit also mit meinem Scrum-Projekt weiter zu machen. Im zweiten Teil der Projekt-Praktikum-Reihe habe ich die wichtigsten Scrum-Begriffe erklärt. Aber es gibt noch ein paar weitere, die einem im Zusammenhang mit Scrum immer wieder über den Weg laufen. Bevor wir in medias res gehen, will ich sie noch rasch erklären.
Da wären beispielsweise die so genannten User-Stories. Das sind die einzelnen Posten im Product Backlog und sie sind immer aus der Anwender- sprich User-Perspektive geschrieben (deswegen User-Stories). Bei der Entwicklung eines Online-Shops könnten dies beispielsweise sein: „Ich will mit Kreditkarte zahlen können“, „Zu jedem Produkt möchte ich eine Detailansicht haben“ oder „Die Rechnung soll per E-Mail zugestellt werden“.
Impediments sind Hindernisse und sie sind das, was der Scrum-Master beseitigen muss. Impediments können alles sein. Von einem defekten Arbeitsplatzrechner über ein erkranktes Team-Mitglied bis hin zu Störungen von Aussen. Impediments werden während des Daily Scrum Meetings gesammelt und im Impediment Backlog festgehalten.
Sashimi ist ein weiterer Begriff, der des öfteren im Scrum-Umfeld auftaucht. Kenner der japanischen Küche wissen, dass Sashimi kleine Fisch-Filetstückchen sind, die aneinandergelegt serviert werden (Bild bei Wikipedia). Aus diesem Bild heraus entstand die Verwendung des Begriffs in Scrum. Er steht für fertig gestellte Funktionen (Projektschritte). Man sagt, wenn eine Funktion bzw. ein Produktfeature fertig gestellt ist, dann ist es “sashimi”.
Das soll für heute erst mal reichen. Im nächsten Beitrag will ich die Rollen in Scrum näher beleuchten und es wird dabei um Hühner und Schweine gehen.
Tags: Agiles Projektmanagement, Praktikum, Scrum
Bärbel de Bouvier am 4. Februar 2009
Nach meinen ersten beiden Lektionen liege ich flach… Ja, mich hat die Grippe voll erwischt. Jetzt ist es auf der einen Seite sicher ein großer Vorteil, dass ProjectWizards ein dezentral-verteiltes Unternehmen ist, so habe ich in der ersten Krankheitsphase niemanden anstecken können. Andererseits… wer pflegt mich jetzt?… <schnief>.
So hatte ich aber in jedem Fall reichlich Zeit, über die ersten Tage nachzudenken und im Web zu recherchieren. Dabei habe ich ein tolles Blog gefunden: inside scrum. Auch wenn der Titel eine englischsprachige Seite vermuten lässt. Das Blog ist auf deutsch geschrieben und zudem noch sehr gut verständlich.
Hoffentlich auf bald…
Salut,
Eure Bärbel