Arkitekter må bli smidige

Det er i år 15 år siden det smidige manifestet ble skrevet. Selv om mange nå hevder at de jobber smidig, er det fortsatt mye som er preget av tankegods fra foreldede fossefalls-prosesser og en plan-build-run tilnærming til utvikling av programvare. Dette gjelder ikke minst arkitekter i etableringen av arkitekturprosesser og konkrete arkitekturer. Det er på tide at arkitekter tar til seg smidige verdier og innfører praksiser som er i tråd med disse.

Mange arkitekter er fremdeles preget av klassisk arkitekturarbeid. Lang og god planlegging oppfattes som det viktigste for å sikre suksess, selv om det gang på gang viser seg at dette ikke stemmer. Ved tidlig detaljering av arkitektur gjøres valg på det tidspunktet hvor man vet minst om faktiske behov, og dette fører lett til feil eller i beste fall suboptimal arkitektur. Planleggingen er desverre ofte ensbetydende med å lage mye og omfattende dokumentasjon, fremfor å forstå behov og hensikt. Når denne omfattende dokumentasjonen så er skrevet skal den godkjennens i arkitekturfora, hvor det sitter personer med ulike perspektiv som alle skal bli enige før arkitekturen godkjennes. Det videre arbeidet med arkitekturen er preget av detaljstyring og kontrollmekanismer. En slik prosess for arkitekturutvikling er ikke overraskende tidkrevende, og arkitekturarbeidet krever lang kalendertid.

lang planlegging gir ikke alltid et godt resultat

bildet gjengitt etter tillatelse fra styggesting

I tillegg til det omfattende arkitekturarbeidet har mange virksomheter med seg mye bagasje i form av gamle og rigide systemarkitekturer. Disse arkitekturene er tilpasset en tid hvor man ikke endret ting så ofte, og er gjerne etablert for å svare på konkrete utfordringer. Arkitekturene i seg selv er utfordrende nok, og i tillegg er de ofte realisert av applikasjoner som er preget av teknisk gjeld.

Kombinasjonen av tidkrevende arkitekturarbeid og rigide arkitekturer har gått relativt bra så lenge man har tatt seg god tid og ikke endret ting så ofte. Men verden endrer seg, og endringen går raskere og raskere. Både forventning om endring og faktisk endring er større enn tidligere. Forretningssiden og de som bestiller IT-systemer krever realisering av verdi tidlig, er usikre på hva de faktisk trenger for å realisere verdi og er ikke lenger villig til å vente i månedsvis eller årevis før de får realisert denne verdien. Kanskje som et resultat av dette (kombinert med enkelte kostnadsoverskridelser) har flere tatt til orde for at de store prosjekters tid er forbi. Ikke minst har Jan Tore Sanner bekreftet dette når han under åpningen av Digitaliseringskonferansen 2015 sa “Lag mindre IT-prosjekter!”.

I kravene om tidlig realisering av verdi og avskaffelse av prosjekter (i det minste de store) ligger det en forventing om at man skal levere arkitektur og funksjonalitet fortløpende og at det skal jobbes smidig. Så hva skal arkitekter gjøre da? Det enkle svaret på dette spørsmålet er at arkitekter må ta til seg den smidige essensen og endre praksiser.

Fokus på verdiskapning, sløsing og tilbakemelding fører til bedre arkitektur

Fokus på konkrete verdier bidrar til at man tar til seg den smidige essensen i det daglige arbeidet. Verdiskapning, sløsing og tilbakemelding er tre smidige verdier som er viktige og kan hjelpe de som jobber med å innføre arkitekturprosesser eller utarbeider og etablerer konkrete systemarkitekturer.

Verdiskapning for virksomheten er det viktigste

Når man jobber med arkitektur i en virksomhet må det alltid være tydelig hvilken verdi arkitekturen skal tilføre virksomheten. Det verdiskapningen som skal stå i fokus og være svaret på spørsmålet om hvorfor man etablerer en prosess eller utarbeider en arkitektur. Selv om arkitektur kan være nydelig og et kunstverk, er det ikke arkitekturen i seg selv som gir verdi. Arkitekturprosesser og arkitektur er kun et middel for å sikre verdiskapning for virksomheten som helhet.

Unngå sløsing i produksjon av dokumentasjon og prosesser

De gamle arkitekturprosessene med fokus på dokumentasjon og kontrollmekanismer er preget av sløsing. Både sløsing i form av lange og unødvendige dokumenter, og sløsing av tid og ressurser i selve prosessen. Det er viktig å tenke igjennom ting før man begir seg ut på noe nytt, men det er selve planleggingen og tankeprosessen som er viktig, og ikke nødvendigvis dokumentasjonen. Det er ikke sikkert det er smartere å hoppe ut fra et stup selv om man har en stor dokumentbunke i hendene. Snarere tvert imot, det gjør at man faller raskere og mister muligheten til å holde seg fast i ting fordi hendene er opptatt. Desverre er det slik at det i “forprosjekter” og annen planlegging utarbeides mange arkitektur-artefakter som aldri blir lest, eller som har uklar verdi for den endringen som skal gjennomføres. Når disse artefaktene i tillegg er lange og omfattende blir det vanskelig å få med seg essensen i arkitekturen, og det som virkelig er viktig.

