Et essay av Eric Raymond, The Cathedral and the Bazaar, er blitt noe nær en bibel for bevegelsen for åpen kildekode. Den har også varme tilhengere innen leiren som driver primært med kommersiell programvare. Danny Sabbah, toppsjef i IBMs avdeling for utviklerverktøy, Rational, mener basaren er det beste prinsippet for alt utviklingsarbeid, kom det fram på den storstilte Rational Software Developers Conference som denne uken samler 3500 utviklere i Orlando i delstaten Florida.
– I 2008 må vi innse at hele miljøet for programvareutvikling har endret seg. Også der man ikke setter ut hele eller deler av utviklingsprosjekter, erfarer man at utvikling foregår i team spredt gjerne verden over. Globalisering er et faktum, vi samarbeider over det åpne Internett, og vi opplever store utfordringer innen alt som har med leveranse av programvare å gjøre, sa Sabbah i sin åpningstale.
Sabbah peker på at programvare i dag står for langt større verdier – rundt 570 milliarder dollar i året – i amerikansk næringsliv enn for eksempel datamaskiner, telekom og til og med mat. Blant de få kategoriene som overgår programvare i verdi er kjemisk industri, sykehus og utstyr til transport – altså biler og lastebiler.
– Det er ikke så lett å anslå hvor effektiv all programvaren er for sine brukere. Vi som er i bransjen må stille oss en del vanskelige spørsmål: Vi bør til en viss grad holdes ansvarlig for at det vi leverer er verdt det de koster.
Idealet for et programvareprosjekt i dag er at det leveres etter tidsplan og etter budsjett.
– Men det er ikke det vi bør måles etter. Det er ikke sikkert at prosjektet er vellykket, selv om verken tidsplan eller budsjett sprekker. Vi, som bransje, må spørre oss hva det vi leverer har å si for forretningsbehov og resultatet. Jobber vi med de riktige tingene?
Svaret, slik Sabbah framstiller det, er at metodikken må endres drastisk. Tidsplan og budsjett er ikke nok. Man må kunne sette mål på programvarens innvirkning på forretningen.
– Det innebærer særlig å legge åpenhet for nye muligheter inn i selve utviklingsmodellen. Utviklerne må befris fra den stive katedralen og overføres til den åpne basaren. Vi må velge en tilnærming som er smidig og markedsdrevet.
Ifølge Sabbah kan dette uttrykkes i tre prinsipper:
- Lever tidlig
- Oppdater ofte
- Lytt til brukerne
– Det kinkige er å finne ut hva dette betyr konkret for hvert enkelt prosjekt.
Det har mye med åpenhet og målbarhet å gjøre.
– Hva det betyr å levere tidlig må konkretiseres i hvert enkelt tilfelle. Man må sette opp målbare parametere for faktorer som smidighet, tidsbruk, kvalitet, fleksibilitet, fornyelse og effektivitet. Poenget er at faktorene gjenspeiler avvikende interesser som må holdes i en dynamisk balanse. En slik balanse kan man bare oppnå gjennom en faktabasert analyse.
Den første, tidlige leveransen skal aldri være den «endelige».
– Programvare må oppdateres ofte. En organisasjon kan finne det hensiktsmessig å gjøre ting på en annen måte. IT må ikke stå i veien. Den grunnleggende arkitekturen må følgelig være fleksibel. Gjør vi programvaren på riktig vis, kan brukerne orientere seg raskere og bedre i den virkelige verden.
Ifølge Sabbahs resonnement, krever det å lage noe for brukere, at det også framstilles med brukerne.
– Fellesskapene som vi tjener må trekkes inn i utviklingsarbeidet. Det er bare slik vi kan fange innsikten som teller. Det må pågå en uavbrutt dialog med brukerne. Programvare er aldri fastlagt. Programvare er alltid i kontinuerlig utvikling, det er det det dreier seg om.
De tre prinsippene – tidlig leveranse, hyppig oppdatering, lytt til brukerne – fanger opp, ifølge Sabbah, programvarens verdi for forretningen.
Han advarer mot å oppfatte dette som en stereotyp.
– Svaret som formuleres for hvert enkelt prosjekt må ta hensyn til særegenhetene i prosjektet. Vi har selv erfart, i vårt eget utviklingsarbeid i Rational og i IBM, at vi kan hente elementer fra ulike utviklingsmodeller – «fossefall», «agile», «iterativ» – samtidig som vi overholder de tre prinsippene.
Her har Sabbah et viktig poeng: IBM har selv 25 000 programvareutviklere. Prinsippene han er kommet fram til, oppsummerer deres erfaringer.
– Et av hovedproduktene som vi lanserer i dag, pakken for utviklersamarbeid Rational Team Concert, ble selv utviklet gjennom en ren «agile» modell. Vi måtte eksperimentere mye for å forstå det spesielle ved dem som skal bruke dette verktøyet. Derfor var det særs viktig å levere nye utgaver i raskt tempo. Lyttingen ordnet vi gjennom portalen Jazz.net. Et annet verktøy, Clearcase, ble startet med fossefallmetoden fordi det der var nødvendig å få en helhet over den første leveransen. For å engasjere brukerne la vi så opp til en iterativ modell for utviklingen videre. Poenget er at prinsippene kan anvendes gjennom ulike metoder.
IBM spiller på flere strenger for å vinne gehør i hele bransjen for denne tilnærmingen.
En streng er Rationals egen plattform, Jazz, for utviklerverktøy lagt opp etter denne tankegangen. Jazz gjøres åpen for verktøy fra andre leverandører, ikke bare innen IBM-familien – særlig Lotus med sine nye «Web 2.0»-verktøy – men også konkurrenter som Microsoft Visual Studio.
Et annet eksempel er et initiativ som Sabbah lanserte i sin hovedtale: Open Services for Lifecycle Collaboration. Dette initiativet er åpent for tredjepart gjennom Jazz-portalen Jazz.net. Det beskrives som et forslag til en åpen arkitektur for å sikre interoperabilitet mellom ressurser for programvareutvikling. Ideen er at brukere skal kunne sette sammen sin egen ideelle plattform for programvareutvikling, i visshet om at alle mulige verktøy støtter den samme åpne arkitekturen og følgelig spiller sammen.
– Det dreier seg om protokoller som utnytter standarder innen web-arkitektur. De skal sikre konsistens og samtidig større frihet i hvordan man selv vil legge opp arbeidet, forklarte teknologisjef i Rational, Martin Nally, da han på en pressekonferanse etter hovedtalen ble bedt om å presisere initiativet. – Det dreier seg om best mulig utnyttelse av ressurser på Internett. Det er ikke et rammeverk for verktøy eller et format for filer eller databaser, men om åpne tjenester. Poenget er at har man først fått orden på data, kan man gjøre resten på toppen av det, for eksempel spørring, sikkerhet og så videre.
Les også:
- [11.06.2008] Denne IBM-eren skal finne opp framtiden
- [10.06.2008] Utvikling er for stort til å overlates til utviklere
- [03.06.2008] Nettverket er IKKE en datamaskin
- [26.05.2008] Verktøyene utviklerne elsker mest
- [23.11.2007] Tenk omdømme, trygg web-applikasjonen
- [01.11.2007] IBM vil bygge IT-sikkerhet på risiko