Blogg | Knowit

Programvareutvikling for alle

Skrevet av Kajetan Bocek | Feb 14, 2023 11:00:00 PM

Til skrivende stund er det under fire måneder til jeg skal gifte meg og en av de aller første bryllupsforberedelsene som ble unnagjort var nettsiden for å svare på invitasjoner og finne viktig informasjon. Vi brukte et av de mange verktøyene som tillater å bygge nettsider helt uten å forholde seg til HTML, Javascript osv.

Noen av oss ikke-teknologer husker kanskje fra skolebenken å ha laget nettsider fra bunn av, men for veldig mange nettside prosjekter kommer vi ikke en gang på å måtte kode noe samtidig som vi ikke tviler på at vi kan få det til uten å betale en utvikler. Den samme prosessen har nå nådd programvarer. Nemlig programvareutvikling helt uten eller med minimal bruk av programmeringsspråk.

At foretak og organisasjoner i tiden fremover trenger nye eller utvidelser av programvarer er helt opplagt. Differensiering og innovasjon kan ikke tenkes uten en digital komponent. Videre er potensialet for effektivisering av forretningsprosesser gjennom deres digitalisering fremdeles stort.

Tradisjonelt hadde foretak to måter å få tak i programvaren de trengte. Å kjøpe ferdig utviklete hyllevarer eller å få en løsning kodet etter deres behov. Hyllevareløsninger er kjente, rask tilgjengelige og har forutsigbare lave kostnader, men kan bare vanskelig og med store kostnader tilpasses og utvides. En skreddersydd løsning vil svare til behovene og kan enklere integreres med eksisterende løsninger, men utviklingen vil ta tid og kostnaden er ofte uforutsigbar. Kort sagt sto valget som oftest mellom kostnad og fleksibilitet.

Lav-kode programvare utvikling (engelsk: low-code application development, forkortet: LCAD) gir foretak et tredje valg et sted mellom hyllevarer og tradisjonell utvikling ettersom løsninger i stor grad kan tilpasses ulike ønsker samtidig som utviklingstiden og dermed kostnaden er mye lavere enn for en tilsvarende kodet løsning.

LCAD verktøyene oppnår dette ved å gi brukeren byggeklosser som kan kombineres i et grafisk grensesnitt. Også koblinger, logikk og grafiske maler lar seg opprette og justere uten bruk av programmeringsspråk. I tillegg tilbyr de fleste LCAD programmer et bibliotek av mer sammensatte komponenter som akselerere utviklingshastigheten ytterligere. Ettersom byggeklossene er ferdig utviklet og testet er sannsynligheten for feil mye lavere.

 

Og fordi de samme byggeklossene brukes av mange andre vil feil og svakheter oppdages mye raskere samtidig som kostnaden knyttet til forbedringer vil deles på mange. Oppgraderinger og vedlikehold av teknologien vil som oftest også skje automatisk, siden de fleste lav-kode teknologi leverandører opererer med programvare som tjeneste (SaaS) modellen.

En viktig konsekvens av raskere utvikling er at prototyper kan vises frem hyppigere slik at hypoteser kan testes tidlig. På denne måten sikrer man at programvaren svarer på behovene. Videre kan man involvere brukere tidlig og øke sannsynligheten for at løsningen blir en suksess.

At LCAD løsninger ikke krever kompetanse i programmeringsspråk åpner for at ikke-utviklere kan utvikle programvarer. Dette har to viktige positive virkninger. For det første, kan dyre og knappe utviklertimer erstattes med gunstigere og mer tilgjengelig arbeidskraft. Dette gjelder både utviklingen og forvaltningen av programvaren. For det andre kan ansatte som er nærmere til forretningsprosessene og har en bedre forståelse av behovene enklere delta i utviklingen. Noen vil gå så langt som å si at programvareutvikling blir demokratisert.

Ettersom fleksibilitet og brukervennlighet er avgjørende egenskaper for LCAD verktøy, er moduler for lettvinte og smidige integrasjoner mot andre systemer, datakilder og tjenester alltid en del av dem. Ofte er det også mulig å bygge en egen datamodell i samme program slik at hele forretningsprosesser kan digitaliseres uten at eksisterende systemer må utvides.

Andre egenskaper som mange LCAD plattformer har til felles og som øker utviklingshastighet er enkel produksjonssetting, kollaborative integrerte utviklingsmiljøer (IDE) og responsiv utforming av løsningenes brukergrensesnitt.

At de LCAD plattformer er skybaserte gjør det mulig både å komme i gang helt uten å måtte laste ned og installere noe på ens egen datamaskin. I tillegg kan man velge hvor i skyen man vil lagre sine løsninger og data.

