Di recente ho partecipato a una conferenza tenuta da Greg Wilson (Chief Scientist of Software Carpentry). Dall'abstract:
L'idea che le affermazioni sulle pratiche di sviluppo del software dovrebbero essere basate su prove è ancora estranea agli sviluppatori di software, ma questo sta finalmente iniziando a cambiare: qualsiasi accademico che afferma che un particolare strumento o pratica rende lo sviluppo del software più veloce, economico o più affidabile è ora si aspettava di sostenere tale affermazione con una sorta di studio empirico.
Nel complesso, la lezione è stata molto istruttiva e mi ha lasciato riflettere molto profondamente sul mio approccio allo sviluppo. In particolare, ora mi ritrovo a cercare citazioni a sostegno di molte dichiarazioni. In precedenza, avevo preso l'abitudine di ripetere semplicemente le verità offerte, con forse una nota mentale per andare a controllare più tardi.
Per dirla senza mezzi termini, stavo diventando credulone .
Ecco un esempio tratto dalla lezione:
"Se oltre il 25% del codice deve essere sottoposto a refactoring, è più veloce riscriverlo".
Sembra plausibile, ma è vero? Dov'è lo studio a sostegno di questo? È vero per tutte le lingue? E così via.
OK, è del tutto possibile portare questo all'estremo e non credere a nulla da nessuno a meno che tu non l'abbia derivato dai primi principi. In questo modo sta la follia (o forse la matematica ;-)). Ma, se qualcuno ti viene incontro con una dichiarazione sulla falsariga di "Ehi, facendo questo in [scegli la lingua del momento] saremo in grado di aumentare la produttività del [scegli multipli del 10]%" sei propenso a accettalo o chiederai prove comprovate?
Se è quest'ultimo (e spero lo sia) allora
- dove andresti a trovare queste prove?
- quanto saresti severo?
In breve, se qualcuno ti offre una dichiarazione non verificata, risponderai con "citazione necessaria"?