Draft
Åben leverancemodel
Sådan får I styr på leverancerne!
Jan Maack Kjerbye - Enterprise Arkitekt @ os2.eu ✉️
Som projektleder i det offentlige kan du stå i en situation hvor du indkøber softwareudvikling uden at kunne se, hvad leverandøren faktisk laver. Men det behøver ikke være sådan!
En åben leverancemodel gør alt arbejde synligt og sporbart - fra den første idé til den endelige leverance. Modellen bygger oven på jeres kontrakt - I får nu dokumentation for hvad der er lavet, hvad der mangler, og hvem der har gjort hvad.
Fordelene
| Enighed om leverancer |
| Skab fælles forståelse mellem myndighed og leverandør ved at definere alt arbejde som synlige, prioriterede opgaver. Når prioriteringer laves åbent, kan begge parter se og acceptere hvad der leveres hvornår. |
| Handlefrihed til myndigheden |
| Behold kontrollen over jeres projekt uanset hvilken leverandør I vælger at bruge, nu eller i fremtiden. Når al kode og dokumentation er tilgængeligt, kan I til enhver tid skifte leverandør uden at miste viden eller investeret arbejde. |
| Digital suverænitet |
| Digital suverænitet er et mål for mange myndigheder, men vejen derhen kan føles uklar. Denne model giver et konkret svar: Når I ejer kildekoden, har uafhængig teknisk kompetence og arbejder transparent, har I allerede taget de vigtigste skridt. EU’s og statens ambitioner om digital suverænitet starter med at have kontrol over jeres egne digitale løsninger. |
| Direkte genbrugelighed |
| Når I betaler for en løsning der er udviklet i det åbne med denne metode, kan andre offentlige myndigheder genbruge den med blot ganske få lokale tilpasninger. Dette maksimerer værdien af skatteborgernes penge og styrker det fællesoffentlige digitale økosystem. |
Tre enkle trin til implementering
1. Organisering
Etabler klare roller og prioritering
- Følg OS2’s styringsmodel og etabler en styregruppe og en koordinationsgruppe til at varetage projektets ledelse og produktansvar. Skriv til os2@os2.eu for at komme i gang med det organisatoriske.
- Definér en
maintainer-rolle der har det tekniske overblik. Styregruppen, koordinationsgruppen og maintaineren har forskellige fokusområder men et fælles mål: at levere kvalitetssoftware til tiden. - Som koordinationsgruppens forlængede tekniske arm understøtter
Maintainer-rollen kvalitet og kadence gennem automatiserede processer. For at bevare kontrollen skal rollen være leverandøruafhængig og ligge uden for leverandørens organisation. Rollen kræver dyb dokumenteret erfaring medgitog open source-processer.
2. Teknisk implementering
Skab et standardiseret fundament
- Alt starter i jeres projekts OS2-ejede
repository. Skriv til os2@os2.eu for oprettelse samt onboarding af maintainer og projektleder. - Jeres leverancestyring konfigureres og styres fra dette
repo- I har som medlemmer direkte adgang og indflydelse. Kildekode, dokumentation og leverancehistorik m.m. placeres her, uden for udviklings- eller hostingleverandørernes interne systemer. - Maintainer opsætter
branch protection-regler der sikrer at kun gennemgået, godkendt kode kanmergesind i projektet. - Maintainer opsætter
pull request-skabeloner der sikrer at alle ændringsanmodninger (pull requests) indeholder nødvendig kontekst. - Maintaineren opsætter
issue-skabeloner der sikrer at alle nye opgaver indeholder de nødvendige informationer. - Maintaineren opsætter i samarbejde med projektlederen meningsfulde
labels(emne-markører) ogmilestones(milepæle), der passer til projektets kontekst. - Moderne
gitplatforme har indbyggetCI/CD-funktionalitet - klar til brug med det samme. Maintaineren vælger fra et stort bibliotek af automatiseringsbyggeblokke og tilpasser dem til projektet. - Adgangsrettigheder konfigureres og vedligeholdes for at sikre at kun maintainer og projektleder (på vegne af styregruppen) har skriveadgang til
main branch.
3. Proces-etablering
Arbejd transparent fra dag ét
- Definer en
backlogi jeresissue-trackermed alle ønsker og krav, og bind dem sammen med enbranchinden arbejdet godkendes til at blive sat i gang. Prioriter synligt, så leverandøren ved præcis hvad der skal laves. Dette binder den leverede kode og dokumentation sammen med den definerede opgave. - Alt arbejde udspringer af en aftalt opgave (
issue). Når leverandøren har udført arbejdet, kan I se det via en anmodning om godkendelse (pull request). Her kan I stille spørgsmål, bede om rettelser eller demoer. Først når I har godkendt det, bliver det en del af løsningen. - Leverandøren kan på denne måde starte med at levere dokumentation og kode med det samme, men kan ikke ændre den endelige løsning uden jeres godkendelse. Ligesom alt andet arbejde er også godkendelsen synlig i ændringshistorikken.
- Resultatet af arbejdet leveres som en
pull request. Før kodemerges, gennemgås den af en anden end forfatteren selv. - Som behovet stiger tilføjes automatiske tests via den indbyggede
CI/CDinden kodemerges.
Fremadrettet
Når I arbejder åbent og transparent, kan I opbygge et fællesskab omkring jeres løsning. Andre myndigheder kan følge med i udviklingen og bidrage med forbedringer. Denne model er et simpelt leverancekrav - ikke anderledes end at stille krav til dokumentation eller kvalitetssikring.
Forstå begreberne
Klik på begrebet for en længere ekstern forklaring (på engelsk)
| Term | Beskrivelse |
|---|---|
issue ↗ | En opgave, fejl eller idé der registreres i projektets issue-tracker |
issue-tracker ↗ | Repositoriets indbyggede opgavestyringssystem |
branch ↗ | En isoleret arbejdskopi der knyttes til et issue |
backlog ↗ | Alle opgaver der venter på at blive prioriteret |
maintainer ↗ | Teknisk ansvarlig der sikrer processerne overholdes og kan automatisere dem |
branch protection ↗ | Regler der forhindrer kodeændringer uden godkendelse |
pull request ↗ | Anmodning om at få kodeændringer gennemgået og godkendt før de optages i projektet |
repository ↗ | Projektmappe med kode, dokumentation og releaseprocesser |
merge ↗ | Godkendelse og publicéring af kode, dokumentation eller konfiguration |
main branch ↗ | Den godkendte, endelige version af koden (klar til udgivelse) |
repo ↗ | Almindeligt brugt forkortelse for repository – projektmappe med kode og dokumentation |
git ↗ | Versionsstyringssystem der holder styr på ændringer i projektet |
CI/CD ↗ | Værktøjer til automatisering af test og udgivelse af kode |
labels ↗ | Mærkater brugt til at kategorisere og sortere issues og pull requests |
milestones ↗ | Tidsbundne mål for projektet, der hjælper med at holde fokus på vigtige leverancer |
Læs mere
- OS2.eu - Det gør OS2
- OS2.eu - Governance og styringsmodel
- OS2.eu - Arbejdsgrupper
- digst.dk - Digital suverænitet (oversigt)
- digst.dk - Analyse af digital suverænitet (PDF, Januar 2026)
- kl.dk - Kommunernes Digitaliseringsstrategi 2026-2030 (PDF)
- EU - Digital Decade Country Report - Denmark
- GitHub.com - About issues
- GitHub.com - About pull requests
- GitHub.com - About protected branches
- GitHub.com - About branch protection rules
- GitHub.com - Using labels and milestones to track work
- os2.eu - Hvad er Open Source?