5 Most Powerful Acronyms for Agile Coaches

AcronymsPhoto by tuchodi is licensed under CC BY-SA 2.0

Personally I love acronyms, because they serve me as mnemonic for some of the important stuff that I shouldn’t forget as an agile coach. Further they are simple to teach and made to stick. Here are my top 5 acronyms for agile coaches:

FROCC

The Scrum values can be easily remembered with the acronym “FROCC”, the misspelled frog:

Focus – we focus on a few things at a time
Respect – we respect our colleagues like we want to be respected
Openness – we express our thoughts about how we are doing
Courage – the team gives us the courage to take greater challenges
Commitment – we are committed to success

Source: https://www.scrumalliance.org/why-scrum/core-scrum-values-roles

DEEP

A well refined product backlog is “DEEP”:

Detailed appropriately – the details are added over time
Estimated – backlog items are estimated
Emergent – a product backlog changes over time
Prioritized – the most valuable items are on top

Source: https://www.mountaingoatsoftware.com/blog/make-the-product-backlog-deep

MoSCoW

When it comes to prioritizing your backlog “MoSCoW” can serve you well. Distinguish your features by:

Must have – the requirement is core and must be satisfied for success
o
Should have – the requirement is should be satisfied for success
Could have – the requirement is desirable but not necessary for success
o
Won’t have – the requirement will not be implemented

Source: http://en.wikipedia.org/wiki/MoSCoW_method

INVEST

“INVEST” in well-defined user stories. A user story must be:

Independent – the user story has no dependency to other stories
Negotiable – user stories can always be changed and rewritten
Valuable – a user story must deliver value to the end user
Estimable – you must be able to estimate the size of a user story
Small – a user story must fit into a sprint, but should be smaller
Testable – a user story must be testable

Source: User Stories Applied (Mike Cohn)

SMART

Make (iteration) goals always “SMART”:

Specific – target a specific goal
Measurable – quantify or at least suggest and indicator of progress
Achievable – be realistic
Relevant – check relevancy of the goal
Time-bound – assign a target-date

Source: http://en.wikipedia.org/wiki/SMART_criteria

Any other suggestions?

Advertisements

Agile Coach Camp Austria 2014

From Friday, 12th to Sunday, 14th of September a small group of highly motivated agilists from Austria (and other European countries) met at Hotel Krainerhütte for the first Agile Coach Camp in Austria. Starting from Friday evening till Sunday afternoon we spend an energized time together in workshops, games, presentations, discussions and plenty of other fun activities (like guitar playing, singing, swimming, power point karaoke, beer drinking,…). Having the event happening on a weekend I expected to meet only enthusiastic professionals, but the richness of our discussions and the experience everyone had, was more than I expected. The participants made it a real invigoration and enriching experience for me. Admittedly after the weekend I felt kind of overcharged with information, I was clearly exhausted and my brain needed some rest and time to process all the new experiences that we were able to share. Nevertheless the time to rest was short and Monday came too early, I felt inspired and happy. Agile Coach Camp 2014 was a great event made by great people! Thanks to all participants making the Agile Coach Camp 2014 such an experience and hope seeing you next year again!

Agile Coach Camp 2014 Austria - Krainerhütte

Foto by Alfred Karner

Better Feedback with a Happiness Door

My work as Agile coach includes regular training lessons with agile teams, product owners and other staff. Usually after a training or workshop I kindly ask the participants for their verbal feedback about the workshop, my moderation, the exercises, etc. A common practice that I just adapted from other trainers with the aim to improve my own training and moderation skills. Unfortunately the results of the verbal feedback rounds were not satisfying for me due to various problems:

  • Giving honest verbal feedback strait in the face seemed to be hard for my participants and therefore it was often omitted
  • Participants seemed to feel a barrier exposing their individual thoughts about the training in front of the group
  • Participants gave pseudo feedback by just repeating other’s feedback or giving hollow feedback
  • Only a few participants gave feedback at all
  • I hardly received constructive improvements (which is most interesting for me)
  • If there was plenty of verbal feedback after the training I often forgot most of it until I had time to reflect on it
  • Participants didn’t know how to express appropriate feedback

As a result I thought about alternative feedback mechanisms. I expected less problems with written feedback, which led to the idea to use a happiness door, a feedback mechanism created by Jurgen Appelo that I already knew from the management 3.0 workshop I attended some months ago.

Happiness-Door

 

Could the happiness door address my problems I had with verbal feedback rounds?

