torsdag 24. mars 2011

Hvorfor Altinn-serverne fikk trøbbel!

Altinn serverne til Brønnøysundregistrene gikk ned under press fra brukerne, til tross for rigide testprosesser, ytelsestester, og nasjonale eksperter fra Accenture og Basefarm på høyytelsessystemer. Hvordan er det mulig? Og hvorfor finner de ikke feilene?

Nettavisene og venner på Facebook og Twitter klager på Basefarm som drifter serverne, uten å vite årsakene til feilene. Personlig erfaring fra lignende systemer har lært meg at feilene veldig sjeldent ligger hos driftsleverandøren, men oftest ligger i programvaren/arkitekturen og deres samspill med maskinvaren ved ekstrem belastning.

Systemer som Altinn består av mange ulike servere og programvaresnutter som kommuniserer med hverandre. Databaser, 3dje parts programvare, webservere, casheløsninger, autentiseringsprogramvare og filservere er alle avhengig av hverandre, og dersom en feiler vil det spre seg til alle avhengige løsninger. En liten programmeringssnutt kan oppføre seg helt normalt, helt til brukerne logger seg på i tusentall per minutt. Den lille snutten med feil vil henge noen få mikrosekunder, før andre avhengige programeringssnutter også stopper opp. En driftsansvarlig vil se at hele systemet henger, og vet ikke hvilken av de hundretalls ulike komponenter feilen først oppsto i. Dermed starter detektivarbeidet med å finne årsaken til feilen.

Brønnøysundregistrene har sannsynligvis i perioden rettet mange symptomer, og dermed optimalisert løsningen gradvis. Men de har fortsatt ikke funnet den egentlige feilen, dersom en slik årsak finnes. De har heller ikke lyktes med å gjenskape feilen i eget testmiljø, da den kun oppstår under høyt trykk i produksjonsmiljøet (og da kun 1 gang i året ved slipp av ligningen).

Tradisjonell organisering av utvikling/driftsmiljøet vil også komplisere feilsøkingsarbeidet. De fleste selskaper er basert på en mistillit mellom utviklerne og drift. Utviklerne sitter i et utviklingsmiljø, og leverer sin kode over til et testteam noen måneder før lansering. Et eget testteam vil gjennomteste løsningen, og når den er funnet OK overleveres koden til drift. De fleste utviklerne kjenner derfor ikke til driftsmiljøet, og har ikke tilgang til produksjonsserverne. Dette er det kun drifterne som har, som ofte består av personer som IKKE har utviklet løsningen. Å nekte utvikling tilgang til produksjon er ofte krav fra drift skal de være i stand til å levere en oppetidsgaranti (Basefarm kan ikke love noe så lenge fremmede ressurser klår på produksjonsserverne). Dermed blir det en kløft mellom utviklermiljøet og driftsmiljøet, og det blir veldig vanskelig å finne denne sannsynligvis programvareinitierte feilen.

Les også: Utvikling er enkelt, det er drift som er vanskelig!

Eneste mulighet for å finne feilen er dermed et samarbeid mellom drift og utvikling. Man må installere analyseverktøy på serverne, og med kunnskap i programvare og hvordan denne påvirker maskinvaren kan man sakte men sikkert finne årsaken til feilen. Slike programvare/maskinvareressurser er ofte en mangelvare i de fleste driftsmiljøer grunnet organiseringsformen og kløfta mellom drift og utvikling.

Jeg vil dermed ønske Brønnøysundregistrene lykke til i feilsøkingen, og håper at dette blir en motivasjon for å endre testrutiner og bryte barrierene mellom ulike kompetanseområder.

Selv har jeg ingen tilkobling til Brønnøysundregistrene, Accenture eller Basefarm, og dette er en generell kommentar til driftstrøbbelet.

tirsdag 22. mars 2011

Outsourcing av kunnskap

Outsourcing eller insourcing? Artiklene er mange og debatten alltid stor. Som ansatt i store norske teknologiselskaper har jeg jobbet mye med både outsourcing og insourcing, både på kunde- og leverandørsiden. Jeg har opplevd enorm suksess med outsourcing, men også det motsatte. Min erfaring kan oppsummeres i 2 hovedpoeng:
  •  Outsourcing av oppgaver på utsiden av kjernekompetansen skaper ro og økt effektivitet
  • Mange outsourcer oppgaver som burde ha blitt definert som kjernekompetanse, og som på sikt fører til redusert innovasjonsevne og dermed redusert konkurransekraft
