Vielleicht haben Sie schon gelesen das Tagebuch eines unserer mBots gelesen, falls nicht, empfehle ich Ihnen, dies zuerst zu tun! Worum ging es also an diesem Tag? Wie sind wir dazu gekommen, ihn zu organisieren und was haben die Teilnehmer gelernt?
Wechselnde Teams
In dem Maße, wie sich Unternehmen für eine agilere Arbeitsweise entscheiden, beginnen sie auch, multidisziplinäre Scrum-Teams zu bilden. Dabei gibt es jedoch immer noch eine große Herausforderung. Wenn Sie mit mehreren Disziplinen in Ihrem Scrum-Team arbeiten, sind Sie dem Risiko ausgesetzt, dass Sie immer noch Mini-Handover erzeugen. Zuerst entwirft der Business-Analyst das Design, der oder die Entwickler bauen es, die Tester testen es und wenn Sie Glück haben, ist das Unternehmen am Ende zufrieden. Die Teammitglieder neigen dazu, weiterhin das zu tun, was sie schon immer getan haben. Nichts hat sich wirklich geändert! Natürlich können wir realistischerweise nicht erwarten, dass das Unternehmen plötzlich anfängt zu programmieren, aber es wäre schön, wenn sie die Schwierigkeiten kennen würden, mit denen die Entwickler zu kämpfen haben. Umgekehrt funktioniert es genauso. Wir müssen voneinander lernen und unsere Arbeit näher zusammenbringen.
Lernen durch Programmieren eines Roboters
Letztes Jahr haben wir bereits herausgefunden, dass ein Roboter ein großartiges Werkzeug ist, um sich mit ATDD vertraut zu machen. Seitdem haben wir unseren Lego Mindstorm-Roboter gegen eine ganze Familie von Makeblock mBots eingetauscht.
Direkt nach dem Auspacken sind diese mBots kann mit einer visuellen Programmiersprache namens Scratch programmiert werden. Makeblock hat eine eigene IDE für diese 'Sprache' entwickelt, die mBlock. Das scheint einfach zu sein, aber es stellt sich heraus, dass das Schreiben komplexer Funktionen immer noch gute Spezifikationen und die gleiche Logik erfordert, die in 'fortgeschritteneren' Programmiersprachen verwendet wird. Der Einstieg ist einfach, aber schwierig zu meistern. Perfekt für einen Workshop!
ING-Stammtisch
Bei ING wird eine Gruppe von Scrum-Teams, die im selben Bereich arbeiten, als Tribe bezeichnet. Bei ING kommen diese Stämme zu Teambildungstagen zusammen. An diesem Tag werden sie über das Unternehmen informiert, nehmen aber auch an einigen lustigen und lehrreichen Aktivitäten teil. Das Ziel ist es, in einer anderen Umgebung als dem Büro voneinander zu lernen und so zu besser vernetzten Teams zu werden.
Xebia half bei der Organisation dieser Episode für den Stamm 'Advies & Affluent'. Wir fuhren mit 20 mBots zum Undercurrent in Amsterdam-Noord. Dort fand der größte Workshop statt, den wir mit den Robotern durchgeführt haben.
Legen Sie das Verhalten des Roboters fest
Wir begannen den Tag mit einer kurzen Einführung darüber, was ein mBot ist und wie man ihn programmiert. Die Teams konnten live mitverfolgen, wie sie ihren Roboter dazu brachten, sich vorwärts zu bewegen. Als nächstes bestand die erste Aufgabe darin, eine 'einfache' Benutzergeschichte zu implementieren.
Als Roboter-Besitzer Ich möchte, dass mein Roboter dem Pfad auf dem Parcours folgt Damit er die Ziellinie erreichen kann
Das scheint einfach genug zu sein, aber wenn Sie darüber nachdenken, was bedeutet das wirklich? Der Pfad kann sich nach links und rechts bewegen und hat scharfe Ecken und lange Kurven. Wir haben den Teams die grundlegenden Konzepte von Specification by Example erklärt. Das bedeutet, dass das Team zunächst die Akzeptanzkriterien in Beispielen aufschreibt. Auf diese Weise begannen die Teams, Fragen zu stellen, zu interagieren und zu experimentieren. Sie fanden zum Beispiel folgende Szenarien:
Bei der Roboter bewegt sich auf dem Kurs Wenn der Roboter vom Kurs der linken Seite abweicht Dann steuert der Roboter nach rechts
Ein gemeinsames Verständnis schaffen
Die Entwickler erkannten schnell, dass Richtung eine Variable sein sollte, und sie brauchten eine Geschwindigkeit variabel, da die Geschwindigkeit in den Kurven möglicherweise unterschiedlich sein muss. Sie zeigten dem Unternehmen, was sie meinten, und das Verständnis wuchs. Das Unternehmen verstand auch das Konzept der Schleifen und Anweisungen und konnte erkennen, dass sich ändernde Anforderungen bedeuten, dass der Code manchmal komplett geändert werden muss. Sie erreichten ein gemeinsames Verständnis.
Die Unternehmen waren nicht die einzigen, die lernten. Entwickler neigen dazu, sich sofort in das Projekt zu stürzen und an die wie während sich das Geschäft mit dem was. Die Teams, die ihre Spezifikationen vor Beginn der Entwicklung besprachen, waren am Ende schneller. Einige Entwickler begannen sofort mit der Programmierung, um den Roboter einer Linie folgen zu lassen. Sie entwickelten eine Funktion, die in den langen Kurven funktionierte, aber sobald sie in die scharfen Kurven kamen, versagte der Roboter. Daran hatten sie vorher nicht gedacht und brauchten eine Menge Nacharbeit, um das zu beheben. Sie wurden nicht vor dem Ende des Sprints fertig...
Wettbewerb
Wir hatten insgesamt 15 Teams mit 80 Personen, die in drei Sprints gegeneinander antraten. Die Teams wurden nach den Kriterien Spezifikationen, Zusammenarbeit und Funktionalität bewertet. Alle diese Teams konnten ihre Funktionalität auf Teststrecken üben.
Am Ende der drei Sprints durften die fünf Teams mit der höchsten Bewertung auf der Hauptstrecke gegeneinander antreten. Das Team, das die Strecke am schnellsten bewältigen konnte und dabei die Vorgaben einhielt, gewann! Dieses Element hat die Teams wirklich gefordert und sie in einen Wettbewerbsmodus versetzt!
Was kommt als Nächstes?
15 Teams gegeneinander antreten zu lassen und dabei Dinge zu lernen, die sie bei ihrer täglichen Arbeit anwenden können, war wirklich großartig. Die Leute hatten viel Spaß und wir wurden mehrfach gefragt, wie viel die mBots kosten und wo man sie kaufen kann. Einige Teams haben am Ende des Tages sogar noch Probleme bei den Getränken behoben.
Dieser Tag war hoffentlich der erste Workshop von vielen, die noch kommen werden. Wir bieten diesen Workshop jetzt in zwei verschiedenen Formaten mit leicht unterschiedlichen Zielen an. Wir haben ein Training, bei dem Scrum-Teams ganz im Stil von ATDD an der Implementierung von Funktionen für den Roboter mit JavaScript, NodeJS und CucumberJS arbeiten. Und wir bieten diesen Workshop an, der sich hervorragend für eine große Anzahl von Teams eignet und bei dem auch Unternehmen mit der Programmierung beginnen können. Besuchen Sie einfach unser Schulungsseite für weitere Informationen.
Übrigens: Im Januar werden wir unseren Roboter-Workshop von der TestWorksConf auf der TestBash Netherlands 2017 wiederholen. Dies ist eine Kurzversion unseres ATDD-Robotertrainings. Ich hoffe, Sie dort zu sehen!
Verfasst von
Erik Zeedijk
As an Agile Test Consultant Erik always has the drive to improve the quality of software being delivered. This includes setting-up test automation and using CICD to get the fastest possible feedback on quality. It also means introducing the mindset change that is needed to think differently about testing and the way we measure quality.
Unsere Ideen
Weitere Blogs
Contact



