Freelance fullstack softwareudvikler

Jeg hjælper virksomheder med softwareudvikling i teknologierne Laravel (PHP) og .NET Core (C#) til backend-udvikling, samt React.js og Svelte.js til front-end udvikling.

Skræddersyet softwareudvikling tilpasset jeres behov

Gennem årene har jeg i samarbejde med mine kunder, bygget mange skal digitale løsninger, som hver gang er tilpasset den enkelte kundes behøv og krav. F.eks. har jeg bygget:

  • System til udregning af tilbud
  • Løn- og timeregistreringsprogram
  • Afvigelsessystem
  • Platform til informationsdeling
  • Kursusplatform
  • System til synkronisering af data med ERP-systemet Business Central
  • … og meget andet.

Høj performance og sikkerhed er en selvfølge

Jeg gør meget ud af at holde mig opdateret på seneste teknologier, frameworks og ‘best practices’. Det sikre at løsningerne jeg udvikler er teknisk tidssvarende med lang supporttid, så mine kunder ikke hurtigt må se ind i teknisk gæld. Det giver en grundlæggende høj sikkerhed, og optimal performance.

Teknologier og frameworks til softwareudvikling

Jeg bruger nogle at de mest populære teknologier til softwareudvikling, som tilsammen dækker bredt ift. løsningsmuligheder. Teknologierne som jeg udvikler softwareløsninger i er hovedsageligt .NET Core, Laravel, React.js og Svelte.js. Som database bruger jeg oftest enten PostgreSQL, MySQL eller Microsoft SQL Server.

Ovenstående teknologier og frameworks jeg bruger, giver mig rig mulighed for at lave robuste løsninger indenfor mange ting såsom:

  • Webapplikationer
  • Back-end udvikling (som f.eks. en API)
  • Front-end udvikling (herunder også PWA’s)
  • Computerprogrammer til både Windows, Mac og Linux
  • Apps til mobil og tablets

Processen for softwareudvikling

Mange projekter er forskellige, men som hovedregel forløber processen for et softwareudviklingsprojekt i steps som beskrevet nedenfor.

1. Afklaring af behov og mål

Vi sikre at både du og jeg har en fælles forståelse af projektet, og bliver enige om nedenstående.

  • Forretningsmål: Hvilket problem løses
  • Målgruppe og brugsscenarier: Hvem skal bruge løsningen og hvordan skal den bruges
  • Succeskriterier: Vi sætter rammen for hvornår projektet er gennemført. Herunder afklarer vi også, om systemet laves i versioner/steps mod “den perfekte løsning”. Med andre ord; skal løsningen være en MVP eller et færdigt produkt?

2. Kravsspecifikation

Forventninger gøres konkrete og målbare, og vi får styr på nedenstående.

  • Funktionelle krav: Hvilke funktioner skal løsningen indeholde, hvilke flows skal systemet have, og hvilke use cases bruges løsningen i?
  • Ikke-funktionelle krav: Omfatter eventuelle krav til f.eks. performance, sikkerhed, skalerbarhed, lovkrav som GDPR.
  • UI/UX-krav: Baseret på de forskellige krav der er til løsningen, udarbejder jeg wireframes af løsningen, som er en grov skitse af løsningen. Krav til UI/UX kan også komme fra dig.
    Gennem de sidste par år har jeg samarbejdet med en grafisk designer, så her kan også tilbydes en professionel udarbejdet designguide af løsningen inden den tekniske løsning påbegyndes.

3. Teknisk afklaring

Vi træffer beslutninger om tekniske valg for løsningen, som bl.a. vedrører følgende:

  • Teknologier: Hvilke teknologier skal bruges til front-end, back-end og database?
  • Integrationer: Skal systemet integrere med andre systemer? F.eks. Business Central, E-conomic, Open AI eller noget helt andet.
  • Hosting: Hvorhenne skal løsningen hostes? Tit bruger jeg Hetzner til hosting af softwareløsninger, som er en europæisk leverandør af cloudhosting. Ellers har mine kunder og nogle gange egne servere hvorfra løsningen skal hostes.
  • Kodestandarder og dokumentation: Jeg arbejder med ‘best practice‘ principper, og strukturere min kode efter SOLID-princippet. Har du andre krav at tilføje, afklarer vi disse.

4. Estimering og plan

Vi skaber realistiske forventninger til tid og pris for projektet. Hvordan en plan og afregningsmodel laves, afhænger ofte af projektets omfang, men en eller flere af nedenstående punkter kan komme i spil.

  • Prisestimat pr. funktion i løsningen.
  • Timepris eller fast pris på hele eller dele af projektet.
  • Milepæle for projektet.

5. Udviklingsfasen

I denne fase starter den tekniske softwareudvikling af projektet, som indeholder følgende:

  • Løbende statusopdateringer
  • Demoer / review af delresultater
  • Løbende justeringer

6. Test og kvalitetssikring

Formålet med denne fase er at vi sikre at løsningen lever op til alle kravene. Løsningen testes med andre ord op mod de opstillede krav fra starten af projektet.

7. Levering og overdragelse

Selvom softwareprojekter som reelt “slutter” med at jeg hjælper til efterfølgende med drift og udbyggelse af løsningen, er det vigtigt for mig, at jeg ikke gør mine kunder unødvendig afhængig af mig. Det betyder at når jeg har afleveret et softwareprojekt og alt ift. afregning er på plads, deler jeg kildekoden til alt jeg har lavet. På den måde vil en anden softwareudvikler evt. kunne tage over på drift og vedligehold af en løsning.

I forbindelse med en overdragelse af en løsning, står jeg selvfølgelig også klar med oplæring i brug af løsningen.

8. Drift, support og videreudvikling

Efter et gennemført projekt, står jeg naturligvis klar til at assisterer med løbende rettelser, vedligehold og drift.