Stress i tomteverkstan
I december är det bråda dagar i tomteverkstan. Renarnas tänder ska borstas och den schackrutiga färgen ska torka.
Det är även bråda dagar på många IT-utvecklingsavdelningar. Utvecklingsaktiviteterna staplas på hög med “allt som måste vara klart före jul”, och “vi har ju så få ‘produktionssättningar’ kvar”!
Stressen kring produktionssättningar kan arbetas bort. Målet ska vara en snabb och pålitlig releasecykel, där begreppet “produktionssättning” har avdramatiseras. För att nå dit finns det många faktorer som en utvecklingsavdelning kan arbeta med. Nedan följer ett axplock.
- Utbildning och ständig förbättring. För att lyckas med en snabb och pålitlig releasecykelhantering, så krävs det medarbetare som vill lyckas och som tar ansvar för att tänka på releasecykeln i det arbete de planerar och genomför. Det ska finnas möjligheter att utbilda sig i hur en effektiv releasecykelhantering realiseras och vidmakthålls.
- Versionshantering. Använd ett pålitligt verktyg (t.ex. Git) för versionshantering. Verktyget hjälper till att upprätthålla en ren kodbas, samt tydliga versioner och parallella utvecklingsspår.
- Automatisering. Uppdateringar, tester, deployment, integration. Automatisera mera! Ta bort den mänskliga faktorn ur repetitiva uppgifter, då den i slutänden anses vara mer felbenägen och långsammare än en automatiserad dito.
- Monitorering och loggning. Följ upp vad applikationerna gör, gärna i realtid. Gör monitoreringen synlig och användbar. Alla medarbetare ska ha en känsla för hur applikationerna används: Finns det några fel eller brister? Hur (och hur mycket) används de olika delarna av applikationen? Finns det flaskhalsar gällande prestanda? Vilka delar kommer påverkas av en kommande förändring?
- Kommunikation och feedback. Se till att bygga en kultur där samarbete och kommunikation genomsyrar arbetssättet. Ingen ska känna sig osäker på om den snabba releasekadensen riskerar kvaliteten eller nöjdheten hos användarna.
- Designa för små produktionssättningar och använd Feature toggles. Den här sista punkten i det här axplocket handlar om att skilja “produktionssättning” från “release”. Jag tror att det ofta finns en vilja att “hålla ihop en större release” så att det går att kommunicera färdiga funktioner till slutanvändaren. Det krockar med “en snabb och pålitlig releasecykel”, där man vill iterera utveckling i små inkrement med forum för ständig feedback, tills den dag då man har kommit till den färdiga funktionen. Här spelar Feature toggles, pilotanvändare, betaversioner etc. en viktig roll. Se till att ha tekniker på plats så att små förändringar kan “produktionssättas” utan att det behöver påverka alla användare, men kan påverka några utvalda.
Tomtarnas julstress känner jag är svår att adressera. De har ett releasedatum per år. Och att iterera önskelistan och dela ut delar av julklapparna till några utvalda i förtid, riskerar att förstöra gamla traditioner och den förväntansfulla stämningen på julafton. Tomtarna får helt enkelt stanna kvar i “big bang”-situationen, för att bevara julefriden hos oss andra.