El mundo del desarrollo software está lleno de mitos (como el Ingeniero 10X) y mensajes propagandísticos a favor/ en contra de determinados métodos y técnicas de desarrollo. Esta situación no ayuda para nada a tener una discusión sensata y basada en datos acerca de qué es lo que realmente ayuda a desarrollar software de más calidad y de acuerdo a las estimaciones iniciales.

Es por eso que os traigo hoy una charla de Greg Wilson, titulada “Software Engineering’s Greatest Hits” donde, según sus propias palabras, explica “Lo que realmente sabemos sobre el desarrollo de software, por qué creemos que es cierto y cómo podemos compartir ese conocimiento con más gente”. Esta charla es una versión actualizada, con más datos, de este tema (el análisi empírico del desarrollo software) que siempre ha sido uno de sus mayores intereses.

Evidentemente, la charla no cubre todos los aspectos del desarrollo pero sí que presenta suficientes evidencias como para motivar la necesidad de usar el método científico cuando  hablemos de desarrollo. ¡Más investigación y menos “humo” en el mundo del desarrollo software!. Por ejemplo, ¿sabías que?:

  • Los profesores de programación no son conscientes de los errores (y dificultades) más comunes que sufren los programadores que empiezan. Lo que afecta a la efectividad de los cursos de introducción a la programación.
  • Test-driven development no mejora la calidad de tu proceso de desarrollo. Trabajar utilizando iteraciones cortas sí lo hace.
  • Contar líneas de código sigue siendo la mejor métrica. Ninguna de las muchas métricas más complicadas que se han ido proponiendo mejora las predicciones.
  • Testear el código que gestiona errores de la aplicación es muy importante y normalmente ignorado (los tests normalmente se focalizan en testear casos en los que la aplicación funciona, no tanto en que el código que se encarga de gestionar la aplicación cuando ésta falla, también funcione)
  • No hay gente que haya nacido para programar. Todos podemos aprender.
  • Los programadores crean muchísimas más opciones de configuración de las que los usuarios van a utilizar nunca.
  • Y mucho más….

Os dejo con la presentación y falta decir que os recomiendo encarecidamente que dediquéis media hora de vuestra vida a mirarla. Será una gran inversión. Las slides están disponibles aquí y os dejo también un thread de twitter donde Greg anuncia y comenta sobre su propia charla.  Greg acaba pidiendo que se añada este tipo de discusiones en un curso específico que enseñe a los estudiantes como aplicar técnicas de ciencia de datos a los proyectos software para tener una visión más crítica del mundo del desarrollo.