Yes. What has changed is that my participants felt safe to express their feedback semi-anonymously on sticky notes, which was not the case with the verbal feedback rounds. As a result I received more valuable feedback on my training lesson. Also everyone was willing to write at least one sticky note and because of less mutual influencing there was more individual feedback on the door. Finally seeing the feedback visually in front of me on the happiness scale was just great, because it gave me an instant feeling about my training performance and also helped me to remember a feeling of the training lesson. After the training I spent another 15 minutes to carefully read, interpret and summarize the feedback, which helped me to reflect. Last but not least due to sticky notes I didn’t miss any feedback, which happened quite often when doing verbal feedback rounds.

The only drawback I identified so far is that the written feedback can be easily misinterpreted and that there is no possibility to ask questions back. And of course you need to ask for a nice handwriting if you want to apply a happiness door.

Anyway, to put it in a nutshell the happiness door turned out to be a good feedback mechanism for me and there will be more happiness doors in my future training lessons for sure.

User Story KATA

Um die Qualität der User Stories in unseren mittlerweile 25 Scrum Teams bei Infonova weiter zu verbessern und anzugleichen führe ich gerade eine User Story KATA in unsere Entwicklungsabteilung durch. Ich habe die KATA mit Kollegen gestaltet und möchte die Idee dahinter gerne vorstellen:

Motivation:

Ausschlaggebend für einen erfolgreichen Sprint ist die Vorbereitung der User Stories. User Stories zu strukturieren ist einfach (siehe BDD), wie jedoch Product Owner und Team zu einem gemeinsamen Verständnis der Requirements kommen ist eine Herausforderung, die es zu jedes Mal aufs Neue zu meistern gilt. Als Check, ob ein gemeinsames Verständnis gegeben ist dient uns die Schätzung des Teams und die Definition of Ready. Wird eine User Story ohne ausreichendem gemeinsamen Verständnis commitet, passiert es nicht selten, dass das Commitment nicht gehalten werden kann, was die Planbarkeit eines Projektes schwierig macht. Bisher ist die Verwendung der DoR noch nicht über alle Teams etabliert. Mit Hilfe der KATA soll die Ausrollungen der DoR unterstützt werden und zu einer Qualitätssteigerung der Arbeitsweise führen.

Ziel:

  • Die Planbarkeit durch die Richtige Handhabung einer DoR und die daraus resultierenden geringeren Unterbrechungen und Scope-Changes im Sprint steigern.
  • Das kollaborative Erarbeiten der Requirements mit Product Owner und Team, sowie die Handhabung der Definition of Ready erlebbar machen und bewusst üben.

Vorbereitung:

Die Grundlage der KATA ist ein fiktives Business Szenario und eine dazu definierte User Story, jedoch ohne Akzeptanzkriterien, die in der KATA von den Teilnehmern ausgearbeitet werden sollen. Das Beispiel erscheint auf den ersten Blick bewusst trivial, enthält jedoch eine gewisse Komplexität, die nur durch genauere Beschäftigung mit der User Story zum Vorschein kommt.

Ablauf:

Es nimmt jeweils ein Entwicklerteam (4-6 Entwickler) + Scrum Master + Product Owner and der KATA teil. Alle Teilnehmer sind in der KATA in der Rolle des Entwicklerteams. Ich spiele in der KATA den Product Owner und stelle dem Team die vorbereitete User Story vor. In den folgenden 60 Minuten ist es die Aufgabe des Teams die User Story durch geschickte Fragen zu erforschen und die Akzeptanzkriterien in Form von Szenarien (siehe BDD) zu definieren. Nach und nach zeigt sich dem Team die wahre Komplexität der User Story. Nach einer Stunde breche ich diesen Prozess ab und lasse das Team das Ergebnis mit einer DoR auf die Erfüllung Dieser prüfen und schließlich die User Story zu schätzen.

Erfahrungen:

Nachdem ich nun mit 5 Teams die KATA durchgeführt habe kann ich ein erstes Zwischenresüme ziehen. Was den Teilnehmern der KATA meist zum ersten mal bewusst wird ist, wie wenig Zeit sie eigentlich für die Vorbereitung von User Stories investieren (meist weniger als 5% eines Sprints). Zum Anderen ist vielen die Bedeutung der DoR auf den Sprinterfolg noch nicht klar und wird durch die KATA erst richtig verstanden. Die teilgenommenen Teams können in der täglichen Arbeit auf die KATA als gemeinsames Erlebnis zurückblicken und so den sich langsam einschleichenden Prozess-Schlendrian entgegenwirken. Die Teilnehmer haben Spass an der KATA, was die wichtigste Grundlage ist, damit das transportierte Wissen auch weiterhin im Arbeitsalltag Anwendung findet.

