Meetingfreie Tage

Entwickler mögen keine Meetings. Die meisten anderen Kollegen auch nicht.

Trotzdem sind gemeinsame Meetings zwischen Entwicklern, Product Ownern sowie Stakeholdern und Spezialisten aus Fachbereichen notwendig, um ein gemeinsames Produktverständnis zu bekommen. Dazu kommen Daily Standup, SoS (Scrum of Scrum), Community of Practice, Sprint Review, Retrospective und Sprint Planning. Insgesamt also eine ganze Menge Meetings für ein Team pro Sprint.

Ein häufiger Kritikpunkt war, dass man durch die vielen Meetings keinen einzigen Tag im Sprint mehr als 4h am Stück hat, um zu arbeiten – um in den Flow zu kommen.

Unsere Idee: wir machen einen meetingfreien Tag. Dazu haben wir Meetings gekürzt, zusammengelegt und verschoben. Letztendlich haben wir jetzt zwei Tage in jedem Sprint die keine Meetings haben.

Maintenance, production support und DevOps in Scrum

In vielen Firmen wird über die Einführung von DevOps (Entwickler, Operations und QA bilden ein Team bzw. arbeiten eng zusammen) diskutiert, das Thema war auch häufiger auf der Agile2011 zu hören.

Im Blog von Charles Bradley gibt es ganz praktische Tipps, wie man als Scrum-Team mit der Verantwortung für Produktivsysteme und dem commitment für den Sprint umgehen kann.

Was kann man tun, bei einem Bug oder Defect:

  • Falls möglich (Defect ist nicht dringend), ins Backlog aufnehmen. Fertig!
  • Nicht vorsorglich Zeit und/oder Punkte einplanen.
  • Falls es weniger als eine Stunde (Daumenregel) dauert, einfach machen.
  • Wenn es länger dauert, nicht vergessen zu tracken, damit man merkt, wenn sich einzelne Stunden zu großen Brocken aufsummieren. Ggf. ins Backlog aufnehmen oder als task mit ans Sprint-Board hängen.
  • In der Retrospektive ansprechen, inspecten und adopten.