Det virker jo nesten for godt for å være sant, men slikt virket nok også tanken om å kunne lage sin egen nettside helt uten koding før WIX, Squarespace, Webnode og Wordpress ble en greie. Og Gartner mener at i 2025 vil 65 % av programvareutviklingen skje med lav-kode teknologii.

Samtidig vil prosessen være gradvis og det vil fremdeles være behov for programmeringsspråk akkurat som det fremdeles bygges nettsider helt eller delvis med kode. Det er et resultat av at lav-kode utvikling også har begrensninger.

At lav-kode verktøy bruker ferdige byggeklosser, setter grenser for tilpasningsmulighetene. Både fordi byggeklossene ikke kan justeres og fordi selve antallet av byggeklosser i en løsning er begrenset. Kort sagt dekker lav-kode verktøy veldig mange behov og gir veldig mange muligheter, men ikke like mange som om man koder en løsning selv. Og noen få ganger er behovene til forretningsprosessen såpass spesielle at byggeklossene i alle sine kombinasjoner ikke når til.

Videre har man mindre kontroll over programvaren sammenlignet med en skreddersydd løsningen. Det gjelder både at man ikke eier teknologien og at man ikke ser den underliggende koden. Det siste betyr at man i mye mindre grad kan finne og rette opp i feil på egenhånd. I tillegg knytter man seg til en spesifikk plattform og overføring til andre løsninger kan være veldig krevende. Den underliggende koden lar seg nemlig ikke overføre til andre plattformer.

Sist, men ikke minst har også programvare som tjeneste (SaaS) modellen ulemper. Først og fremst kan det over tid koste mer å betale for en tjeneste enn å kjøpe et produkt. Dette forsterkes av den relativ høye kostnaden ved å bytte fra en tilpasset programvare til en annen. For det andre er man avhengig av at tjenesteleverandøren fortsetter å levere både tjenesten i seg selv og oppdateringer. Dette er særlig betydning for informasjonssikkerhet hvor kontinuerlige patching er avgjørende.

Så hva er lav-kode utvikling spesielt nyttig til? Hvor bør man begynne å utforske mulighetene den gir?

Svarene ligger i lav-kode utviklingens tre hovedegenskaper. Hastighet, lavere utviklingskostnad og enkle integrasjoner.

Lansering av nye tjenester eller forretningsmodeller

Når time-to-market er viktig så blir raskere utvikling avgjørende. Når man i tillegg ikke er sikker på hva som vil fungere så trenger man muligheten å gjøre forbedringer fortløpende. I tillegg vil lavere utviklingskostnader senke terskelen for å teste nye tjenester. Det er nettopp det lav-kode utvikling tilbyr. Et eksempel er mobil applikasjonen til et nyetablert strømselskap.

Digitalisering av forretningsprosesser som ikke er store nok for å forsvare et tradisjonelt utviklingsprosjekt

Ettersom utviklingskostnaden går ned, blir mindre og mer uvanlige prosesser i større grad lønnsomme å digitalisere. Videre kan brukerne i større grad delta i utviklingen og det øker sannsynligheten for at applikasjonen er lønnsom. Et eksempel er utfylling og administrasjon av tillitsvalgtes reiseregninger i en fagforening.

Utvidelser av eksisterende systemer

Mange foretak har datasystemer som fremdeles fungerer og som ville kreve store investeringer å erstatte, men som ikke er tidsriktige mht. brukervennlighet og fleksibilitet. Lav-kode programvareutvikling er spesielt egnet for slike situasjoner fordi de enkelt kan kobles til eksisterende systemer og medfører langt lavere utviklingstid og kostnad enn å gjøre utvidelsen i de eksisterende systemer. Et eksempel er en B2B bestillingsportal som sender ordrene videre til produksjonsplanleggings systemet.

Ble du interessert i lav-kode programvareutvikling eller lurer du på om noen av dine utfordringer kan løses raskt og gunstig med lav-kode, så bare ta kontakt med oss i Knowit Insight.

[i] Magic Quadrant for Enterprise Low-Code Application Platforms 2019

I Knowit lever og ånder vi for å hjelpe våre kunder med å tenke ut av boksen ved å etablere deres digitale strategi, automatisere og skalere prosesser samt å bruke digitale trender til å identifisere nye produkter og tjenester. Alt dette på en agil måte og med transparente mål mellom nivåene i bedriften. Vi møtes gjerne over en analog eller digital kopp kaffe for å fortelle deg mer, og gjerne i våre nye lokaler i Universitetsgaten 1.