Recientemente asistí a una conferencia dada por Greg Wilson (Jefe Científico de Carpintería de Software). Del resumen:
La idea de que las afirmaciones sobre las prácticas de desarrollo de software deben basarse en evidencia aún es ajena a los desarrolladores de software, pero esto finalmente está comenzando a cambiar: cualquier académico que afirme que una herramienta o práctica en particular hace que el desarrollo de software sea más rápido, más barato o más confiable es ahora esperaba respaldar esa afirmación con algún tipo de estudio empírico.
En general, la conferencia fue muy informativa y me dejó pensando bastante profundamente sobre mi enfoque del desarrollo. En particular, ahora me encuentro buscando citas para respaldar muchas declaraciones. Anteriormente, me había acostumbrado a repetir las verdades ofrecidas, tal vez con una nota mental para comprobarlo más tarde.
Dicho sin rodeos, estaba siendo crédulo .
Aquí hay un ejemplo tomado de la conferencia:
"Si más del 25% del código necesita refactorización, es más rápido reescribirlo".
Suena plausible, pero ¿es cierto? ¿Dónde está el estudio respaldando esto? ¿Es cierto para todos los idiomas? Y así.
OK, es bastante posible llevar esto al extremo y no creer nada por nadie a menos que lo haya derivado usted mismo de los primeros principios. De esa manera se encuentra la locura (o tal vez las matemáticas ;-)). Pero, si alguien se le acerca con una declaración en la línea de "Oye, al hacer esto en [elegir el idioma del momento] podremos aumentar la productividad en [elegir un múltiplo del 10]%", ¿estás dispuesto a simplemente aceptarlo, o vas a pedir pruebas comprobadas?
Si es lo último (y espero que lo sea) entonces
- ¿A dónde irías para encontrar esta evidencia?
- ¿Qué tan estricto serías?
En resumen, si alguien le ofrece una declaración no verificada, ¿responderá con "cita requerida"?