Utvikleravdelingen er død! Lenge leve utvikleravdelingen!

Vidar Moe
Vidar Moe
Sep 17 · 6 min read

Vi har vært på reisen med kryssfunksjonelle team hver dag siden 2014. Vi jobber så svetten siler med å gi teamene våre best mulig forutsetninger for å løse oppgavene sine.

Plutselig en dag oppdaget vi at vi hadde kastet ut babyen med badevannet. Vi hadde optimalisert vekk utviklerkulturen vår.

Hva var det egentlig som hadde skjedd?

Foto fra BigStock

Bakteppet

Vi kan takke Frederick Taylor (1856–1915) for mye. Han populariserte standardisering av arbeidsmetoder. Dette gav oss massiv økning i produksjonsvolum for fabrikker over hele verden. Med på lasset fikk vi også med oss ledelsesprinsipper for å maksimalisere effektiviteten:

  • Finn beste måte å gjøre en oppgave på
  • Dokumenter beste måte å gjøre oppgaven på
  • Tren opp medarbeiderne til å gjøre oppgavene på beste måte
  • Ledere og medarbeidere deler ansvaret for løsning av oppgavene. Lederne skal løse oppgavene de er bedre egnet til, heller enn medarbeiderne

En av utfordringene med disse, er at de har større fokus på å optimalisere enkeltroller heller enn systemet. I tillegg er ledelsesprinsippene er ofte blitt mistolket, eller brukt i feil kontekst. Mange mistolker dem fortsatt, over hundre år etterpå:

  • en bruker rammeverket på arbeidsoppgaver det aldri var ment for å løse
  • en ser bort i fra de kontinuerlige treningsaspektet, dvs. dropper kontinuerlig forbedring

Ta dette og bland det med tradisjonell avdelingsorganisering i underavdelinger som hver for seg er optimalisert for å være så effektive som mulig, dvs at alle i avdelingen til en hver tid jobber opp mot 100 prosent kapasitet, så har vi en standard bedrift. Deler av utfordringene med tradisjonell avdelingsorganisering har vi også erfart i SpareBank 1 IT.

Avdelingsdrevet utvikling

Vi hadde konseptavdeling, arkitektavdeling, prosjektavdeling, forvaltningsavdeling og driftsavdeling. Nye løsninger ble tatt fram i midlertidige prosjektteam, hvor utviklere var leid inn kun med tanke på å utvikle den ene løsningen. Arkitekter støttet opp om prosjektteamet. Arkitektenes utfordring var mange. De var gjerne booket opp i flere prosjekter samtidig , de var få, og de var fullt ut prosjektfinanisert. Dermed fikk de sjelden mulighet til å dykke dypt ned i utviklingen — de måtte løpe til neste prosjekt.

Avdelinger med forskjellige mål — et system optimalisert for konflikt

Når løsningen var ferdig kodet og testet, ble den overlevert til forvaltningsteamet. Dette tok gjerne flere uker, siden koden sjelden var i henhold til standard, og måtte rettes og retestes før handoveren ble godkjent.

Denne måten å jobbe på førte til lav tillit mellom avdelingene, og fremmedgjøring for de som jobbet i dem med de aktuelle løsningene.

Mikrotjenestene gav oss team

Som så mange andre, hadde også vi en stor monolitt som alle de nye løsningene ble merget inn i. Vi fikk større og større utfordringer med å levere i monolitten, og dette medførte at vi startet et arkitekturprosjekt i 2012 for å bryte den opp i flere mindre tjenester — la oss kalle dem mikrotjenester. Da vi gjorde dette, bestemte vi oss for å bruke verdikjedeinngangen for å finne fornuftige deler å dele monolitten opp i. Da ble det også naturlig å lage team rundt verdikjedene. Dette var starten på de kryssfunksjonelle teamene våre. Med stabile team organisert rundt verdikjedene, fant vi svar på mange av utfordringene vi hadde hatt med den avdelingsdrevne utviklingen.

Egne utviklere

Vi hadde hatt 100 prosent konsulentdrevet utvikling fram til 2012. Vi startet reisen med egne utviklere omtrent samtidig som vi startet reisen med microtjenester. I starten var vi totalt omtrent 50 personer som jobbet sammen i et fåtall team og omtrent ti av oss var ansatte utviklere og testere. Vi jobbet sammen, og hadde hyppige avdelingsmøter sammen.

Entusiasmen var høy. I tillegg til å få en mer moderne arkitektur, hadde vi skapt oss et rammeverk som gjorde at vi kunne skalere opp til å støtte flere verdikjeder — og dermed også flere team. Det gjorde vi. I 2017 var vi blitt 15 team.

