Certification is Just a Start

Scaled_Agile_Framework(R)_SPC_Cert_Mark-transparent

Two weeks ago I received my SAFe Program Consultant (SPC) certificate. I did a 4-day training and I passed an online questionnaire in order to receive it. Due to the training I gained a good understanding of the SAFe framework, most of my questions could be clarified, and it helped me to reduce my skepticism about SAFe (finally I believe that it is a quite good compromise for large enterprises with a long waterfall and command-and-control history). Further as SPC I am allowed to teach an official 2-day SAFe training and certify people as SAFe Practitioner and SAFe Agilist on my own. Cool!

Regarind SAFe I am in Shu now! Now it’s time to gain experience on applying SAFe in the real world, read Dean Leffingswell’s book (and many more – have a look at my reading list), be active in the LinkeIn group for SPC’s and other online communities, exchange opinions on local and global gatherings, etc to reach Ha and maybe someday I will be one of the few who reach Ri (cf. Shu-Ha-Ri). That is how I see certification – it’s a start.

I have met people, who believe that a certificate (CSM, CSPO, CSD, SAFe SPC, CSD, PSM I, PSM II,…) means they are already in Ri – at least they behave like that. What is the value of a CSM, who never led a scrum team? Well, I would say it is rather low, because without experience he would do (almost) everything wrong when applying his knowledge in practice for the first time. Experience is, what distinguishes someone in Ha or Ri to someone in Shu. While most certificates can be bought, experience can’t. It needs to be gained truth experiments that sometimes succeed and sometimes fail (according to D. Reinertsen we learn most at a 50% failing rate). Respectively it is up to you to find your way to Ha and Ri with or without certificate.

Advertisements

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.