lørdag den 4. november 2017

Hvornår er det bedste tidspunkt at skrive dokumentation i et agilt projekt, og hvem skal gøre det?

Givet at tingene hele tiden ændre sig, så ser det vel skidt at skrive dokumentationen for tidligt ikk?
Men betyder det så at det er bedst at vente længst muligt inden man skrive den.

Der er mange der tror at i agile projekter skal man ikke dokumentere i det koden er dokumentation. Det skyldes for det meste at de har set forkert i den agile manifest og har misforstået det at man vælger virkende kode over regid dokumentation som at man ikke skal skrive noget dokumentation. Det er imidlertid ikke helt sandheden og jeg vil påstå at der ikke findes et projekt som kan sige set helt fri for at lave noget som helt dokumentation og stedig kunne producere en reel aflevering.

Jeg personligt er stor tilhænger af at man kun skriver den dokumentation som er nødvendig, og da det er så pokkers svært at få folk til at skive den i det første sted, er det ret smart at man skriver den rigtigt første gang samt at man skriver den på det rigtige tidspunkt.

Til slut i sprintet?

Hvis man nu antager at man udvikler sprint baseret, så er det ret tit at man har “opdater dokumentation” med i definition of done for et sprint. Ideelt set betyder det at når sprintet slutter, så er dokumentationen skrevet. Virkeligheden er bare ofte den at i slutningen af sprintet så er alle pressede, og det at skrive dokumentation bliver hurtigt nedprioriteret. Generelt er der forståelse hos diverse product owners for de vil hellere have noget der virker end noget der er dokumenteret og derfor acceptere de oftest at der ikke bliver skrevet noget. Den dokumentation der burde bliver skrevet bliver så aldrig nogen sinde skrevet. Jeg kan altså ikke få mig selv til at betragte denne løsning som en god ide.

Inden milestone slutter?

Så kan man også sige at i sprintet inden hver milestone, så laver man opsamling på dokumentation sådan at alle bruger et par dage af sprintet på at skrive den dokumentation som de er bagefter med. Ret ofte går det sådan at der lige er noget at der virker vigtiger de dage så der bliver helt sikkert skrevet noget dokumentation, men det er ikke det hele og det bliver aldrig leveret i en stand der er brugbar på den måde. Det kan hjælpe her at have en kvalitetsgate, men ligesom med sprint løsningen beskrevet ovenover, så bliver selve dokumentationsskrivningen trumfet af teknsike opgaver op til sådan en milestone, for der er normalt en release knyttet sammen med den milestone og den for som regel alt opmærksomhed op til at releasen går live, hvilket er rigtigt nok. Det er bare et dårligt sted at dokumentere så.

Hvad er så den rigtige måde?

Jeg ved godt det lyder underligt for de fleste, men der findes folk der syntes det er sjovt at dokumentere systemer og finde ud af hvordan de virker og deres detaljer. Hvad med at få dem til at lave dokumentationen? - Ret ofte er det også langt bedre til at skrive den da de rent fakstisk kan lide det. Hvis man alligevel har en blandet mænge folk på projektet, hvorfor så ikke også have en dokumentarist? Det vil helt sikekrt give et mere roligt projekt når udviklere kan koncentere sig om at udvikle, testere om teste og forrentningsfolk om at beslutte.
Det undrer mig virkeligt meget at der ikke er flere der bruger denne teknik.