Conclusio:

Zur Einführung von zentralen Prozess-Veränderungen, wie einer DoR scheint eine KATA hervorragend geeignet zu sein. Die aktive Einbindung der Mitarbeiter, der Spass-Faktor und das gemeinsame Erlebnis sind wesentliche Erfolgskriterien für nachhaltige Veränderung. Vermutlich wird jedoch die KATA nach einer gewissen Zeit wiederholt werden müssen um einen erneuten Impuls zu geben.

Wer an Details interessiert ist, bitte direkt an mich wenden.

3 Konzepte aus den Martial Arts in der Softwareentwicklung

Die Softwareentwicklung hat schon länger erkannt, dass wir uns von den traditionellen asiatischen Kampfkünsten (z.B. Karate) einige Praktiken und Tugenden abschauen können um unsere Fähigkeiten als Entwickler zu steigern. Disziplin, Fokus, ständige Verbesserung durch Lernen, ein gesunder Geist, Professionalität, Meisterlichkeit, usw. sind Schlagworte, die man heute mehr als je zuvor im Zusammenhang mit “Software Crafmanship” hört.

Source: http://best-selfdefense.blogspot.co.at/

Kata

Die Kata bezeichnet im Karate eine abgeschlossene Übung, bei der exakt definierte Bewegungsabfolgen durch häufige Wiederholung bis zur Perfektion trainiert werden. Selbes Prinzip findet sich in der Softwareentwicklung als Code Kata wieder, wo Entwickler-Skills wie Clean Code, Test Driven Development (TDD) oder Pair Programming anhand von einfachen Code Beispielen trainiert werden. Die Regeln einer KATA müssen dabei genau beachetet werden. Der Weg zur Lösung erfolgt bewusst in “Baby-Steps” die auftretenden Probleme und die einzelnen Lösungsschritte die notwendig sind bewusst zu machen. Die Lösung ist dabei nicht im Fokus der Code Kata sondern der Weg zur Lösung steht im Vordergrund der Übung. In agilen Unternehmen werden Katas regelmässig zur Weiterbildung der Entwickler durchgeführt. Eine Liste von populären Code Katas findet ihr hier: http://ccd-school.de/coding-dojo/

Dojo

Als Dojo wird im Karate der Übungsraum bezeichnet, in dem Katas durchgeführt werden. Das Prinzip der Coding Dojo bezeichnet demnach das Zusammenkommen mehrerer Entwickler in einem Raum um eine Code Kata gemeinsam durchzuführen. Es gibt unterschiedliche Durchführungsarten einer Coding Dojo. Die Teilnehmer können in wechselnden Paaren (Pair-Programming) an der Kata arbeiten (Randori Kata). Es kann jedoch auch von einem Teilnehmer die Lösung auf einem Beamer vorzeigen (Prepared Kata). Letztlich ist es jeodoch jedem Frei mit Durchführungsarten zu experimentieren. Auf http://codingdojo.org/ findet ihr mehr Infos zu Coding Dojos.

Shuhari

Shuhari ist ein Lern-Konzept, das bei den traditionellen Martial Arts angewendet wird um eine Kampfkunst bis zur höchsten Stufe ( dem Meistergrad) zu erlernen. Die folgende Erläuterung stammt von Wikipedia:

  • shu (守?) “protect”, “obey” — traditional wisdom — learning fundamentals, techniques, heuristics, proverbs
  • ha (破?) “detach”, “digress” — breaking with tradition — detachment from the illusions of self
  • ri (離?) “leave”, “separate” — transcendence — there are no techniques or proverbs, all moves are natural, becoming one with spirit alone without clinging to forms; transcending the physical

Stellen wir uns vor, wir möchten Scrum nach den drei Shu-ha-ri Schritten erlernen: Im ersten Schritt wird streng das Lehrbuch (die Tradition) befolgt, bis dieses verstanden wurde. Erst wenn wir Scrum nach Lehrbuch anwenden können entfernen wir uns langsam von der Tradition um  zu experimentieren (z.B. Individuelles Anpassen des Prozesses an das eigene Unternehmen). Hat man den Umgang mit allen agilen Methoden und Techniken, als auch die eigenen Adaptionen zu einem Schlüssigen Gesamtkonzept vereinheitlicht und kann die Techniken, Werte und Methoden  jederzeit anwenden, so hat man den dritten Lern-Schritt (“ri”)erreicht.