Samtidig hadde vi ikke evnet å rekruttere egne utviklere i et like høyt tempo. i 2017 var vi gått fra omtrent 10 til omtrent 25 fast ansatte utviklere. Brorparten av skaleringen var gjort med konsulenter.

Oppsigelser

I løpet av seks måneder vinteren 2017–2018 sa seks av utviklerne våre opp.

Hva var det som hadde skjedd?

Det viste seg at vi hadde jobbet så mye med å skape optimale arbeidsforhold for de kryssfunksjonelle teamene våre, at vi hadde kastet ut babyen med badevannet.

I reisen fra et fåtall til da 15 team, ble utviklerne våre spredd tynnere og tynnere utover teamene. Med 25 utviklere på 15 team, så vil de fleste utviklerne enten være ensom som fast ansatt utvikler på teamet sitt, eller i beste fall har en utviklerkollega til i teamet. Den gangen vi var 10 stykker og et fåtall team, så vi hverandre og delte kaffemaskin hver dag. I 2017 var vi blitt 15 team spredd over tre etasjer. Vi traff ikke hverandre lenger. Utviklerkulturen vår var blitt anonym. Tilhørigheten var borte.

Utviklerne går sammen

Oppsigelsene gav oss en skikkelig vekker. Sluttsamtalene var entydige. De som sluttet, følte liten tilhørighet til SpareBank 1 og var ikke fornøyd med den faglige utviklingen sin.

Sommeren og høsten 2018 la vi opp til en rekke grep for å snu dette helt om. Vi ville skape et skikkelig bra fagmiljø med mye sosial trygghet og mye humør. Et sted det er godt å være.

Vi gjorde to fundamentale grep:

  • Vi satte opp utviklerne som en egen fagavdeling. Vi hadde tidligere vært organisert sammen med flere andre disipliner
  • Vi innførte ukentlig fagdag. Du kan lese mer om fagdagen vår her

Fagavdelinger + kryssfunksjonelle team = sant

For å bygge sosial trygghet og sosial tilhørighet i en hverdag hvor en jobber i kryssfunksjonelle team, er fagavdelingene våre blitt viktigere enn noen gang. I fagavdelingen har vi et fast møtepunkt. Der bygger vi kulturen vår, jobber sammen og blir bedre utviklere sammen. Vi mener dette er så viktig at vi bruker en hel dag hver uke på dette. Dette gir oss muligheten til å jobbe sammen på arkitekturutfordringer, ta kurs sammen, jobbe aktivt med blogg- og konferanseinnlegg, og jobbe med personal, rekrutterings- og brandingsaktiviteter. Ved å være sammen og jobbe sammen med disse aktivitetene, skaper vi også sosial tilhørighet og trygghet. Vi skaper utviklerkulturen vår.

Fra standen vår på JavaZone.

Faggruppene våre

I tillegg til det strategiske kompetansearbeidet som foregår i fagavdelingene, gjør vi taktisk og operativt kompetansearbeid i faggruppene våre. Her er også konsulentene med, og de går gjerne på tvers av fagavdelinger. Vi har faggrupper for en rekke fagområder. Eksempler er teamledelse, applikasjonsarkitektur og sikkerhet.

Shift left holder ikke

Shift left er en trend som peker på at en skal flytte en rekke aktiviteter som tidligere typisk dukket opp sent i utviklingsprosessen, for eksempel test og sikkerhetsarbeid, tidligere i prosessen. Vi mener at dette på langt nær er nok for å skape en effektiv utviklingsprosess.

Du skal ikke bare “shift left” — du skal “rotate left”. Du skal bevege deg fra en horisonal avdelingsstruktur med handovers og ressursoptimalisering, til en vertikal verdikjedeorientert struktur, med kryssfunksjonelle team som jobber flytoptimalisert.

Vi må dyrke kulturen og den faglige tilhørigheten. Dette gjør vi i fagavdelingene og faggruppene våre. Samtidig er det i verdikjedene forretningsverdiene skapes. Da er de vi må optimalisere, og i de vi må jobbe.

Synes du dette var interessant, så pratet Jostein Emmerhoff og jeg mye mer om dette teamet på JavaZone 2019. Foredraget finner du her.

Vidar Moe

Written by

Vidar Moe

Loves creating great, simple software solutions using continous learning and respect for people.

SpareBank 1 Utvikling

Vi jobber med digitale løsninger hos SpareBank 1. Vi liker å skrive om det vi brenner for

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade