Behovet att bryta vardagen var förmodligen en av de sämre motiveringar jag kunnat använda i mitt försök att förklara varför vi numera var ett av de inplanerade stoppen på Lennart’s journeyman tour. En kort reflektion av tiden sedan sommarsemestern visade att den s.k. vardagen aldrig riktigt infunnit sig för DMU, Mittmedias enhet för digital medieutveckling. Sedan augusti hade vi välkomnat 10 nya kollegor, formerat nya utvecklingsteam, påbörjat experiment kring arbetsätt och teknik med målet att bli än vassare på att leverera nya digitala upplevelser.
På Agila Sverige 2015 kom jag för första gången i kontakt med Lennart Fridén. Under en open space övning berättade Lennart med stor entusiasm om den resa han var i färd att genomföra under återstående delen av året. Planen var att besöka företag efter företag och få chansen att arbeta med och inspirera så många olika människor som möjligt under resans gång. Reaktionen bland åhörarna var blandad. Kul och spännande tyckte de flesta medan andra valde att fokusera på risken med att välkomna en ”främling” rakt in i verksamheten. Ett för bra tillfälle till nyttigt kundskapsutbyte som inte fick schabblas bort, var min snabba analys när jag siktade in mig på Lennarts svaga hjärta för programmeringsspråket Ruby. Kunde han verkligen motstå frestelsen att träffa 20-talet hungriga Ruby utvecklare där alla brinner för att lära sig nya saker?
Måndag 26:e oktober
En vacker höstdag med sol från klarblå himmel välkomnar SJ:s Tåg 564 Stockholm – Sundsvall, Lennart på plats! Efter en inledande lunch där de sedvanliga artighetsfraserna utbytts är vi kalibrerade och redo att ta oss an eftermiddagens agenda: Införsäljning av Elixir och Introduktion av mobprogrammering.
Elixir
Några i teamen hade tittat närmare på Elixir men för att övertyga oss själva om att detta verktyg, byggt på Erland i grunden, faktiskt var så spännande som vi anade hade Lennart fått i uppdrag att riva av en riktigt säljande presentation. Ni vet en sådan där som bara de redan frälsta kan förmedla. Till saken hör nu att Lennart Don’t do införsäljningar. Däremot initierade han en mycket saklig och informativt dialog om ämnet vilken fick de flesta i rummet att känna att nästa hack måste tillägnas Elixir. Inte illa för en som inte säljer
Mob-programmering
Om mob-programing går det att tycka mycket och många gör det. Utmärkt verktyg för att lösa kniviga problem och bra kundskapsutjämnare i utvecklingsteam eller omständigt och slöseri med utvecklingstid? För en grupp som uppskattar par-programmering kan mob-programmering vara ett intressant nästa steg men även i vår grupp var ämnet lite av en vattendelare. Vi hade inte provat att ”mobba” tidigare och skulle vi ge oss i kast med konceptet såg vi ett behov att göra det tillsammans med en extern facilitator för att få en kickstart och undvika de vanligaste nybörjarmisstagen.
Förberedelser
- Organiserat tre programmeringsmobbar om fyra personer i vardera mob.
- Identifierat tre problem som störde vår vardag och som behövde åtgärdas.
- Tre konferensrum bokade. Utrustade med projektorer/tv-apparater, whiteboards och för uppgiften bekväma stolar och bord. En ventilation i topptrim som klarade av att syresätta intensivt jobbande processorer och hjärnor. Nåja, rummen var åtminstone bokade.
Tanken med själva mob-aktiviteten var att vi skulle testa arbetssättet, stärka samarbetet i gruppen och förhoppningsvis lösa några av de problem som vi själva upplevde som hinder men som inte hade högsta prio i vår utvecklingsbacklogg. Exempelvis refaktorering av kod eller problemlösning där en enskild utvecklare ej satt på alla svar kändes som lämpliga uppgifter för en mob. I vårt fall föll valet på refaktorering av en backend-tjänst för artikel rekommendationer, ett verktyg för administration av menyer och underavdelningar på nyhetssajterna samt en ny tjänst för visualisering av pushar för våra nya mobilappar.
Med Lennart Fridén vid rodret var vi således redo att ta oss an vår första mob-programmering. Aktiviteten inleddes med ett teoripass där vi lärde oss hur arbetet går till i en mob. Vad gör Drivern som sitter vid tangentbordet? Hur kan hen tänka och agera i olika situationer och hur fungerar samspelet med Navigatörerna som sitter bredvid och sköter kartläsandet. Lämpliga längder på programmeringspass? Vem sköter tidtagning och visualiserar av ”tagna” pass? osv, osv.
Efter teorigenomgången var det tid att gå från ord till handling. Whiteboards och pennor åkte fram och arbetet med att skapa koncensus kring tekniska lösningar höll ”mobbarna” sysselsatta resten av eftermiddagen. Vid dagens slut vara allt förberett och vi var förväntansfulla inför tisdagens första programmeringssession. Entusiasmen och ivern i gruppen att komma igång med programmeringen var så stor att där fanns risk för övertändning. För att rådda bot på detta avslutades dagen med mat och dryck i goda vänners lag, en värdig avslutning på denna måndag.
Tisdag 27:e oktober
Redan före klockan åtta på tisdagsmorgonen var de första mob-teamen igång med programmeringen. Ganska snart visade det sig att detta var någonting annat än den vanliga par-programmeringen vi vanligtvis praktiserar. Med endast en dator i rummet ställdes plötsligt högre krav på kommunikation och engagemang och inte minst koncensus av alla personer i mobben. Beroende på mobbens sammansättning, men också vilket problem de valt att tackla, var vägen fram till den första kodraden mer eller mindre krokig. Den utomstående betraktaren hade nog svårt att inte dra på smilbanden då ödets lott placerat några av våra mest viljestarka backend utvecklare i samma mob (tack vare en lika stor portion prestigelöshet som respekt för varandra var de dock snart på banan)
Det ensamma tangentbordet ställde inte bara frågor till gruppen, det utmanade även individen. Drivern, som sitter vid tangentbordet och producerade kod, stred på många fronter samtidigt. Kanske mot en utvecklingsmiljö som inte var hens första val, kanske mot klockan och därmed mot oviljan att släppa tangentbordet vid passets slut och kanske bekämpades även den inre striden mot att blottlägga sina kundskapsluckor inför övriga kamrater i mobben. Navigatören å sin sida kämpade mot abstinensen att inte få skriva kod och ha herraväldet av det som producerades men även mot koncentrationen då hen måste vara 100 % fokuserad på uppgiften för att kunna ta sitt pass när stunden väl var kommen.
Att mob-programmering på åtta timmar vara för kort tid för de uppgifter vi åtagit oss var ingen överraskning och syftet med dagen var heller inte att produktionssätta nya features. Det viktiga med övning var att Lennart Fridén, i egenskap av duktig facilitator, givit oss chansen att testa någonting nytt och gett oss ytterligare ett verktyg till vårt utvecklingsarbete. Hur vi kommer att använda våra nya kunskaper får framtiden utvisa. Tisdagens programmeringsövning avslutades med ett gemensamt retrospektiv. Resultatet av den gav en fortsatt splittrad bild till själva kodningsmomentet i mobben. Däremot rådde inget tvivel om att mob-programmeringen var utmärkt team-building, gav många nyttiga diskussioner kring kod och problemlösning och fungerade som en katalysator för lärandet, dessutom hade vi kul. Alla dessa egenskaper är något vi värdesätter i vårt dagliga utvecklingsarbete och har mob-programmeringen en positiv inverkan på dem så måste experimentet ses som väldigt lyckat och värt att ta vidare i någon form. Lennart’s journeyman tour hade därmed avklarat resans nordligaste stopp. Ett stopp som förmodligen satt större avtryck hos dem han besökte än på honom själv. Vi tog med oss samarbetet, känslan och glädjen från dessa två dagar genom hela veckan, en vecka som kom att bli allt annat än vardag, men om det visste vi inte då…
TACK Lennart, hoppas vi ses snart igen.