De fleste kunnskapsbedrifter har personellkostnad som den høyeste kostnaden. En observasjon jeg har gjort blant toppledere, er at de har et nesten mekanisk syn på de ulike kompetanseområdene. Den ulike kompetansen er plassert i en avdeling, slik som salg, utvikling, markedsføring og produkt. Hver avdeling har sine klart definerte grensesnitt, eksempelvis utviklingsavdelingen arbeider etter en kravspesifikasjon, og markedsavdelingen jobber etter oppdrag fra produktavdelingen. Konsekvensen av dette ledelsessynet, organiseringsformen og de klare grensesnittene, er at avdelingene egner seg til outsourcing til lavkostland. For en toppleder kan det virke som om man får utført den samme standardiserte jobben til en lavere kostnad. Denne kostnadsdifferansen er så stor, at man kan håndtere en økt transaksjonskostnad og en lavere effektivitetsgrad enn om denne jobben hadde blitt utført i Norge.

Men virkeligheten er ikke så enkel som enkelte sjefer vil ha det til. De fleste bedrifter har en uformell organisering gjennom personlig nettverk. Ideskaping, problemløsning og effektivisering skjer gjennom diskusjoner, forståelse og innsikt i hverandres arbeidshverdag. Jeg har et eksempel fra en kunnskapsbedrift jeg jobbet for, hvor sentralborddamene var sentrale for kunnskapsdelingen. De hadde laget seg sitt eget system så de kunne finne fram til viktige rapporter og nøkkelpersoner for kunder, men også for de ansatte. Heldigvis kom dette fram før sentralborddamene ble byttet ut med et automatisk callsenter. Hadde man gjennomført denne endringen uten å ta hensyn til kunnskapsdelingen, ville man ha redusert selskapets evne til å lære av hverandre. De første månedene ville man kun ha opplevd en bedring i økonomien, men på sikt ville de negative konsekvensene ha kommet snikende utenfor radaren til sjefenes diagrammer og måleparametre. Resultatet ville ha blitt redusert konkurransekraft med påfølgende mulig redusert vekst.

Andre ganger kan en funksjon eller avdeling føre til mer støy enn glede. Jeg har tro på enkelhet i alle selskaper, og en rekke interne systemer og driftsoppgaver kan med fordel outsources til eksterne partnere.

Hva man bør outsource vil også endre seg over tid. Går man noen år tilbake finner man bedrifter som hadde bilverksted, da man var avhengig av å ha et fungerende distribusjonsnettverk (hører rykter om at slike verksted fortsatt eksisterer). Dyktige ansatte på verkstedet kunne sørge for en mer stabil distribusjon, med tilhørende økt konkurransekraft. Utviklingen har derimot sørget for stabile bilparker og en drift av denne som med letthet kan outsources.

Hvor dukker den store nye ideen for ditt selskap opp? Det er ikke sikkert at det er knyttet til din virksomhets tradisjonelle kjerneområde! Eksemplene er mange på selskaper som har tjent gode penger på det som man oppfattet som støttetjenester. Amazon har blant annet bygget opp en driftstjeneste, IBM har reetablert seg som et konsulentselskap, 3Com vokste seg store grunnet salg av nettverksadapter og protokollen (i motsetning til den opprinnelige forretningsmodellen som var helt forskjellig). For Platekompaniet er digital kompetanse nå kritisk, også på ledersiden. Kjernekompetansen bør derfor defineres med varsomhet, med et blikk inn i fremtiden.

Et eksempel på en lite fordelaktig outsourcingsstrategi kommer fra norske Think, som hadde en strategi på å kjøpe batteriteknologi fra underleverandøren Tesla. Men Tesla, som også produserer biler, hadde nok med å levere batteri til seg selv og sa dermed opp avtalen med Think noe som førte til forsinkelser. Think har nå fått Ener1 som en ny batterileverandør, som også er kommet inn på eiersiden. Da kan det se ut som om kjernekompetansen for elbilbransjen er batteriproduksjon, og det er batteriprodusentene som vil stikke av med de største marginene for fremtiden.

