I likhet med flere andre store imperier har IBM sine egne æresbevisninger. Den største æren en IBM-ansatt teknologi kan få, er å bli utnevnt til «IBM Fellow». Av selskapets godt over 200 000 teknologer er det bare fire eller fem som hvert år utnevnes til «Fellow». Lista ligger høyt, og det stilles krav til at man kan forventes å gi store bidrag også etter utnevnelsen.
Grady Booch fikk utmerkelsen i 2003, noen uker etter at IBM kjøpte Rational Software der han hadde status som forskningssjef – «Chief Scientist». Han fikk stor frihet til å forme en utviklingsstrategi for Rational i IBM-familien, og tilkjennes mye av æren for ideene bak Rationals nye plattform Jazz for integrering av alle typer verktøy for utvikling, testing, kvalitetssikring og så videre.
En av grunnene til hans status som IBM Fellow er at han er et av opphavene til UML – «Unified Modeling Language» sammen med Ivar Jacobson og James Rumbaugh.
En annen er boka Object Oriented Analysis and Design fra 1993 der han presenterte sin egen «Booch method» for programvareutvikling.
I mars i år ble Booch utnevnt til forskningssjef i IBM, med tittelen «Chief Scientist, Software Engineering, IBM Research». Det gir ham anledning til å være enda mer urokråke. Han ser det som erkjennelse også av utallige små seire han har vunnet internt i IBM-byråkratiet, som da han var ny i IBM og måtte kjempe for å få lov til å bruke Mac i det nye strikse og reglementerte Windows-miljøet.
– De måtte gi seg, smiler Booch fornøyd. – Det var viktig for meg at de ikke red kjepphester mot kreativiteten.
Digi.no treffer Booch på Rationals utviklertreff i Orlando, sammen med en liten gruppe teknologijournalister. Utviklertreffet er viktig for Booch: Han måtte unnvære samlingene i 2006 og 2007 for å nedkjempe kreften. Mannen stråler av glede over å ha vunnet også i denne arenaen.
– Jeg fokuserer ikke lenger på Rational i min forskning. Min rolle er nå å finne opp framtiden og ødelegge byråkratiet. Jeg skal skake opp IBM-ledelsen. Energien min får utløp i tre baner: Hvilke følger utviklingen innen maskinvare får for utviklingen av programvare; virtuelle verdener som områder for samarbeid mennesker i mellom, og hvordan mestre utvikling av programvare.
Booch peker på at tiden da maskinvaren ble kraftigere bare ved å øke klokkefrekvens og minne for lengst er forbi. Nye prosessorer opererer med flere kjerner og med flere tråder per kjerne.
– Det innebærer at vi som skal lage programvare ikke lenger bare kan pøse på med tusener av kodelinjer. Stadig mer av de økende kravene til ytelse må tilfredsstilles ved at vi konstruerer programvaresystemene på en mer hensiktsmåte, som er bedre tilpasset maskineriet de skal kjøres på.
Denne utfordringen er gjenstand for flere prosjekter innen IBM. Et av dem er PERCS, for «Productive Easy-to-use Reliable Computer Systems», som støttes med offentlige bevilgninger over budsjettet til Darpa. Fokuset for dette prosjektet er metoder for samtidig design av maskin- og programvare, der man integrerer framskritt innen halvlederteknologi, operativsystemer, kompilatorer, programmeringsspråk og utviklingsverktøy.
En del av PERCS er et eksperimentelt programmeringsspråk, som Booch nevner spesielt: X10. Det har vært arbeidet med dette nye språket siden 2004. X10 tar sikte på å være parallell, distribuert og objektorientert, og skal gjøres enkelt tilgjengelig for eksperter innen Java. Arbeidet går ikke så fort: Man er foreløpig kommet fram til utkast 0.41.
– Poenget med nye programmeringsspråk som X10 er at vi må legge inn større muligheter for samtidig prosessering og for synkronisering. X10 er for massivt parallelle datasystemer, med tusener av flerkjernede prosessorer.
I den virtuelle verdenen Second Life opererer Booch under navnet Alim Theus. En av hans virtuelt eksperimenterende medarbeidere, Rita King, har valgt det enda mer grandiose Eureka Dejavu.
– Rita har hatt ideer til noen svært fantasifulle prosjekter, som samtidig har en klar nytteverdi. Et av dem har med kvinner i Saudi Arabia å gjøre.
Booch forklarer at denne tjenesten gjør det mulig for saudiarabiske kvinner å rådføre seg med mannlige imamer uten å bryte påbudet om å ha med seg far, ektefelle eller bror dersom de skal treffe en mann.
– De religiøse lederne måtte tenke gjennom hvorvidt dette påbudet også skulle gjelde i den virtuelle verdenen. De kom fram til at påbudet om kun å treffe andre menn i selskapet med nære mannlige slektninger kun gjaldt på det fysiske plan. De klargjorde derfor at påbudet ikke gjelder på det virtuelle.
I påvente av mer utstrakt samfunnsreform, har altså Second Life skapt et velkomment virtuelt alternativ.
– Når det gjelder metoder for samarbeid mellom profesjonelle, er jeg en varm tilhenger av Second Life, sier Booch. – Arrangementer som jeg kjører i Second Life sparer både tid og penger. Poenget er at man ikke kan bruke virtuelle verdener til bare utstillinger, man må også ha aktiviteter der. Jeg tar sikte på å opprettholde regelmessig kontortid i Second Life.
IBM har et eget prosjekt, Bluegrass, som studerer bruken av virtuelle 3D-verdener til å støtte distribuert arbeid. En del av prosjektet er spesielt innrettet på å se på hvordan virtuelle verdener kan innlemmes i Jazz-plattformen for utviklingsverktøy.
– Jeg er blant dem i IBM som ivrer mest for seriøst arbeid med virtuelle verdener. Vi har gode erfaringer med intern opplæring, og vi kjører også avtaler med en håndfull store kunder i Second Life.
Den tredje tankebanen til Booch, hvordan mestre programvareutvikling, har inspirert ham til å undersøke et bredt utvalg av eksisterende og historiske systemer.
– Det jeg har oppdaget, er at få faktisk har nedtegnet prosessene som ligger bak utviklingen av programvare. I den grad det finnes kilder for dette, ligger det i det man kan kalle stammeminne, altså det utviklerne selv husker.
Booch har som ambisjon å skrive en håndbok om programvarearkitektur.
– Jeg har tatt for meg alt fra eBay til NASA-prosjektet Mars Pathfinder og systemene i heisene til Otis Elevator Company, verdens største leverandør av vertikal transport. Det jeg har oppdaget er at mens alle programvaresystemer har en arkitektur, er den i de aller fleste tilfellene helt tilfeldig. Alle programvaresystemer preges av at visse mønstre går igjen.
Booch sier han er forskrekket over hvor mye programvare som har røtter tilbake til 1980-tallet.
– Programvare har en egen masse, en egen treghet, og følgelig en egen motstand mot forandring. Det er ingen tilfeldighet at Google i dag er det kvikkeste av alle IT-selskaper. Det skal bli interessant å se hva som skjer etter hvert som de også møter utfordringer knyttet til en stor beholdning av eldre programvare.
Nedarvet – «legacy» – programvare spiller en stor rolle i mange organisasjoner, poengterer Booch. Han mener det finnes gangbare metoder for videre bruk, og understreker samtidig at det kan være fornuftig i visse tilfeller å begrense gjenbruken og heller høste annen lærdom.
– Systemer utviklet i Ada må oftest gjøres helt om. Algoritmene kan gjenbrukes, men selve språket kan ikke brukes lenger, fordi det er for få som kan det og fordi selve språket ikke lenger er hensiktsmessig.
Booch viser til prosjekter i IBM der man tar for seg metoder for å trekke nyttig ting ut av nedarvede systemer som ikke lenger kan brukes produktivt.
– Hva er det som skaker opp IBM-ledere?
– Det er det ukjente og det antihierarkiske. Da jeg kom til IBM var heterogene miljøer bannlyst. Da jeg nektet å dumpe min Mac, vakte det ubehag. Siden er heterogene systemer blitt et positivt ladet begrep. Nå er jeg ikke alene om å bruke Mac. Sannheten og den tekniske stien har seiret.
Booch har også fått gehør for betydningen av å lytte til fotfolket.
– Jeg snakker med alle jeg kommer over. Vanlige utviklere, de «kodende krigerne», er nøkkelinteressenter for oss. Jeg gjorde det klart at det er maktpåliggende for IBM at de blir lyttet til.
Rational-konferansen gjenspeiler hvor langt Booch har nådd fram: Budskapet er formet med tanke på å nå ut til «Rational-heltene», det som fører sin bedrift eller organisasjon framover med sin kreative programvare.
Booch selv stiller gjerne opp Rational-helt eller R-helt. Eller som han selv liker å skrive det: R-acle. På amerikansk er det mer enn bare et rim med dem du vet.
Les også:
- [30.07.2008] IBM kjøpte veteran innen kunstig intelligens
- [10.07.2008] Teleporterte avatarer mellom 3D-verdener
- [19.06.2008] Norge er dårligst i Norden på innovasjon
- [10.06.2008] Utvikling er for stort til å overlates til utviklere
- [03.06.2008] Nettverket er IKKE en datamaskin
- [03.06.2008] - Basaren er det beste prinsippet
- [26.05.2008] Verktøyene utviklerne elsker mest