Reflektion över destillation

Jag läste nyligen ut boken Domain-Driven Design (DDD), av Eric Evans. I ett av kapitlen tar Eric upp “Destillation” som ett av stegen i hur man når en uttrycksfull och djup modell av verkligheten. Det innebär, som jag tolkar det, att ständigt arbeta med design, att våga tänka om och att ständigt förfina och förenkla sin modell av verkligheten.

Enligt boken och även min egen erfarenhet är det dock något som sällan sker i utvecklingsprojekt. Ofta stannar vi vid den första designen som ser ut att fungera. Den är i bästa fall en naiv, okunnig bild av domänen – i andra fall helt felaktig. Vi kanske till slut får mjukvara som fungerar, men den är inte fantastisk.

Hur som helst, kapitlet om destillation fick mig att fundera på om inte allt kreativt arbete har inslag av två faser: Ett kreativt skapande och ett analytiskt destillerande.

Låt mig ta ett exempel: Antag att du ska skriva en text för din blogg (surprise!). Många, inklusive jag själv, arbetar på så sätt att vi först försöker få ner alla relevanta tankar vi har om ämnet, därefter låta texten vila något, för att därefter förfina och förkorta texten i ett eller flera pass. Målet är säga exakt det man vill ha sagt (maximal uttrycksfullhet) på kortaste, elegantaste sätt (maximal förståelse och tillgänglighet). På samma sätt som i Evans’ DDD innehåller denna uppgift två distinkta faser.

Ett annat exempel som omedelbart dyker upp i huvudet är brain-storming. Många känner till reglerna för brain-storming, men inte alla känner till att den egentligen ska göras i flera omgångar. Först, kreativt spekulerande och idéskapande, därefter ett kritiskt förfinande och selekterande. Och gör om tills vi är nöjda. Precis samma sak.

Annat exempel: Kodning och refaktorisering sägs visserligen göras “kontinuerlig”, men sanningen är ju att vi systemutvecklare arbetar i två modus: 1. Få till kod som löser uppgiften vi har framför oss, och 2. förfina koden för maximal förståelse, uttrycksfullhet och återanvändning. Samma sak fast kortare faser.

En fråga man kan ställa sig då: Varför två distinkta faser? En teori kan vara att våra hjärnor inte är kopplade för att tänka kreativt och analytiskt på samma gång. Det är nästan som en slags andning. Andas in: Sätt igång hjärnan på maximal kreativt läge. Andas ut: Betrakta det du har fått fram som om du aldrig har sett det förut. Utmana det för att hitta de absolut bästa tankarna. Det är svårt att att andas in och ut samtidigt.

Som norrlänningen sa: Destillation är en del av livet.