Denne artikel stammer fra det trykte Computerworlds arkiv. Artiklen blev publiceret den Computerworld d. 23. juni 2006.
Microsoft-blogger løfter sløret for, hvorfor Vista er forsinket.
Samme uge som Bill Gates meddelte, at han vil trække sig tilbage fra ledelsen af Microsoft og hellige sig velgørenhedsarbejde, dukkede et interessant blog-indlæg op på en af de godt 3.000 blogs, som Microsoft-ansatte skriver. Bloggeren med signaturen PhillipSu skrev om udviklingen af Microsofts kommende operativsystem Vista. Artiklen giver et spændende indblik i, hvordan en stor udviklingsorganisation som Microsoft opererer.
Under overskriften "Broken Windows Theory" skitserer PhillipSu, som har fem års erfaring som leder af Windows-udviklingsgrupper, en række karakteristika ved Windows Vista-udviklingen. Han forsøger at forklare, hvorfor udviklingen af Vista har taget så lang tid og gentagne gange er blevet forsinket. Først og fremmest er der tale om et operativsystem, der er vokset til mange millioner linjers kode. Hvor Windows XP er på omkring 40 millioner linjer, nærmer Vista sig 50 millioner linjer. Ifølge PhillipSu er det en årsag til Vistas forsinkelser.
Windows-koden er alt for kompliceret ifølge PhillipSu. Det er ikke de enkelte komponenter i sig selv, men sammenhængene mellem komponenterne, der gør Windows kompliceret og uigennemskuelig. Et arkitektur-diagram over Windows vil ifølge PhillipSu bestå af 50 lag med mange afhængigheder mellem de forskellige lag. PhillipSu vurderer, at man efter fem år måske forstår to af lagene.
PhillipSu nævner ikke noget om historien sidste sommer i Wall Street Journal om, at Microsoft i erkendelse af Vistas kompleksitet ganske enkelt valgte at skrotte meget af koden til Vista og starte forfra. Dog skriver han "Men kode kan simplificeres og arkitekturen kan ændres (og det bliver den også af en håndfuld veteran-arkitekter i Windows)."
Redesign eller ej; Vista-kompleksiteten har ført til, at Windows-udviklernes produktivitet er lav. Der er omkring 2.000 Microsoft-udviklere, der arbejder med Windows. PhillipSu vurderer, at hver enkelt udvikler skriver omkring 1.000 linjers kode om året. Til sammenligning skriver den gennemsnitlige amerikanske udvikler 6.200 liniers kode om året. Men det er ikke kun et spørgsmål om Vista's arkitektoniske kompleksitet, som gør Vista til en projektmæssig udfordring.
Udviklingsprocessen er blevet for stor og besværlig. Selve organiseringen af udviklingsarbejdet er en hæmsko og et ledelseshierarki med mange beslutningstagere forsinker udviklingsprocessen.
PhillipSu beretter eksempelvis om et review-møde, hvor der sad seks vice presidents og 10 general managers.
- Når så mange har et ord at skulle have sagt, bliver tingene hurtigt forvirrende. Med så mange chefer i det samme rum, vil de desuden ofte have indgået aftaler med hinanden, inden mødet, så det sikres, at ingen bliver hængt ud, skriver PhillipSu.
Desværre sikrer den slags aftaler også, at man ikke får identificeret de egentlige problemer. Og det er et af de væsentligste problemer i Vista-udviklingen:
Sandheden er ikke altid velkommen i Microsoft - især ikke hvis det drejer sig om deadlines, som ikke kan overholdes, mener PhillipSu. Det skaber problemer for Vista. Som PhillipSu skriver:
- Windows kan være et skræmmende sted at fortælle sandheden. Når en vice president i Windows spørger, om dit team vil være klar til tiden, kunne han lige så godt have spurgt, om han ser tyk ud i sit Armani-jakkesæt.
PhillipSu fortsætter med at berette om et udviklingsteam, der i meget god tid gjorde opmærksom på, at deres del af Vista-udviklingsplanen var umulig at overholde. Beskeden tilbage fra den ansvarlige vice president var, at "de skulle finde ud af at få det til at hænge sammen" - inden for den givne deadline. Udviklings-teamet gennemgik planen igen og prøvede at få den til at hænge sammen med den ønskede deadline. Forgæves. Da de rapporterede tilbage til manden, lød det: "I er kloge folk, find en vej!". Sådan gik et par uger, uden at udviklingsteamet kunne få planen til at hænge sammen. Til sidst indså de, at der kun var en vej. Væk fra sandheden.
- De stoppede med at fortælle sandheden. "Ja, alt passer. Vi skar og skar (i udviklingsaktiviteternes tid, red.) og her er vi. Vista kommer til august...", skriver PhillipSu.
Broken Windows Theory
Da PhillipSu lagde sin artikel ud på bloggen, var det med ønsket om en åben og fri debat om systemudvikling af store, komplekse systemer. Derfor vakte det stor opmærksomhed i blogosfæren, da artiklen blev slettet torsdag 15. juni. Var Microsoft-bloggen blevet censureret? Nej, ifølge PhillipSu var det hans egen beslutning at fjerne artiklen.
- Jeg fjernede indholdet, fordi der ikke var nogen produktiv diskussion. Af de 160+ kommentarer var der omkring fem som havde reel værdi for en fordomsfri og åben diskussion, skrev PhillipSu. Hans indlæg er nu igen tilgængeligt på Microsofts blog-site.
Læs mere på http://blogs.msdn.com/philipsu/
Kodelinjer som udtryk for produktivitet
KLOC (Kilo Lines Of Code - 1.000 linjers kode) er en måleenhed, der anvendes til at måle udvikleres produktivitet. Den angribes for at være en meget simplificeret måleenhed. Kritikere hævder, at velgennemtænkt kode fylder mindre end kode, der er skrevet uden omtanke.
OriginalModTime: 22-06-2006 15:14:45