
De to mest praktiske verktøyene fra domenedrevet utvikling er også de enkleste å forklare: bli enige om hva ordene betyr, og vær ærlig på at de betyr ulike ting ulike steder. Denne artikkelen viser hvordan det ser ut i et ekte prosjekt.
Del 1: Felles språk (ubikvitært språk)
I et prosjekt for en transportbedrift oppdaget vi tidlig at ordet «tur» ble brukt om tre forskjellige ting: sjåførens arbeidsdag, én kjørerute, og ett enkelt oppdrag hos en kunde. Alle i bedriften vekslet ubevisst mellom betydningene — det går fint rundt kaffemaskinen, men i et datasystem blir det kaos.
Løsningen var ikke teknisk, men språklig: vi satte navn på hver betydning (skift, rute, oppdrag) sammen med de ansatte, og brukte navnene konsekvent — i møter, i skjermbilder og i koden. Fra da av kunne en transportleder lese en feilmelding og selv forstå hva som var galt.
Slik bygger du et felles språk
- Skriv ordliste sammen med fagfolkene — og revider den når dere lærer noe nytt
- Bruk ordene i koden: klasser, metoder og databasetabeller heter det fagfolket sier
- Forby oversettelse: hvis utviklerne «oversetter» internt, mister dere sporbarheten
- Lytt etter friksjon: når noen sier «nja, det kommer an på …» har dere funnet et begrep som må splittes
Del 2: Avgrensede kontekster
Samme ord kan bety forskjellige ting i ulike deler av virksomheten — og det er ikke et problem som skal «ryddes opp i». Det er et faktum som skal modelleres.
Ta ordet «kunde» i en nettbutikk. For markedsføring er en kunde et segment med preferanser og samtykker. For lageret er kunden en leveringsadresse og et telefonnummer til sjåføren. For økonomi er kunden et organisasjonsnummer med betalingshistorikk og kredittgrense. Tvinger du alt dette inn i én «Kunde»-tabell, får du en koloss ingen tør å endre.
En avgrenset kontekst setter en tydelig grense: innenfor markedsføringskonteksten betyr «kunde» én presis ting, og modellen der kan endres uten å velte økonomien. Kontekstene snakker sammen gjennom veldefinerte grensesnitt — som selvstendige avdelinger med gode rutiner for samarbeid.
Gevinstene i praksis
- Trygge endringer: en justering i én kontekst kan ikke velte de andre
- Skalerbart teamarbeid: team kan eie hver sin kontekst uten å tråkke på hverandre
- Ærlige integrasjoner: grensene tvinger fram eksplisitte avtaler om hva som utveksles
- Enklere modernisering: gamle systemer kan byttes ut kontekst for kontekst, ikke alt på én gang
Hvor stor må bedriften være før dette lønner seg?
Mindre enn du tror. Selv i små systemer gir et felles språk umiddelbar effekt — og det koster ingenting utover disiplin. Avgrensede kontekster blir viktige i det øyeblikket to deler av virksomheten bruker samme ord om ulike ting, noe som gjerne skjer lenge før bedriften runder ti ansatte.
Lurer du på hvordan dette ville sett ut for din virksomhet? Ta en uforpliktende prat med oss — første samtale handler uansett bare om faget ditt.