Newsgroup: it.comp.programmare
Titolo: Sulla documentazione (Era: Inizia l'avventura dell' Italian Agile Movement....)

Ciao,
    volevo riprendere il discorso relativo alla documentazione come
viene vista nell'approccio agile allo sviluppo softwware dato che,
anche dalle mail che sto' ricevendo ultimamente, credo ci sia un po'
di confusione.
Rimane valido tutto cio' che ho scritto nella mia precedente risposta
ma vorrei sottolineare alcuni aspetti relativi alla documentazione non
tanto per l'utente finale quanto di progetto (documenti di planning,
analisi, design, etc, etc).
Intanto un esempio che trovo illuminante nella sua banalità: se
dovessi scegliere tra partecipare ad un progetto che ha 1000 pagine
che ne descrivono le caratteristiche, requisiti, etc, etc ma senza
alcuna possibilità di parlare e discutere con il cliente ed uno che ha
solo 50 pagine di documentazione ma con la possibilità di avere una
comunicazione continua e fattiva con il cliente quale sceglieresti?
Come Highsmith anche io non ho ancora trovato nessuno che sceglierebbe
il primo e questo per un motivo molto semplice: la documentazione è un
valido supporto alle idee una volta chiare ma non è lo strumento
adatto per avere nuove idee (qui idee è inteso nel senso più ampio
possibile).
E' solo con una continua collaborazione e comunicazione con i diretti
interessati che è possibile innovare, inteso come migliorare la
propria ed altrui comprensione del dominio del problema e
conseguentemente avere idee sul come affrontarle correttamente.
Il problema della documentazione cosi come intesa negli attuali
processi di sviluppo software 'pesanti' è che essa diventa l'unico
modo di comunicare alzando barriere spesso insormontabili tra gli
attori in gioco (anche perchè ogni realtà ha il proprio dizionario e
ad ogni passaggio è necessaria una traduzione che nel migliore dei
casi porta a qualche piccola incomprensione).
Inoltre fa passare in secondo piano l'importanza delle persone dando
l'idea che un qualsiasi membro del team di sviluppo sia facilmente
sostituibile tanto chiunque potrà, grazie alla documentazione, essere
immediatamente produttivo acquisendo totale padronanza del CONTESTO.
Non ho usato la parola contesto a caso ma per sottolineare che anche
nello sviluppo software, come in tutte le altre attività umane, è nel
contesto che si trovano i valori e le cose importanti. Portare una
problematica fuori dal proprio contesto equivale a snaturarla.
La documentazione, come detto prima, è sicuramente di supporto ma
difficilmente permette di comprendere il contesto essendo esso fatto
anche (soprattutto) di rapporti umani e non solo di specifiche
tecniche.
Il vero valore aggiunto è dato dalle persone e cio' che da una marcia
in più ai progetti sono le intuizioni e la conoscenza 'implicita'
delle persone. Quel tipo di conoscenza che si puo' scambiare solo
lavorando fianco a fianco, passando le giornate insieme,
chiacchierando davanti alla macchinetta del caffè, mangiando un panino
insieme, etc, etc.
E' come l'esperienza che in generale è difficilmente trascrivibile in
un documento, a meno di semplificare e ridurne il valore effettivo.
L'esperienza è invece facilmente trasmissibile/acquisibile lavorando
insieme, confrontandosi e "vivendo il lavoro insieme".
Ho già scritto troppoma spero di poter scrivere ancora perchè vorrà
dire che qualcuno avrà letto e fatto le proprie considerazioni.
Buona giornata :-)
Marco Abis
http://www.agilemovement.it
 - Uncovering better ways of developing
software

 dire che qualcuno avrà letto e fatto le proprie considerazioni.
Beh! spero che lo farai
--
----------------------------
Fulvio Esposito
WWW: 
http://digilander.libero.it/fesposito
E-Mail: 
ful...@libero.it
----------------------------