Und nicht vergessen: Scrum (und agile im Allgemeinen) stellen den Wert für den Kunden, shippable products, value in den Vordergrund, nicht maintenance, bugs oder technical debt.

    Metapher für das Schätzen von Stories

    Im Vortrag über Planning Poker hat James Grenning eine schöne Metapher benutzt.

    Die Einfahrt vor meiner Garage ist zugeschneit und ich will heute Abend mit dem Auto zum Essen in ein Restaurant fahren. Die Einfahrt vom Schnee zu befreien ist die Aufgabe, die zu lösen ist. (Nehmen wir nun einfach an, das seien 13 Punkte).

    Die Einfahrt ist ziemlich groß, aber um mit dem Auto aus der Garage zu fahren reicht es aus, eine schmale Fahrspur freizuschaufeln – just enough. (Dadurch verringert sich der Umfang der Aufgabe deutlich, es sind nur noch 5 Punkte).

    A) Meine Frau und mein Sohn können die Einfahrt mit Schippe, Schaufel und Besen vom Schnee befreien. Obwohl sie zu zweit sind, ist es anstrengend und dauert zwei Stunden.

    B) Ich kann den Schnee mit meinem (motorbetriebenen) Schneemobil freischieben. Das geht einfach, macht Spass und dauert nur eine Stunde.

    Die Aufgabe “die Einfahrt vom Schnee befreien” ist die gleiche geblieben, egal wer sie löst. Deshalb ändert sich auch die Schätzung (5 Punkte) nicht, wenn ein andere Team sie bearbeitet. Was sich unterscheidet, ist die Velocity der einzelnen Teams.

    Vielleicht hilft diese Metapher dem einen oder anderen beim Verständnis von “Größe einer Story” und “Velocity”.

    Best practices für UX in einer agilen Umgebung

    Renzo hatte vor einiger Zeit bereits einen Artikel über die Zusammenarbeit von UX und Scrumteams geschrieben und nach dem Vortrag von Jeff Patton über User Story Mapping bin ich jetzt auf einen Artikel mit 12 best practices gestossen.

    Der Artikel ist von 2008, aber immer noch aktuell.

    1. UX ist Teil der Product Owner Teams
    2. Im Voraus planen, researchen und designen – aber nur so viel es sein muss
    3. Arbeit in kleine Teile aufbrechen
    4. Der Entwicklung voraus sein und nach dem Sprint das Ergebnis mit dem Kunden validieren
    5. Zeit durch einfache Designs für komplexe Programmieraufgaben gewinnen
    6. Bilde eine User-Gruppe für regelmäßige User-Validierung
    7. Regelmäßiges Research in einem parallelen Track organisieren
    8. Ständigen Abwechseln von Entwicklung, Design und Testen in parallelen Tracks
    9. Benutze RITE vor der Entwicklung für iterative Tests
    10. Keine detaillierten Prototypen
    11. Der Prototyp ist die Spezifikation
    12. Vermittle anderen Kenntnisse über Design und unterstütze sie dabei

    Im Blog von Jeff gibt es noch einen Artikel zum Thema Twelve emerging best practices for adding UX work to Agile development der auch Grundlage für den oben genannten Artikel ist.

    Agile2011 – Tag 5: Closing Keynotes ‘Code’ und ‘Agile Mindset’

    Code

    Keynote von Kevlin Henney über Code.

    • Als Kommunikationsmittel, z.B. wie kommunizieren wir durch Fehlermeldungen mit Kunden – englisch oder java?
    • Programmieren als Handwerkskunst
    • Programmieren als Kunst

    The Power of an Agile Mindset

    Wow. Die einzige Keynote mit standing ovations. Linda Rising ist mit ihren 70+ Jahren aber auch eine aussergewöhnliche Sprecherin auf der Agile2011.

    smart people vs. effort people

    Letztendlich sind die Menschen, die gemeinhin als smart bezeichnet werden, die als besonders clever oder intelligent gelten, die es immer mit besonders wenig Aufwand schaffen ihre Aufgaben zu erledigen nicht die Leute, die man in seinem Team haben möchte.

    Dazu berichtet Linda aus einer Versuchsreihe mit einer Gruppe von Schülern.

    • die Smarten sind weniger bereit zu lernen
    • sie geben früher auf
    • die Bemühten motivieren sich selbst und andere
    • sie nehmen Herausforderungen an

    fixed mindset vs. agile mindset

    Linda unterscheidet zwischen einem agilen und einem fixen mindset. Die Ausprägungen sind ähnlich wie bei den smart/effort people.
    Gute Nachricht: Es ist besonders einfach zwischen den mindsets zu wechseln. Ein Artikel oder ein Gespräch und Menschen ändern ihr mindset. Eine dauerhafte und langfristige Änderung gibt es in dem Sinne nicht, eher ein “steter Tropfen höhlt den Stein”

    Ich freue mich schon auf die Slides mit den Links zu weiteren Artikeln zu dem Thema.

    Temple Square in Salt Lake City, Utah

    Salt Lake TempleDie Agile2011 ist vorbei, ich bin noch ein paar Tage in Salt Lake City. Die Stadt ist bekannterweise das Zentrum der Mormonen und dort steht auch der größte Tempel der Kirche Jesu Christi der Heiligen der Letzten Tage.

    Den Tempel selbst kann man nicht besichtigen, dort haben nur Mitglieder der Kirche mit einem Empfehlungsschreiben Zutritt. Es gibt auf dem Gelände aber noch weitere Gebäude (siehe Wikipedia) zu besichtigen.

    Man kann jederzeit eine Führung machen, es gibt genügend Freiwillige, die einen über das Gelände führen, über Geschichte und Entstehung erzählen und mit denen man über Religion diskutieren kann – wenn man denn möchte. Die Freiwilligen kommen aus allen möglichen Ländern der Welt, es ist also kein Problem jemanden zu finden, der deutsch spricht.

    So eine Führung kann ich sehr Empfehlen um einen Überblick über die Religion, die Geschichte und das Gelände zu bekommen. Mormonen sind grundsätzlich sehr freundlich, aufgeschlossen und der missionarische Eifer hält sich in Grenzen. Continue reading

    Agile2011 – Tag 4: Creativity, Poker and Story Mapping

    Creativity for Agile Teams

    Ein spannender Talk von Roger Brown und Mark Levison über Kreativität.

    • Was ist Kreativität
    • Kann man Kreativität lernen
    • Wie schafft man ein Umfeld, in dem man kreativ arbeiten kann
    • Warum ist Kreativität wichtig

    Kreativität ist einer der Hauptgründe, warum Agile und Scrum funktionieren. Es erlaubt Teams neue, innovative Ideen zu finden, Probleme schneller zu lösen und insgesamt zufriedener und produktiver zu arbeiten. Ken und Jeff nenen den zustand Hyperproduktivität

    Kreativitätskiller sind zum Beispiel Stress, Unterbrechungen, Command&Control.

    Die Slides stellt Mark noch online.

    Beyond Planning Poker – The Planning Poker Party

    Das war mein erster Introductionary-Level Talk, und ich habe gemerkt, darüber bin ich längst hinaus.

    James Grenning gab einen interessanten Überblick, woher Planning Poker kommt, welche Probleme es löst und welche nicht.

    Dazu gab es noch eine Alternative zum Poker, die bei vielen Stories einen deutlichen Zeitgewinn bringt. Sehr ähnlich zum Team Estimation Game von Steve Brockman.

    Telling Better Stories with User Story Mapping

    Wow, das Thema muss ich unbedingt noch vertiefen. Das Tutorial war leider total überfüllt, so dass ich nicht bei den Exercises mitmachen konnte.

    Es geht darum den Flow der User Stories mit Index Cards zu visualisieren. Also das Erlebnis des Kunden. Denn manchmal verliert man bei größeren Projekten den Überblick darüber, was man eigentlich entwickelt, was die nächsten Schritte sind, was man (vorerst) weglassen/verschieben kann. Die Map macht es für Entwickler, PO und Stakeholder/Kunde transparent.

    Der Talk wurde von Jeff Patton gehalten, die Slides gibt es online, aber ich denke ein Buch zu dem Thema oder ein weiterer Workshop sind da Sinnvoller.

    Agile2011: Tag 3 – Talk, Talk, Talk

    Auch heute habe ich einen guten Mix gefunden, alle Talks geben zusammen genommen ein rundes Bild ab.

    Design Thinking

    Mary Poppendieck  spricht darüber, wie man aus einer Idee ein Produkt designt. Ganz klar mit einem iterativen Prozess und mit viel Kreativität, Prototypen bauen, fail-early-fail-often, etc.

    Wichtig ist zu wissen, welches Problem man lösen will und den eingeschlagenen Weg immer wieder darauf zu überprüfen – genauso wie man das Problem immer wieder hinterfragen muss. Als Beispiel brachte Sie hipmunk, eine Seite auf der man Flüge buchen kann. Wer hätte gedacht, dass man in 2010 noch Erfolg mit einer Flugpreisvergleichsseite haben kann. Der Unterschied zu anderen Seiten, hipmunk optimiert seine Seite auf das Erlebnis “Flug” und nicht auf “Kaufen“. So werden die Flüge nicht nach Preis sortiert, sondern nach “Qual”. Direktflüge, Flüge mit kurzen (aber nicht zu kurzen) Umsteigezeiten, Flüge die zu normalen Zeiten starten/landen tauchen in der Liste weiter oben auf.

    Leider sind die Slides noch nicht Verfügbar, insgesamt hat Mary viele weitere Aspekte angesprochen, die ich noch nachreichen werde.

    Integrating UX Into Agile: How To Ensure Your Sprints Result In Usable Software

    Jon Innes hat mit der UXI Matrix eine Möglichkeit vorgestellt, wie man UX-Arbeit transparent in ein agiles Umfeld, zB Scrum, integrieren kann.

    Im Ergebnis ist die Matrix die Erweiterung des vorhandenen Product Backlogs um weitere Spalten wie “Personas, UX Complexity, UX % done, Responsible UX-person”. Die Idee konnte überzeugen, die Umsetzung mit einem riesigen Excel Sheet nicht wirklich. Und Jon arbeitet auch noch daran die Matrix in vorhandene Tools integriert zu bekommen.

    Viel wichtiger war aber der andere Blickwinkel, den ich jetzt auf UX-arbeit habe. Insbesondere die Erkenntnis, dass ich bisher keine Ahnung hatte, was alles zu UX gehört, ausser Photoshopen und Texten.

    Selbstverständnis und Wahrnehmung

    “Ich arbeite in der UX” ist eine genauso hohle Phrase wie “Ich arbeite im Projektmanagement”. User Experience beschreibt die Sicht und die Erlebenswelt des Kunden, was genau ist Deine Aufgabe auf der Seite des Produzenten/Verkäufers. PO und Entwickler und UXler müssen sich über die Rollen und Aufgaben einig sein und ein gemeinsames Verständnis davon haben.

    User acceptance (tests)

    Finden üblicherweise am Ende bzw. nach dem Sprint statt. Das ist aber mehr Waterfall als agil. Wir bauen über 4 Wochen ein Produkt und testen erst danach, ob es dem Kunden überhaupt gefällt und ob es sein Problem löst. Das ist nicht richtig.

    Support, Sales, Marketing

    Wenn unser Kunde ein Problem hat oder eine Reklamation, wie sieht dann seine Erfahrung mit uns aus, wie ist seine experience? Was ist mit Marketing oder Sales oder anderen Bereichen, in denen unser Kunde Kontakt mit uns hat. In diesen Bereichen muss UX noch viel stärker eingebunden werden.

    Produktentwicklung und Research

    UX muss viel stärker und viel früher in die Entwicklung von Produkten eingebunden werden. Das war auch schon ein Punkt bei Mary Poppendieck. “Was muss das Produkt können” und “Wie muss das Produkt funktionieren” sind zwei Fragen, die sich PO und UX teilen und bei denen jede Rolle aber auch jede Person einen Schwerpunkt finden muss. Und dann müssen diese Fragen möglichst früh und gemeinsam mit dem Kunden beantwortet werden.

    Wir fragen unsere Kunden zu selten nach Ihrer Meinung und nach Ihren Ideen. Und wenn wir es tun, meist erst nachdem das Produkt fertig ist. Das ist nicht agil.

    Basic Principle of the TPS and its Practical Ideas for Agile Software Process!

    TPS ist das Toyota Production System - quasi der Urgroßvater von Lean und Agile. Satoshi Kuroiwa war jahrzehntelang Manager bei Toyota und hat unter anderem das TPS in IT und IS eingeführt.

    Leider war der Talk schwer Verständlich. Satoshi spricht mit starkem Akzent, gefühlt war ein Drittel des Talks auf japanisch…

    Die Slides waren “PowerPoint from Hell”. Mit Text vollgestopft, kleine Schriftgröße, Grafiken teilweise auf Japanisch. Puuh.

    Insgesamt hat der Talk schon einen Eindruck von TPS und Agile und deren Gemeinsamkeiten und Unterschiede vermittelt. Mit einer besseren Präsentation wäre er aber deutlich ergiebiger gewesen.

    Keywords: TPS is people centric, flow, eliminating waste

    Scrum and Kanban Like Chocolate and Peanut Butter

    Der Talk von Damon Poole drehte sich um Scrum und Kanban und wie man (insbesondere wenn man Scrum skaliert) beide Systeme kombiniert um so schnell wie möglich ein Produkt zu liefern.

    Die Iterationen von Scrum sorgen für einen regelmäßigen Stillstand, der häufig noch durch eine hardening phase verschlimmert wird. Im Gegensatz dazu läuft Kanban kontinuierlich (flow).

    Innerhalb einer Iteration und eines Teams kann ein Team durchaus Methoden aus Kanban verwenden, um Stories zu bearbeiten. insbesondere ein Kanban-Board und limiting WIP helfen dabei.

    Scaling and flow with decoupling

    Dazu nur ein paar Stichworte:

    • Scrum Meetings von den Iterationen trennen, also Estimation Meetings nicht nur zum Sprintanfang machen, Retrospektive nicht nur zum -ende.
    • Continuous Integration & Delivery. Nach jeder Story.
    • Stories nicht nur im planning ziehen – Velocity pro Iteration oder pro “fliessendem 4 Wochen Zeitfenster” sind vergleichbar. Im Ergebnis geht es nicht um die absolute Zahl sondern die Veränderung der Velocity.
    Bisher habe ich auf der Konferenz keinen 100%-scrum-by-the-book Vertreter gefunden. Alle finden es richtig, die Prozesse so anzupassen, dass es für das Team funktioniert – solange die agilen Prinzipien nicht verletzt werden.