Du kommer ikke til å trenge det
Jeg er heldig som jobber med IT men kommer fra en bakgrunn innen programvareutvikling. Dette gir meg et litt annerledes perspektiv på IT-verdenen, både når det gjelder å forstå mye av det som skjer bak kulissene med utgivelsessykluser og funksjoner, og når det gjelder å anvende kunnskap fra den bransjen i denne.
I programvareutviklingsmiljøet har konseptet «You Aren’t Gonna Need It» eller YAGNI blitt populært de siste årene. YAGNI oppstod fra gruppen Extreme Programming (XP) innen Agile-utvikling og er formulert som denne regelen: «Implementer alltid ting når du faktisk trenger dem, aldri når du bare forutser at du trenger dem.»
Jeg liker å omformulere YAGNI i utvikling til «Ikke invester i noe før du vet at du trenger det.» Men konseptet er det samme – dersom du bruker tid og penger på å bygge deler du ikke er sikker på at du noen gang vil trenge, tar du på deg risikoer som å ikke få verdi så tidlig som mulig (ved å fokusere på ting som ennå ikke betyr noe mens du forsømmer det som gjør det) og investere i teknologi som aldri vil bli brukt (fordi krav endrer seg, prosjektet blir kansellert osv.)
Dette konseptet overføres svært godt til IT. Design og innkjøp påvirkes begge i stor grad – eller bør påvirkes – av YAGNI. Lagring er et godt eksempel. Ikke invester i lagring i dag som du tror du vil bruke i morgen. Vi kan liste opp mange grunner til hvorfor tidlig lagringsinvestering er dårlig: bedriften har liten eller ingen evne til nøyaktig å forutsi sin egen vekst, IT er dårlig på å forutsi lagringsvekst basert på forretningsvekst, tidsverdien av penger og kjøp av lagring i dag er dyrere enn å kjøpe den samme lagringen i morgen. Hver gang vi kjøper basert på prognoser tar vi på oss risiko. Prognoser stemmer sjelden.
Dersom vi kjøper for mye lagring i dag, betaler vi en premie for den lagringen fordi lagringskostnadene faller dramatisk over tid. Dersom vi kjøper med 100 % headroom og det tar tre år eller mer før vi bruker den kapasiteten, betaler vi for mye for lagringen og får eldre teknologi – mens å kjøpe senere ville gi oss bedre innsikt i hva vi faktisk trenger på det tidspunktet (ikke bare kapasitet, men hastighet, pålitelighet, funksjoner osv.), lavere kostnad og flere alternativer.
Overkjøp er én risiko, underkjøp er en annen. Underkjøp er åpenbart en mindre risiko, men fremdeles en bekymring. Dersom du kjøper i dag for behov tre år fremover og plutselig får et eksplosivt behov etter to år, kan du ha overinvestert i en plattform eller teknologi som ikke kan møte behovene dine.
Lagring er ett eksempel, men dette kan gjelde overalt fra programvarelisenser til CPU-kapasitet, minne, høytilgjengelighetsteknologier og selv datamaskiner. Få virksomheter ville kjøpe datamaskiner med hundre prosent overskudd bare for å være klar for en forventet ansettelsesøkning om tre år, men merkelig nok nøler de ikke med å gjøre det andre steder.
Ved å kjøpe det som kreves for det umiddelbare behovet og holde innkjøpsbeslutninger til senere er det en betydelig mulighet for kostnadsbesparelser og teknologiforbedringer. I noen tilfeller kan det hende at det fremtidige behovet aldri oppstår, enten på grunn av dårlige prognoser, endringer i marked eller strategi, eller en endring i teknologiretning, enten internt eller eksternt.
Utover innkjøp kan YAGNI anvendes på nettverksdesign. Det er ikke uvanlig at store, komplekse design foreslås og implementeres basert på forventet vekst som ofte er år unna og, for å være ærlig, sjelden særlig sannsynlig i en realistisk verden. Å bygge for eksempel et komplekst høytilgjengelighetsmiljø med dyr lisensiering, komplekst nettverk og mye lagring for forventet selskapsvekst i fremtiden, når to servere og en god backup-plan er alt som er kostnadsberettiget i dag, er farlig. Ikke bare må den nødvendige veksten skje for å rettferdiggjøre IT-utgiftene, men den må skje så raskt at tidsverdien av pengene er berettiget og kostnaden for teknologien ikke faller så mye at implementering av to systemer ville vært mer kostnadseffektivt. Det er overraskende lett for det å skje at å sette inn et mindre, midlertidig system og deretter implementere et større system når det trengs kan være langt billigere, bare fordi kostnaden for å bygge det større, mer komplekse systemet har falt så mye siden det første systemet ble satt inn – og det er før man tar hensyn til risikoen for dårlige prognoser.
Tidlig bruk av penger har en ekstra risiko – det binder opp bedriftens økonomi i ubrukt arkitektur. De pengene kunne vært investert i andre deler av virksomheten for å vokse bedriften. I ekstreme tilfeller kunne overinvestering i infrastruktur bidra til at et selskap mislykkes fullstendig – en selvoppfyllende situasjon der det å ikke bruke YAGNI i seg selv skapte situasjonen der YAGNI var mest relevant. Den arkitekterte løsningen ble aldri nødvendig ettersom selskapet mislyktes.
YAGNI er en risikostyringsprosess. Å arbeide med de behovene du kjenner kontra de behovene du forventer.
Kanskje IT-avdelinger kjøper for mye i dag fordi de tildeles spesifikke budsjetter. Det er forståelig at IT ender opp i et teknologikappløp og forsøker å implementere alt de kan når forretningsbehovene smiler til dem. Dette er imidlertid en svært dårlig forretningspraksis. Bedrifter må innse at store summer kastes bort på IT fordi IT er tvunget til å implementere systemer med forutsetning om clairvoyance, basert på vilkårlige budsjetter fra bedriften uten grunnlag i den virkelige verden. IT er stuck med å kjøpe det de kan «selge» til bedriften basert på ofte svært uklare faktorer, og bedriften finansierer IT ganske lunefullt. Dette skaper et svært usunt forretnings- og IT-forhold der IT kaster bort penger fordi det har lite valg, og bedriften ser IT som bortkastet fordi de ikke får operere effektivt.
For å fikse denne situasjonen må bedriften og IT jobbe sammen. IT må opptre mer som en forretningsbevisst enhet, og bedriften må støtte seg på IT for veiledning og ikke bruke prognosebasert budsjettering eller bli involvert i å velge teknologiske tilnærminger uten teknisk forståelse av konsekvensene av disse valgene. IT må kunne stole på at bedriften tar logiske forretningsmessige finansielle beslutninger, og bedriften må kunne stole på at IT tar logiske teknologiske beslutninger for bedriften. Bedriften driver IT, IT muliggjør bedriften. Det er et symbiotisk forhold. Dersom bedriften insisterer på at IT skal gjøre prediksjoner og operere med faste budsjetter, vil IT fortsette å bli tvunget til å overforbruke og overarkitektuere så mye som mulig i håp om å være forberedt på morgendagen når budsjettet kanskje ikke godkjennes. Dersom IT ble stolt med å be om det som trengs og bedriften ble stolt med å finansiere teknologibehov til rett tid, kunne begge operere mer effektivt for det felles beste.
Konklusjon: Ikke invester tidlig – du vet ikke hva teknologien eller bedriften vil gjøre i morgen.
