Recentemente, participei de uma palestra proferida por Greg Wilson (cientista-chefe de carpintaria de software). Do resumo:
A idéia de que reivindicações sobre práticas de desenvolvimento de software devem se basear em evidências ainda é estranha para os desenvolvedores de software, mas isso finalmente está começando a mudar: qualquer acadêmico que afirme que determinada ferramenta ou prática torna o desenvolvimento de software mais rápido, mais barato ou mais confiável agora espera apoiar essa afirmação com algum tipo de estudo empírico.
No geral, a palestra foi muito informativa e me deixou pensando profundamente sobre minha abordagem ao desenvolvimento. Em particular, agora me pego procurando citações para fazer backup de muitas declarações. Anteriormente, eu tinha adquirido o hábito de simplesmente repetir as verdades oferecidas, talvez com uma nota mental para verificar mais tarde.
Em outras palavras, eu estava sendo ingênuo .
Aqui está um exemplo retirado da palestra:
"Se mais de 25% do código precisar de refatoração, é mais rápido reescrevê-lo".
Parece plausível, mas é verdade? Onde o estudo está apoiando isso? É verdade para todos os idiomas? E assim por diante.
OK, é bem possível levar isso ao extremo e não acreditar em nada de ninguém, a menos que você o tenha derivado dos primeiros princípios. Dessa maneira está a loucura (ou talvez a matemática ;-)). Porém, se alguém lhe responder com uma afirmação do tipo "Ei, fazendo isso em [escolher linguagem do momento], poderemos aumentar a produtividade em [escolha múltipla de 10]%". aceite, ou você vai pedir evidências comprovadas?
Se é o último (e espero que seja), então
- onde você iria encontrar essa evidência?
- quão rigoroso você seria?
Em resumo, se alguém lhe oferecer uma declaração não verificada, você responderá com a "citação necessária"?