Derfor ble Windows Vista så forsinket

For halvannet år siden snudde Microsoft helt om på sin utviklermetodikk. Hele Vista-prosjektet ble gjort om.

Forsinkelser i programvareindustrien er mer det normale enn det oppsiktsvekkende. Likevel, Microsofts forsinkelser knyttet til neste utgave av Windows, Windows Vista, tidligere kjent ved kodenavnet «Longhorn», har vært langt større enn det som er normalt. Det har likevel ikke vært helt klart hva som har vært årsakene til forsinkelsene. Kanselleringen av filsystemet WinFS ga en pekepinn, men en artikkel publisert i Wall Street Journal i dag, gjør det hele mye klarere. Microsoft var i ferd med å møte veggen. Ikke økonomisk, selvfølgelig, men i forbindelse med håndteringen av programmeringen av all funksjonaliteten som skulle inn i Windows Vista. Den nye utgaven var så kompleks at utviklerne aldri ville kunne få den til å kjøre skikkelig.

    Les også:

Den av lederne i Microsoft som først så dette, var Jim Allchin, nå leder for den nye Platform Products and Services-divisjonen i Microsoft. Han skal en dag i juli fjor ha kommet inn på kontoret til Bill Gates og fortalt rett ut hvor landet lå.

Årsaken til problemene skal ha ligget i måten Microsoft har utviklet Windows på gjennom årene. Tusenvis av utviklere har laget hver sin bit av koden, som så heftes sammen til et eneste, utflytende program. Denne metodikken stammet helt fra 1980-tallet og ble tatt i bruk fordi PC-brukerne ønsket ny og nyttig funksjonalitet så raskt som mulig. At løsningene var alt annet enn feilfrie, ble tolerert eller ignorert av brukerne.

Allchin og andre så på hva både nye og gamle rivaler, blant annet Apple, Google og Mozilla, hadde greid å både levere og forbedre av innovative produkter og tjenester i løpet av de siste årene. De kom til at Microsoft måtte gjennomgå en omfattende endring i forbindelse med selskapets viktigste produkt.

Tanken var å utvikle en fast kjerne for Windows som ny funksjonalitet kunne legges til enkeltvis.

Ifølge Wall Street Journal har Allchin alltid vært opptatt av kodedisiplin. Men i perioden etter at han kom til Microsoft i 1990, mens Microsoft virkelig vokste seg stort, var det lite han kunne gjøre. Så snart Microsoft var ferdig med én Windows-versjon, gikk man i gang med den neste.

Longhorn-prosjektet startet opp på den samme måten, og Allchin så snart at hans frykt ble virkelig. Målet var å lage en ny «build» hver kveld, fikse feilene og så gå tilbake for å forbedre funksjonaliteten den neste dagen. Men med 4000 utviklere som skriver kode hver dag, ble testing av dette en umulig oppgave. Når en feil dukket opp, måtte testerne ofte manuelt lete gjennom tusenvis av kodelinjer for å finne årsaken til problemet.

På samme tid måtte Microsoft bruke mange av sine beste utviklere for å løse sikkerhetsproblemer som var oppstått på grunn av nettopp de mange lappingene som var blitt gjort av operativsystemet.

– Skipet var på vei til å grunnstøte, sier Allchin til Wall Street Journal.

I slutten av 2003 tok Allchin kontakt med to andre Microsoft-ansatte, Windows-veteranen Brian Valentine og nykommeren Amitabh Srivastava. Sistnevnte tegnet et kart over hvordan Windows-komponentene passet sammen. Ifølge Wall Street Journal var kartet åtte fot høyt og 11 fot bredt og så ut som et tilfeldig jernbanekart med hundrevis av spor som krysset hverandre.

Konkurrentene, for eksempel Google, men også Microsofts egen MSN-avdeling, hadde løsninger som fungerte som Lego-klosser. De hadde én enkel funksjon og var designet for fungere i et større hele. En slik tilnærming gjør det langt enklere å gjøre endringer og tillegg etter behov og ønske.

Blant annet ble Googles inntreden på programvaremarkedet for PC med Google Desktop Search, ansett som spesielt alarmerende hos Microsoft.

Srivastava og Valentine mente at Windows kunne designes slik at selskapet enkelt kunne legge til eller trekke fra en ny funksjonalitet uten å få hele systemet til å bryte sammen. Men dette innebar at man måtte starte med en fersk grunnmur og at flere år med Longhorn-kode måtte kastes ut. Dessuten måtte man utsette alt som ikke var kjernefunksjonalitet til senere, inkludert filsystemet WinFS. Et annet krav var automatisk utluking av feilbefengt kode.

Allchin og hans menn møtte motstand, ikke minst hos Bill Gates. Han var ifølge Wall Street Journal frustrert over at det kun ble snakket om prosessen, ikke om hvordan utviklergruppene reagerte på den.

Det viste seg at mange utviklere var imot denne omveltningen, som blant annet kunne føre til utestenging av utviklere som leverte kode med mye feil – feil som ble oppdaget av de automatiserte kontrollsystemene som Srivastava og Valentine hadde foreslått. Men ved hjelp av demonstrasjoner gjort av blant annet den aktede utvikleren Dave Cutler, en ivrig forsvarer av god kodekultur, i tillegg til uttalelser som denne fra Valentine:

«Is your code perfect? Are you perfect? If not, you should shut up and support this effort!»

begynte også de mer kritiske utviklerne å samarbeide. Dette, sammen med at Srivastavas gruppe arbeidet hardt med å forbedre verktøyene som ble brukt, skal ha ført til gradvis forbedring av Longhorn-koden. Tiden for å lage en ny «build» ble redusert til noen få dager, noe som åpnet for en raskere utviklings- og testsyklus av ny kode.

Et av medlemmene i Valentines gruppe, G. S. Rana, forteller til Wall Street Journal at da Microsoft leverte den første betautgaven av Longhorn i juli år, hadde erfaring fått Windows-teamet til å forvente seg titusener av rapporter om problemer fra kundene. I stedet skal antallet ha vært noe få tusen.

Wall Street Journal mener det fortsatt vil ta år før Windows kan bli så fleksibel at Microsoft kan pumpe ut ny funksjonalitet raskt. Men det virker klart at det er et kulturskifte på gang i selskapet, noe som kan bety en bedre opplevelse for de som velger å oppgradere til Windows Vista. Om ikke den nye funksjonaliteten er tilstrekkelig, så vil kanskje løftene om bedre stabilitet og færre sikkerhetshull være det.

Også Microsofts Office-gruppe skal nå ha begynt å bruke noen av Srivastavas verktøy for å forbedre koden.

Til toppen