Vår omgivning blir allt mer komplex och de system vi utvecklar förutsätts kunna lösa allt mer komplicerade problem. För att lyckas med detta behöver vi få till ett kreativt samarbete mellan utvecklare och verksamhetsexperter. Vi behöver också tillgång till verktyg och metoder för att stötta oss under utvecklingsarbetet.

complex-projects

 

Att så snabbt som möjligt gå från idé till fungerande mjukvara är, eller kommer att bli, en kritisk förmåga hos allt fler företag och organisationer allteftersom digitaliseringen breder ut sig. Men majoriteten av de organisationer som bygger mjukvara i dag har inte mjukvara som primärt verksamhetsområde, eller domän. Tjänsten eller produkten som tillhandahålls är istället något helt annat: kläder, väderleksprognoser, finansiella investeringar, mat, läkarvård, parkering, eller vad det nu kan vara.

Taktiskt och strategiskt perspektiv

Tekniken blir mer komplicerad och möjligheterna fler. Kraven och förväntningar från användare blir högre, ambitionerna och tempot likaså. För att framgångsrikt bygga de system som möjliggör framtidens affärer krävs att vi anlägger ett såväl taktiskt som strategiskt perspektiv på mjukvaruutveckling.

De taktiska perspektivet handlar om hur vi på ett effektivt sätt tar oss från önskemål till fungerande program; från user story till exekverbar kod. Det strategiska perspektivet svarar på frågor om hur vi ska organisera oss på ett effektivt sätt när vi blir fler utvecklare än vad som rimligen kan rymmas inom ett team; och hur vi vet vad vi ska bygga, vad vi ska köpa och vad vi helt kan strunta i. Det här är frågor som involverar alla i utvecklingsteamet, inte bara produktägare, arkitekter eller chefer.

Minska gapet mellan domänexperter och utvecklare

En av de större utmaningarna är att överbrygga gapet mellan de personer som är experter på verksamheten (domänexperterna) och de som är experter på att bygga mjukvara (utvecklarna). Den kritiska komplexiteten tenderar att ligga i affären, inte i att bemästra tekniken. För att effektivt kunna bygga rätt mjukvara snabbare krävs ett kreativt samarbete mellan alla inblandade. Ju närmre vi är kärnan i affären, desto viktigare är det att vi samarbetar effektivt.

Domändriven design — en nödvändig verktygslåda

Domändriven design (DDD) ger oss en uppsättning verktyg och principer som hjälper oss att med laserskarpt fokus på affärsvärde bygga mjukvara som löser komplexa problem, och som dessutom tål att byggas vidare på under lång tid framöver. Verktygslådan innehåller medel både för att ta oss an de taktiska så väl som de strategiska perspektiven.

Skriv en kommentar