I tillegg til produksjonen av dokumentasjon og arkitektur-artefakter er mange arkitekturprosesser preget av rigide kontrollmekanismer. Disse er innført for å “sikre kontroll” uten at de nødvendigvis hverken er kvalitetsfremmende eller sikrer realisering av verdi. I arbeidet med kvalitetssikring av arkitekturarbeid er det viktig å tenke på verdien som skal realiseres, hensikten med de ulike tiltakene man vurderer å innføre, og om de er med på å redusere sløsing.

Sørg for hurtig tilbakemelding

Kontrollmekanismer som er etablert bidrar sjelden til hurtig tilbakemelding. Hurtig tilbakemelding på valg man tar eller hypoteser man fremsetter har alltid vært en god ide, og dette har blitt popularisert i økende grad med fremveksten av Lean og Lean Startup. I store prosjekter og fossefalls-tilnærminger utarbeider man arkitekturen på et tidlig tidspunkt, men får ikke vite om den er feil før etter lang tid. For å unngå dette må man på et tidlig tidspunkt danne hypoteser om arkitekturen og verifisere eller avkrefte disse. Dette kan gjøres gjennom scenarie-gjennomganger, men en bedre måte er å teste det ut i praksis gjennom proof-of-concepts, spikes, eller bygge arkitekturen inkrementelt, iterativt og kontinuerlig slik at hver hypotese kan verifiseres i praksis.

Etabler praksiser som sikrer fokus på verdiskapning, sløsing og hurtig tilbakemelding

Det er ikke nok å si at man skal fokusere på verdiskapning, sløsing og tilbakemelding. Det må også tas i bruk praksiser som gjenspeiler disse verdiene. Dette gjør at man må slutte med å skrive omfattende dokumentasjon lang tid i forveien som så godkjennes i arkitekturfora. Istedenfor må man distribuere beslutningsevne, definere tydelig mål og visjon, utføre endringer stegvis og sikre at endringer er små og gjøres på riktig tidspunkt.

Lag kryssfunksjonelle team med beslutningsevne

Kryssfunksjonelle team med beslutningsevne er mer effektive enn sentralisert beslytningsmyndighet i store fora. Teamene som utreder og realiserer arkitekturen sitter tett på problemstillingen som skal løses, og er derfor i stand til å raskt verifisere og prøve ut hypoteser om hvilken arkitektur som er best. Flere har vært opptatt av at team skal ha beslutningsmyndighet, men det holder ikke bare å ha myndighet. Teamet må også ha evnen til å ta gode beslutninger. Det vil si at de må ha den nødvendige kompetansen til å ta riktige beslutninger og vite hvilken verdi som skal oppnås. For å unngå lokal suboptimalisering trenger teamet bistand fra arkitekter utenfor teamet som har et helhetsperspektiv og ser den totale arkitekturen til en virksomhet. Det er arkitektens jobb å hjelpe teamet til å se dette helhetsbildet og støtte de i utformingen av arkitekturen og til å ta de riktige valgene. Ved å ansvarliggjøre teamene og gi de evnen til å ta beslutninger vil man få fornøyde team, gode beslutninger og en mer effektiv prosess.

Definer overordnete visjoner som setter retning

For å styre arkiturarbeid og endringsprosesser bør man starte med å etablere to overordnete visjoner som fungerer som ledestjerner. Man trenger både en forretningsmessig og en arkitekturmessig visjon som bidrar til at arbeid og beslutninger beveger virksomheten i riktig retning. Den forretningsmessige visjonen etableres først. Dette er en høynivå beskrivelse av målet man ønsker å oppnå, hvilke områder som berøres av dette, hvilke prossesser som er mest sentrale og hva som kjennetegner områdene. Når den forretningsmessige visjonen er etablert kan man utarbeide en arkitekturvisjon som beskriver hvordan man skal støtte forretningssiden. I denne beskrives hvilke overordnete egenskaper arkitekturen bør ha og hva slags type “by-områder” man trenger i arkitekturen. Det er forskjell på om man trenger en industrialisert sone hvor alt er effektivt, likt og strømlinjeformet eller om man trenger et villastrøk hvor alt er unikt og kan tilpasses det enkelte behov.

Gå veien ett og ett steg

Når visjonene er etablert kan man starte på veien mot disse. Det er viktig at man går denne veien stegvis både i utformingen av arkitekturprosesser og konkrete arkitekturer. Dette skiller seg fra tidligere tider hvor man ofte gjorde en “big-bang” realisering og innføring. Veien mot målet er på ingen måte rett, men svinger frem og tilbake etter hvert som man lærer underveis og uforutsette ting dukker opp. Selve visjonen og hensikten er derimot relativt stabile, og man jobber iterativt og inkrementelt mot denne i små steg.

Ta stegene på riktig tidspunkt

Stegene på veien mot visjonene må både være små og komme på riktig tidspunkt. Endringer som skal utføres kan kun skje i kontekst av pågående arbeid, og man må derfor få mest mulig ut av de tiltakene som allerede er planlagt. Nå som de store prosjektene er avskaffet kan man ikke lenger lage arkitektur eller arkitekturmessige endringer som krever store tiltak, prosjekter eller til og med programmer. Alle større endringer i arkitekturen må derfor gjøres gradvis og på de riktige tidspunktene. Arkitektur i en smidig kontekst hvor man leverer kontinuerlig er som en plante, den dyrkes frem over tid.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.