Hur sprider man kunskap på en utvecklingsavdelning?

Prototyp på gång, Schibsted Hack Day 8

På en hyfsat stor utvecklingsavdelning som på Aftonbladet finns det otroligt mycket värdefull kompetens och erfarenhet – och det ackumuleras mer för varje dag. När finns det tid tror du att sätta sig spontant och dela med sig av denna rikedom mellan de 6-8 teamen? Svaret är förstås: aldrig.

Man kan då rycka på axlarna och fortsätta snickra på varsitt hjul i varje team eller helt enkelt ta sig den tiden och försöka vaska fram kunskap som alla har nytta av. På Aftonbladet har vi valt det senare alternativet. Vi såg det som strategiskt viktigt att prata om varför vi gör saker på ett visst sätt. Vilka verktyg vi använder när vi utvecklar, vilken metodik som har funkat bäst och vilken ny teknik som verkar intressant i de olika teamen. Vi bildade därför Utvecklingsstrategigruppen (USG) med representanter från alla team (som vill). Det första namnförslaget var Strategiutvecklingsgruppen och jag lämnar till läsaren att lista ut varför vi inte valde det namnet.

Vi utvecklare är oftast möteströtta, så mötena är korta (1h/vecka) och bara de representanter från teamen som är intresserade är med. Det är ett utmärkt tillfälle för en utvecklare att driva en viss fråga, t ex “Varför tar det så lång tid att sätta upp en server?” USG diskuterar då detta och vi ser till att börja använda t ex Puppet för att korta ned tiden för just den aspekten av ett utvecklingsprojekt. Det kommer fram små ändringar som sammantaget förbättrar leveransen från hela avdelningen.

Deltagarna behöver inte förbereda sig så mycket för ett möte. Oftast är man riktigt nöjd med en lösning som man vill dela med sig eller otroligt irriterad på att något saktar ned ens utvecklingsarbete. Om man är tillräckligt entusiastisk och har bra argument får man med sina kollegor och får till stånd en ändring. Om ett ämne känns extra angeläget kan man ha ett temamöte bara om detta nästa gång.

USG försöker hålla sig till en agenda för att det ska bli lättare att följa upp:

  1. Bra saker som alla team borde göra, t ex “Har ni testat LESS?”
  2. Dåliga saker som borde åtgärdas, t ex “Fan vad meckigt det är att söka igenom loggar!”
  3. Utvalda bra/dåliga saker att åtgärda, “Kalle, håller du en utbildningstimma om LESS?” eller “Lisa, du nämnde Splunk. Kollar du in det till nästa USG?”
  4. Uppföljning utvalda saker under åtgärd, t ex “Hugbert, hur går det med Puppet-utvärderingen?”
  5. Kompetensinsatser, t ex “Bra Kalle då kör du på fredag?”
  6. Övrigt, t ex “Heads up! Det här är kända buggar i YUI2”

Vi för minnesanteckningar på USG-möten och publicerar dessa internt på avdelningen så fort som möjligt efter mötet. Det är viktigt att allt är öppet och tillgängligt så att alla får en känsla för hur diskussionerna går. USG har egentligen inget särskilt mandat, men en rekommendation från gruppen räcker långt. Det händer också att chefer som är pro-aktiva läser anteckningarna och agerar på ärenden som behöver lyftas en nivå.

Nå, så vad har USG sysslat med under 2012?

Gruppen har träffats 24 gånger och tagit upp 23 bra tips hur teamen kan förbättra sitt arbete. Vidare har USG diskuterat 28 förbättringsområden och medverkat till en genomförd förbättring på avdelningen i 40 fall (både från bra tips och förbättringsområden). Exempel på tips och förbättringar som genomförts:

  • Standardisering av teknik (t ex YUI, LESS, Grunt) på avdelningen har medfört kodutbyte och kompetensöverföring mellan team
  • Temadag och föreläsningar inom Delivery Pipeline har spunnit loss förbättringar i driftsättningskedjan, t ex Bamboo och Puppet
  • Bättre möjligheter att dokumentera (ny Wiki) med uppdaterad dokumentation som följd
  • Effektivare stå-upp-möten med digitala whiteboards på ny Touch-skärm 65″
  • Nya datorer har medfört snabbare utvecklingsmiljö

Schibsted Hack Day 9, katten med nio liv

USG har dessutom genomfört 9 interna utbildningstillfällen (kompetenstimme), beslutat rekommendera 18 teknikval (t ex New Relic, YUI3, LESS, Play framework, Puppet, Bambooo) och diskuterat 19 nya tekniker (t ex Scala, Dropwizard, Akka, WRO4J, Google Guava, Splunk). Under året genomförde USG också 2 st “Schibsted Hack Day” som är en maratonprogrammeringsdag för nydanande prototyper som redovisas dagen efter i en öppen presentation i Schibstedhuset.

Feedback tas gärna emot på Twitter: @ocklund


A Holistic View on Developer Productivity

What does developer productivity mean, really? Is it churning out more code or less code? Is it to have less bugs in production or shipping code more often? Is it doing a lot of things or just one thing? Let’s think about this for a moment. I believe developer productivity is about getting more things […]


Improving the usability of Aftonbladet Video-clip pages

We have recently started the process of improving the usability of video-clip pages. In order to get an idea of where Aftonbladet stands compared to other world-class online video/news providers, we conducted an online test answered by 110 visitors of Aftonbladet TV. In this test we compared their perception of an Aftonbladet TV video-clip page […]


Schibsted’s 1st iOS Deployment Meet-up

Schibsted’s 1st iOS Deployment Meet-up Thursday, 28th of April 2016: getting to know each other, guests arrive Friday, 29th of April 2016: the meet-up date We here at Aftonbladet had been planning on having a meet-up with iOS developers across various Schibsted companies for many months. We had a range of topics in mind for […]


Hackday: The Future of Storytelling is social, engaging and rewarding

We gathered students, journalists, developers and designers to get together and conceptualize something new for the news industry. This was our first organized hack event – The Future of Storytelling Hack. The hack was a team-based, news-media-focused prototyping and experimentation event within storytelling over two days at Kungsbrohuset, Schibsted and Aftonbladets headquarter in Stockholm. A good story used to […]