IT Larsen - systemutvikler.NET

Fiksjon: Huskjøp i fremtiden

Frank Bender har akkurat cashet inn en fin gevinst etter å ha solgt ut sine opsjoner i Acme Global Inc. Nå skal han ha seg nytt hus, og det skal han ha fort!

Heldigvis viser det seg at den unge kjente Gizmo Blink er ledig for oppdrag. Han har vunnet flere priser for kvalitet og hurtig levering av intergalaktiske camping cruisere. Ikke så rart at det går unna med pressisjon, fyren har jo åtte armer og et sekssifret antall interne sensor øyne. Frank har ikke noe imot å bruke arbeidskraft fra en annen galakse. Mye billigere blir det også.

Frank har dårlig tid og han gir Gizmo en rask beskrivelse av hva slags hus han ønsker seg; "Det skal ha tre etasjer med kjeller. Taket skal ha 25 grader mønevinkel og være kledd med rød antikk takstein. Ellers så skal det være som mitt eksisterende hus. Hvor lang tid tar det?"

Gizmo tenker i noen sekunder og svarer sikker via sin polyfoniske eVoice generator; "Det tar nøyaktig tre dager".

"Flott, sett i gang!" sier Frank.

Etter tre dager blir Frank invitert til overlevering. Synet som møter han gir et hakeslipp av dimensjoner. Kjelleren er på toppen, taket er godt plantet ned i bakken og dører/vinduer er helt fraværende. Frank er helt ifra seg av sinne.

"Dette er ikke hva jeg ville ha" hyler Frank.

Gizmo svarer rolig og behersket; "Jo da, dette er det du skulle ha. Det er bygd etter spesifikasjonene jeg fikk. Tre etasjer, røde takstein, 25 grader bla bla bla" 

Hvem sin feil er det?

Denne historien skal bare belyse et problem som eksistert i databransjen siden dens barndom. Spriket mellom oppdragsgivers forventninger og oppdragstakers forståelse av det som skal leveres. Heldigvis har bransjen blitt flinkere med årenes løp. Mange anti-patterns har blitt skrevet om hvordan ting ikke skal gjøres og hvilke tiltak man kan gjennomføre dersom man har havnet i uføret. Oppdragsgivere har også innsett at et software prosjekt ikke bare består av å hanke sammen noen programmerere for deretter å få de til å starte med "koding" snarest mulig.

Dersom feil skal fordeles, vil jeg si at begge gjorde feil her. Frank hadde en visjon om et hus, ikke en spesifikasjon. Dessuten syndet han stort med å bruke begrepet "som mitt eksisterende hus". Hvor ofte har vi ikke sett spesifikasjoner som "Det nye systemet skal ha samme funksjonalitet som det gamle med tillegg av....". Slike uttalelser skal ikke forekomme i en kravspesifikasjon. Den har null verdi for de som blir satt på oppgaven med å lage det nye systemet. Skal begrepet brukes, må det gamle systemet spesifiseres i minste detalj. Hvordan skal man ellers klare å estimere oppgaven? Krystallkule har blitt foreslått av noen.

Selv om Gizmo har vunnet mange priser, mangler han domenekunnskap om bygging av hus på Tellus. Kulturforskjellene mellom Frank og Gizmo er dessuten enorm. Gizmo kommer fra en galakse hvor de bor i hus som flyter rundt i nullgravitasjonsfelt. Det forklarer nok hvorfor huset ble bygget opp ned. Alle beboerne i den galaksen behersker også teleportering. Hva er da vitsen med dører når de fritt kan teleportere seg mellom rommene i et hus. Vinduer trenger de heller ikke. De interne sensor øynene kan se igjennom de tykkeste vegger. Gizmo har ut ifra en tynn beskrivelse bygget huset etter de regler og normer som eksisterer i hans verden. Han kan ikke se at han har gjort noe galt.

Siden Gizmo her opptrer som den profesjonelle part, burde alarmklokkene hans ringe når Frank spør om hvor lang tid det tar. Det er egentlig her hele prosjektet kollapser. Ingen av partene er heller klar over det. Det er åpenbart at Frank ikke vet hva han begir seg ut på når han bestiller et hus med så vage spesifikasjoner. Trenger han nytt hus? Eller holder det kanskje med å bytte ut taksteinene på det gamle? Her må det andre krefter inn. Skal det gjøres "by the book", må husbehovet analyseres og spesifiseres til minste detalj, som hva slags knotter det ska være på baderomsinnredningen. Huset må så tegnes av en arkitekt. Når alt dette er på plass kan Frank og Gizmo bli enige om videre fremdrift for prosjektet. Klart litt ekstra jobb blir det når man må spesifisere oppgaven for en som kommer fra en annen galakse. Men slik er det ofte i dag, software prosjekter må spesifiseres for eksterne konsulenter som ikke har domenekunnskap om fagområdet eller forståelse av kulturen hos kunden.

Historien er inspirert av bøkene til Karl Wiegers.