Kompleksitet er OK

Oppdatert 22.9.2019
Vi er alle skyldige. Vi blander ‘komplekst’ og ‘komplisert’, bruker dem om hverandre. Det er synd. For kompleksitet er ok, komplisert er ikke.

Spiller det noen rolle? Kanskje ikke for menigmann, men forskjellen er vesentlig for IT spesielt og organisasjoner generelt. ‘Komplisert’ er vår fiende, ‘enkelhet’ er vår venn og ‘komplekst’ er ok, ofte nødvendig. Kompleksitet er enkelhet satt i system.

Kompleksitet er enkelhet satt i system.
Tenk deg en flokk på 10.000 fugler som leker på himmelen – eller en enorm fiskestim som leker i vannet. Synkront, avstemt, elegant, grasiøst – og samtidig tydelig spontant. Hvordan får de det til? Enkelhet satt i system. Ingen individer forholder seg til helheten, kun til sine nærmeste omgivelser. Skalerbart, robust, komplekst – og enkelt.

Prinsipper som har ligget til grunn for design av (for eksempel) teknologi og datasentre i årevis, mens høyere nivåer – fra driftsrutiner via operativsystemer til løsninger – synes å ha levd i sin egen verden: Uoversiktlige avhengigheter, uryddige grensesnitt, kompliserte bindinger og mye mer.

Det fungerer ikke lenger. Gamle løsninger halter ustødig avgårde på krykker og rullator, mens moderne løsninger (interessant nok inklusive Linux som OS) raser videre og leverer underverker på kort tid, med lavt budsjett, høy dynamikk – og blant mye annet, ryddige grensesnitt. Komponenter som utvikles i dag skal sannsynligvis byttes – helt eller delvis – i løpet av tre år. Da er dynamikk en forutsetning. Prosjekter som løper i 4-6 år før de leverer noe som helst hører hjemme i historien – i forrige årtusen. Da visste vi ikke bedre – og skaleringsutfordringene var 2-3 størrelsesordener mindre.

Uansett prosjekttype må bestanddelene være oversiktlige, selvstendige komponenter med ryddige grensesnitt og tydelig funksjonalitet.
Den strategiske føringen er innlysende og kritisk. Og godt fundamentert i moderne verktøy – containers, microsevices, serverless etc.: Uansett prosjekttype må bestanddelene være oversiktlige, selvstendige komponenter (moduler) med ryddige grensesnitt og tydelig funksjonalitet. Dessuten: Løse koblinger, ingen integrasjon. Akkurat her ligger ofte forskjellen mellom komplisert og kompleks. Og lakmus-testen er rask og effektiv: Enkeltkomponenter som ikke kan utvikles og testes på noen måneder er for kompliserte.

Hvis IT-katastofene i Forsvaret, NAV, Politiet og mange andre steder hadde fulgt en slik modell, ville skandalene vært fraværende, løsningene fungerende, og store penger anvendt til nyttige formål i stedet. Når det er sagt: Tankegangen er like viktig for små som for store prosjekter. Gjelder alle og alltid.

Kompleksitet er OK, komplisert er ikke.

 

Legg igjen kommentar

Dette nettstedet bruker Akismet for å redusere spam. Lær om hvordan dine kommentar-data prosesseres.