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.

Aage Nielsen

Mail: ani@openminds.dk
Mobil: +45 5390 1639

Læs mere

Seneste blogindlæg

Er ny teknologi ét skridt frem og to tilbage?

Danske virksomheder kan trække rigtig meget forretningsværdi ud af deres eksisterende it-setup uden at skulle investere i en masse ny teknologi. Men ny teknologi som fx AI og big data er blevet så hypet, at virksomhederne bliver i tvivl, om det overhovedet er muligt at udnytte data uden et CERN-lignende arrangement.

Giv jeres legacy-system en agil skygge

Legacy-systemer bliver ofte set som den tunge arv fra fortiden. En arv man gerne vil slippe af med på samme måde, som man ønsker at slippe af med en jernlænke og kugle om anklen.

Men legacy-systemet er også en værdifuld arv, man ikke kan eller vil leve uden. Årtiers investeringer i specialiseret systemudvikling fokuseret på én virksomheds (eller branches) behov kan ganske enkelt ikke erstattes med noget, der når legacy-systemet til sokkeholderne.

Sådan finder i jeres sweet spot for systemovervågning

Allerede når man begynder at udvikle software, og den første kode skrives, er der fokus på hele tiden at teste for fejl. Men for udvikleren stopper fokus på fejlsøgning ikke, når den færdige kode er sat i drift.
I godt it-udviklingsarbejde tager udvikleren også højde for den efterfølgende overvågning og vedligeholdelse af softwaren, så systemet kan holdes kørende, og fejl og uregelmæssigheder bliver opdaget og håndteret.