Telenor Norge forsøkte rundt 2004 å outsource sin interne innovasjonsevne til partnere, hvor man la ned interne utviklings og R&D avdelinger. I stedet kom avtaler mot Microsoft, Accenture, EDB og IBM på plass. Microsoft avtalen har ikke ført til noen store innovasjoner, ut over en del standardløsninger hvor Telenor har mange konkurrenter og marginene er presset. IBM ble saksøkt av Telenor, mens Accenture og EDB har tjent gode penger på å drifte Telenors støttesystemer. Kostnadsgevinsten for Telenor ble umiddelbart synlig, men hva har de reduserte mulighetene kostet?

Tips for outsourcing:
  • Ha en klar oppfatning om framtidens muligheter og utfordringer. Du ønsker å ha kontroll på den viktigste delen av din framtidige forretningsmodell.
  • Se forbi “Not Invented Here” syndromet, og outsource støttefunksjoner og standardiserte løsninger du lett kan kjøpe fra underleverandører hvor grensesnittene og forventningene er klare.
  • Vær klar over at outsourcing av funksjoner mer eller mindre fører til at all innovasjon innenfor området blir til nye markedsmuligheter for din underleverandør, og økte kostnader for deg
  • Ved outsourcing, vær en profesjonell bestiller med ryddige og klare grensesnitt, med god kommunikasjon mellom deg og underleverandøren.
  • Vær klar over at outsourcing fører til at mange småoppgaver som din interne avdeling løste, ved outsourcing må løses av den ansatte selv.
  • Kunnskapsflyten reduseres ved outsourcing, og man bruker lengre tid på å lære av sine feil. Jobb derfor aktivt med kunnskapsflyt mellom din underleverandør og ditt selskap.

tirsdag 1. mars 2011

Om dominant logikk i lederteam

Og om Diversity Icebreaker

Driver du feelgood-ledelse? Rundt omkring i Norges land finnes det utallige ledergrupper og team som diskuterer samme tema om og om igjen. Personlige konflikter, demotiverte medlemmer, krangling og dårlig nattesøvn er mer vanlig enn vi tror. Fristelsen til å bytte ut uromomentene er derfor stor, slik at man får en harmonisk ledergruppe eller team som glatter over uoverensstemmelsene. Faremomentet med harmonien er at all kritikk forstummer, og med en dominant mentalitet mister teamet evnen til å forstå hva som foregår i markedet. Selv har jeg pratet med medlemmer i Norsk Datas ledelse, hvor påstanden var at de led av en dominant logikk hvor all kritikk ble forstummet.

Jeg tror derfor et lederteam må bestå av ulike kommunikasjonstyper, men at man må ha noen enkle spilleregler som gjør at man kan sameksistere.

    Notis: Jeg har gjennom bitter erfaring lært at ulike kommunikasjonstyper er viktig, mens ulikt verdigrunnlag er katastrofalt. Dersom du har en bedriftskultur hvor ansatte hjelper hverandre, er det katastrofalt å få inn en leder som skal klare seg selv og ser ned på de som trenger hjelp. Eksempel fra media er Knut Tørum som ble sparket ut av RBK, hvor etter min mening kulturforskjeller er årsaken. RBK er kjent som et fotballag med et sterkt verdigrunnlag.


Ulike kommunikasjonstyper

Jeg skal innrømme det, jeg er blitt forelsket i et rammeverk som heter Diversity Icebreaker. Diversity Icebreaker påstår at vi alle har tre kommunikasjons og samarbeidsmåter, hvorav en av disse er dominante:

    Blå: Personer med sterk blå preferanse er mer opptatt av å være konkrete og praktiske. De liker å beregne seg fram til løsninger på en systematisk måte. De er opptatt av at ting skal være nyttige og tjene en hensikt. Kommunikasjonens formål er å sørge for at oppgaver blir løst på en presis måte. I beslutningsprosesser er de tilhengere av at fakta legges fram, og av at argumenter veies ut fra nytteverdi og måloppnåelse. De er opptatt av at sluttresultatet skal være presist og riktig på detaljnivå. De har en tendens til å tenke seg om og vurdere konsekvenser før de sier noe eller gjør noe konkret. De fokuserer målrettet i den hensikt å fullføre en jobb. De er lite dominante sosialt, og er ikke de som oftest prater om følelser eller lar seg rive med i fantasiens verden. De oppsøker ikke spenning for spenningens egen skyld og lar seg ikke rive med i positive følelsers frie løp.

    Rød: Personer med sterk rød preferanse liker å være sammen med andre mennesker. De har mange venner og får mye energi gjennom samvær og dialog. Personlig og entusiastisk budskap er viktig for å vinne fram. De oppnår lett trygg og åpen dialog med nye mennesker. De er åpne om egne følelser og opplever det lett å samtale om dette med andre. Samtidig viser de respekt og tålmodighet overfor andre. Harmonien i den sosiale sammenhengen er viktigst, noe som gjør at konkret arbeid kan bli nedprioritert. Kommunikasjonens formål er å sørge for inkludering og samhold.

    Grønn: Personer med sterk grønn preferanse trigges lett av nye idéer og muligheten til å gjøre ting annerledes. Uvanlige og utradisjonelle idéer og løsninger vekker disse personenes entusiasme. De liker å dukke ned i problemstillinger samtidig som de leter etter helhetsforståelse og nye vinklinger på oppgaven. Dette gjør at de mange ganger kommer fram med fantasifulle løsninger som kopler sammen idéer fra ulike områder. De er ambisiøse og setter høye mål, gjerne med vide perspektiver på morgendagens muligheter.

