+31 35 543 1000 info@kza.nl

Op 31 mei was het weer zo ver. Ons jaarlijks event wat KZA organiseert voor de ZZP’ers uit ons vakgebied. Op deze avond zijn we onder leiding van Ide Koops  aan de slag gegaan met Lego MindStorms. (ja, inderdaad de robots waar mijn collega Michelle eerder in mei over vertelde).

Na gezamenlijk een hapje te hebben gegeten heeft Ide ons uitgelegd wat we op deze avond gaan doen. In twee teams gaan we aan de slag om een Lego Robot te programmeren. De teams moeten opgedeeld worden in Dev’ers en Ops’ers. In een 3-tal iteraties is het vervolgens de bedoeling dat de Dev’ers de robots gaan programmeren en de Ops’ers de robots tijdens de iteratie gaan testen. Dit alles conform specs welke Ide uitdeelt. Eventuele vragen kunnen gesteld worden aan een tweetal aanwezige productowners.

De eerste opdracht is om de robots te laten rijden. Zodra de robot over een blauw vlak rijdt moet deze links afslaan. Bij een rood vlak moest naar rechts gegaan worden. Daarna moet de robot op het zwarte vlak stoppen.

Tijdens de eerste iteratie is het niet toegestaan dat de Dev’ers en Ops’ers rechtstreeks met elkaar communiceerden. Dat mag alleen via een op te leveren testplan en een op te leveren installatie/gebruikers instructie. Hiermee werd een groot aantal van de aanwezigen ‘teruggeworpen in de tijd’. Het niet mogen communiceren zorgde voor een grote kloof tussen de disciplines en de nodige communicatie verstoringen.

Daarnaast is in de eerste iteratie kennis gemaakt met de ontwikkelomgeving van de Lego Robots. Via drag en drop zijn eenvoudig een aantal functies aan elkaar te koppelen. Het fine tunen en ontdekken van de diverse functies kostte de nodige tijd.

Na het nodige testen en hertesten is het tijd voor een retro een kop koffie.

Tijdens de retro kwam onder meer het niet mogen communiceren met elkaar aan de orde en wat daar de effecten van zijn. De algemene stemming was dat dit zeker niet tot gewenste resultaten leidde.

In iteratie twee krijgen de teams nieuwe specs. Nu moet de robot een groter parcour afleggen met twee rode en twee blauwe vlakken. Dev’ers en Ops’ers zijn tijdens deze itereatie nog steeds gescheiden teams. Ze mogen nu echter wel fysiek met elkaar overleggen. En dat gebeurde dan ook veelveuldig.

Tijdens het programmeren en testen heeft één van de teams de indruk dat de kleursensor niet goed werkt. Tijdens het testen in de productie omgeving ontstaat het idee om de software van de robot die het parcours goed wist af te leggen, te installeren op de andere robot om zo te toetsen of het inderdaad een hardware issue is. Uit de test blijkt dat hier geen sprake van is. Mooi om te zien hoe in een groep spontaan dit soort ideeen ontstaat.

Conclusie tijdens de retro is dat het communicatie tussen Dev en Ops vele voordelen heeft. En dat teams elkaar ook echt verder kunnen helpen door issues onderling te delen en daar oplossingen voor te zoeken.

In Iteratie drie werden de teams omgevormd tot echte DevOps teams en moet de robot zo geprogrammeerd worden dat er wederom een complexer en groter parcours afgelegd kon worden.

Al snel werd duidelijk dat de opbouw van de software uit de eerste twee iteraties niet geschikt was om ‘even uit te bouwen’ naar de specs uit deze 3e iteratie. Op dat punt ondervonden de teams dus aan den lijve waarom het modulair opbouwen van software van belang is.

Onder het genot van een drankje en een bitterbal is er vollop nagepraat. De overall conclusie is dat het ontzettend leuk en leerzaam is om op deze wijze met elkaar aan de slag te zijn!