Den mindste tid

Den mindste tid, du bruger på en kode, er den tid, det tager at skrive den

Time to market. Det er vigtigt, det ved vi alle. Vi skal flytte forretningen, og det kræver, at de systemer, vi omgiver os med, flytter sig med samme hastighed.

Når vi udvikler software, er det altså vigtigt, at vi er opmærksomme på, at de systemer vi laver, langt fra er statiske. Når vi har skrevet en linje kode, er det med stor sandsynlighed ikke sidste gang, vi har fat i den. Som tiden går, og forretningen udvikler sig, skal koden indgå i nye sammenhænge, ændres eller måske slettes.

Det skal vi have i baghovedet når vi designer vores systemer. Det skal være nemt for os selv (eller andre) at forandre systemerne igen.

Vi kan gøre flere ting for at gøre et system smidigt, men det meste kan koges ned til OVERSKUELIGHED.

Det skal være nemt at overskue et system

Det vil sige, det skal være:

  • nemt at forstå, hvad systemet gør
  • klart hvilken del af forretningen systemet understøtter
  • nemt af få indblik i, hvilke sammenhænge systemet indgår i
  • Hold det småt
    Hvis det skal være nemt at forstå, hvad et system gør, skal det være nemt for en vilkårlig udvikler at sætte sig ned, læse koden og forstå den. Et effektivt middel er at holde sine systemer så små som muligt. Hvem sagde microservices eller serverless?
  • Jo mindre et system er, jo nemmere er det at sætte sig ind i kodebasen
  • Jo mindre et system er, jo færre features indeholder det – og dermed bliver det mere klart, hvilken del af forretningen, det understøtter
  • Jo færre features et system indeholder, jo færre sammenhænge kan det indgå i.

Tricket er altså at finde den middelvej, hvor systemet er så småt, at det er nemt at vedligeholde eller ligefrem udskifte samtidigt med, at det er stort nok til at udfylde en meningsfuld rolle i systemlandskabet.

Vi skal have respekt for det abstraktionslag, vi arbejder i

Småt er godt, men lidenhed gør det ikke alene. Det er vigtigt, at vi som udviklere gør os umage med at aflevere en overskuelig kode. Altså at vi er koncise og explicitte i vores kodestil. At vi har styr på vores indkapsling og navngivning. Kort sagt, at vi har respekt for det abstraktionslag, vi arbejder i.

Lyder det fornuftigt? Giv os et ring, vores professionelle hold af udviklere og arkitekter er klar til at hjælpe dig sikkert gennem dit næste udviklingsprojekt. Vi tager lynhurtigt telefonen på dette nummer: 3048 3364.

Seneste blogindlæg

Mød Openminds #1 – Du får mere end du be’r om

Michael Martinsen er partner hos Openminds. Han har over 15 års erfaring som arkitekt og softwareudvikler inden for alle faser af systemudvikling og er oprindeligt uddannet datamatiker.

Sprint Retrospective – form frem for indhold?

Den agile bevægelse har holdt sit indtog med Scrum som de facto værktøjet til at styre softwareudviklingsprocessen.

Løst koblede systemer og skjult koblede systemer

Afkobling af systemer er et både sundt og udbredt princip i integrationsløsninger. Kort sagt er princippet, at hver komponent passer sit uden at kende til den sammenhæng, den indgår i.