Selv er jeg dominant grønn, med rød som nummer to. Ethvert selskap og team trenger alle tre preferanser. Det er de blå som driver selskapet, de røde som skaper selskapskulturen, mens de grønne får selskapet til å vokse og endre seg. Dessverre er det slik at de grønne og blå irriterer seg over de røde som alltid skal bruke god tid og bli kjent, de røde og grønne irriterer seg over de blå som alltid skal ha tall og fakta på bordet før de tar en beslutning, mens de røde og blå irriterer seg over de grønnes hoppende argumenter og rastløshet.

Når jeg kjører en Diversity Icebreaker sesjon for et team gjennomfører vi først testen, for så å dele opp i minst tre grupper (en for hver farge). Jeg kan på forhånd fortelle hvem som blir først ferdig med gruppearbeidet (de grønne), hvem som blir sist ferdig (de røde), og hvem som kjører den mest strukturerte presentasjonen (de blå).

Etter en workshop er gleden og entusiasmen stor. Størst er gleden hos de som alltid har vært annerledes i selskapet, og kjenne på at de har en viktig rolle. Første gang jeg gjennomførte testen som nyansatt i Devoteam daVinci, fikk jeg en sterk oppvåkning. Tanken gikk mot de utallige ledermøtene hvor vi diskuterte beslutninger, og hvor vi brukte vår farge på budskapet. Spesielt husker jeg en episode hvor jeg skulle be min “røde” sjef om tillatelse til å endre min enhets organisering. Beslutningsgrunnlaget var etter min mening meget godt (grønt/blått budskap), men han var ikke enig. I frustrasjon etter nesten to timers diskusjon ropte jeg tilslutt ut: ”De ansatte har det ikke bra, vi må gjennomføre dette!” Til min overraskelse var dette det argumentet som fikk han til å gi meg et endringsmandat.

5 Spilleregler for bedre sameksistens i ledergrupper og team
  1. Lag en god visjon/fundament for selskapet: Så alle ansatte kan selv få tillit til å jobbe uten detaljkontroll 
  2. Ta tydelige beslutninger: Lag en tydelig beslutningsprosess som tar med seg alle fargene i beslutningsgrunnlaget, og respekter beslutningen for ettertiden 
  3. Dyrk forskjellene: Erkjenn at vi ikke er like, og gi de ulike fargene spillerom så de kan gjøre sin jobb uten detaljkontroll og mistillit 
  4. Senk tempoet: En grønn leder som kaster opp baller trenger noen som lander de. For mange baller blir kaos, og kaos er ikke produktivt (men øker overhead og transaksjonskostnaden) 
  5. Fordel roller med kløkt: En med blå preferanse som skal lede et innovasjonsprosjekt vil levere, men nok aldri noen innovasjoner
    PS: Som en grønn/rød person så erkjenner jeg at mitt budskap er grønt/rødt. Det er derfor sannsynlig at jeg dermed tiltrekker meg grønn/røde lesere (selv om jeg kjenner noen blå lesere). En med blå preferanse vil nok synes at budskapet er fullt av synsing og med alt for få referanser til andre kilder, noe han selvfølgelig har rett i. Unntaket er de blå som har kjent dette fenomenet på kroppen selv!