lørdag den 20. juni 2009

Vedligeholdelsesfri dokumentation

Prøv lige at smage på de ord: "Vedligeholdelsesfri dokumentation" - lyder det ikke godt? Smag bare lidt mere på det, mens jeg afslører, at jeg tror at det ca. lige så umuligt som "slanke-chokolade" og "sundt slik".

Bevares, hvis kakao-indholdet i chokolade er højt nok, så skulle det vistnok kræve mere energi at fordøje end man kan optage fra det - og den form for tørret frugt, som kalder sig selv for "sundt slik", er nok heller ikke så slemt (ikke mindst fordi, at man sjældent hører om nogen, som spiser en hel pose af det på en gang!).

På samme måde vil en dokumentation, som beskriver noget, som aldrig ændrer sig, være så godt som vedligeholdelsesfri (helt frit bliver det kun, hvis dets kontekst også er statisk). Og jeg hørte for nyligt om et eksempel, hvor man skulle bruge en adapter til et ældgammelt system, og hvor man pustede støvet af de gulnede ark med dokumentationen systems kommunikationsprotokol, og på rimelig tid ud fra dokumentationen alene lavet en velfungerende nyimplementation af protokollen i et moderne sprog. Men kan vi ikke godt blive enige om, at det så absolut er undtagelsen?

Så, som tommelfingerregel, så koster det at have dokumentation. I øvrigt koster det også at finde den, når man skal bruge den (og jo mere man har, jo sværere kan det blive); og det koster såmænd også at bruge den. Personligt har jeg i hvertfald tit oplevet at bruge længere tid på at læse al den relevante(?) dokumentation, end på rent faktisk at arbejde med ændringen - og det fraregnet tiden med at finde den i første omgang.

Hvad får mig så lige til at skrive det - jo, som Mikis bemærker i indlægget "The cost and benefit of documentation", så har der nok været en tendens til (i bedste fald) kun at kigge på etableringsomkostningerne.

Alligevel så kan vi ikke undvære dokumentation, så kunsten er at have præcis den rette mængde - og her slår Mikis et slag for begrebet "behovsdreven dokumentation" - tesen er, at det først er, når vi har brug for dokumentationen, at vi reelt kan vurdere, om den er indsatsen værd, og hvilken form den bør have.

Her tror jeg virkelig, at Mikis har fat i den lange ende, for det svarer meget godt til YAGNI holdningen fra XP, og YAGNI har igen og igen vist sit værd i praksis.

En enkelt bekymring kan jeg dog godt have: det er ikke sikkert, at behovet manifesterer sig tidsnok. Måske går det fint med uformel erfaringsudveksling medens tingene er under udvikling, og derfor er der ikke dokumenteret noget nævneværdig - behovet for dokumentation viser sig måske først, efter at to af de tre, som vidste noget, er rejst, og den trejde er på barsel?

Eller helt generelt, så er der områder med lav risiko og høj konsekvens - og så kan man ikke vente på, at det indtræffer; her vil man lettere kunstigt være nød til at skabe behovet undervejs, lidt på samme måde, som når færdselspolitiet er nød til at lave fartkontroller, for at hjælpe os med at huske fornuften i at køre efter omstændighederne - alternativet ville være at mange af os ville dø, inden vi lærte den rette mængde af moderation.

Det, som jeg vel prøver at sige er, at nogen dokumentation kunne godt være af typen med lav risiko og høj konsekvens, og så kan vi næppe forlade os udelukkende på "behovsdreven dokumentation"?

Læs hans indlæg - det er godt at blive klog af!

Ingen kommentarer: