Standarder i praksis: Når bør man være rigid – og når bør man være fleksibel?

Introduksjon

Alle vil ha standarder. Ingen vil følge dem blindt.

I jakten på forutsigbarhet, skalerbarhet og kvalitet, bygger vi retningslinjer, maler og praksiser. Men i møte med reelle utviklingsprosesser, møter disse standardene virkeligheten – og virkeligheten er rotete. Noen ganger skaper avvik rom for innovasjon. Andre ganger er de starten på teknisk gjeld.

Så hvordan vet vi når vi skal holde linjen – og når vi skal slippe litt tak?

Standarder som ramme, ikke bur

En god standard er ikke en fasit. Den er et kompromiss mellom beste praksis, tidligere erfaring og ønsket retning. Den gir struktur, men bør også ha innebygget rom for skjønn.

Problemet oppstår når standarder blir til dogmer. Når man følger retningslinjer uten å forstå hensikten bak, eller når avvik blir møtt med ryggmargsreaksjoner i stedet for vurdering. Da hemmer vi ikke bare fremdrift – vi sliter også på eierskapet.

(Du kan lese mer om dette perspektivet i «Det tause ansvaret», som handler om hvordan eierskap og ansvar kan forvitre i tekniske miljøer.)

Når fleksibilitet er en styrke

Det er situasjoner der avvik er både nødvendige og ønskelige:

  • Eksperimentering: Når man tester nye rammeverk, verktøy eller arkitekturer, må man tillate midlertidige brudd på konvensjoner. Innovasjon tåler ikke for mye friksjon.
  • Tidskritiske leveranser: I noen tilfeller kan en pragmatisk snarvei være nødvendig for å komme i mål. Men kun dersom det følges opp av ryddesjau – og ikke blir stående som permanent løsning.
  • Kontekstskifter: Standarder laget for ett team eller domene passer ikke nødvendigvis i et annet. Å justere dem til lokale forhold kan være både ansvarlig og nødvendig.

Fellesnevneren? Bevisste valg og tydelig dokumentasjon.

Når rigiditet er nødvendig

Det finnes også situasjoner hvor avvik nesten alltid gjør skade:

  • Sikkerhetskritisk kode: Her finnes det lite rom for improvisasjon. Avvik fra standarder som handler om input-validering, autentisering eller logging kan føre til sårbarheter.
  • Tverrfaglig samarbeid: Når mange team jobber sammen, er felles standarder det som gjør koordinering mulig. Å «gjøre ting litt annerledes» skaper fort misforståelser, feil og tidstyveri.
  • Langsiktig vedlikehold: Avvik som ikke er godt dokumentert, blir teknisk gjeld. De skaper forvirring og usikkerhet – særlig når utviklerne som tok valget, ikke lenger er til stede.

(Se også «Teknisk gjeld» for en dypere utforskning av hvordan slike kompromisser kan hope seg opp – og hvorfor de ofte handler like mye om team som om kode.)

Praktiske grep for levende standarder

Så hvordan legger man til rette for en sunn kultur rundt standarder?

  • Beslutningslogg: Dokumenter bevisste avvik – hva som ble gjort, hvorfor, og om det skal tilbakeføres senere. Det gir transparens og reduserer risiko.
  • Pull request-praksis: Bruk kodegjennomganger til å diskutere avvik. Ikke bare hva som er gjort feil, men også hva det sier om standarden – er den fortsatt hensiktsmessig?
  • Templatstyrt fleksibilitet: Lag standarder med opsjoner – «bruk A som default, B dersom X gjelder». Det signaliserer at valgfrihet er forventet, ikke et brudd.
  • Retrospektiver: Evaluer om standardene faktisk fungerer. Hva brukes? Hva ignoreres? Hvorfor?

Avslutning

Standarder handler om å gjøre det riktige lett – ikke det alternative umulig. De skal hjelpe teamet, ikke hindre det. Den virkelige modenheten ligger ikke i hvor strenge reglene er, men i hvor godt teamet forstår når og hvorfor de kan brytes.

Gode standarder tåler å bli utfordret – og blir bedre av det.
For det er ikke avviket som skaper teknisk gjeld – det er mangel på vurdering.