La edición de enero-febrero 2010 de la revista Harvard Business Review publicó un estudio muy interesante sobre la motivación de los trabajadores. Y, si lo analizamos un poco, veremos que el estudio nos explica porqué TDD funciona tan bien para el desarrollo de software.
El estudio de Harvard Business Review
Si le preguntan a cualquier líder qué creen que motiva a sus empleados, seguro que les podrán responder con certeza. En una encuesta reciente, invitamos a más de 600 gerentes de docenas de empresa para que evaluen el grado de impacto que tienen cinco factores de trabajo (que usualmente son considerados importantes) sobre la motivación y emociones de los empleados: reconocimiento, incentivos, apoyo interpersonal, apoyo para lograr progreso, y objetivos claros. La opción "Reconocimiento por un buen trabajo (tanto público como privado)" salió en primer lugar.
Desafortunadamente, estos gerentes están equivocados.
Acabamos de terminar un estudio de varios años siguiendo las actividades diarias, emociones, y niveles de motivación de cientos de trabajadores del conocimiento en distintos lugares, y ahora sabemos cuál es el mejor motivador de desempeño - increíble, este factor es el que los gerentes dejaron para el final. Estamos hablando del progreso. En los días que los trabajadores sienten que están avanzando en su trabajo, o cuando reciben apoyo que los ayuda a superar obstáculos, sus emociones son positivas y tienen el mayor impulso para terminar con éxito. En los días que sienten estar dando vueltas sin sentido o encuentran escollos para alcanzar logros importantes, su estado de ánimo y motivación es la más baja.
Una buena noticia
Los gerentes y líderes de personas tienen que recibir esto como muy buenas noticias: la clave para la motivación se encuentra bajo su control! Más aún, no se necesitan crear sistemas de incentivos (de hecho, las personas en nuestro estudio casi nunca mencionaron los incentivos en sus diarios). Los gerentes tienen una poderosa influencia sobre los eventos que facilitan o impiden el progreso. Pueden brindar objetivos con sentido, recursos y apoyo, y pueden proteger a sus personas de demandas irrelevantes. O pueden no hacer nada de eso.
Y esto nos lleva a la recomendación que podemos dar a partir de este estudio: debemos evitar a toda costa impedir el progreso haciendo cambios de metas de forma autocrática, siendo indecisos, o reteniendo recursos. Los eventos negativos en general tienen un efecto más grande en las emociones, percepción y motivación de las personas que los eventos positivos.
TDD como motivador
Creo que el estudio explica porqué el Desarrollo Dirigido por Pruebas (TDD) es una práctica que se auto-sustenta una vez que se realiza correctamente. Los grandes proyectos que se llevan adelante a la "manera tradicional" pueden estar varios meses sin terminar o entregar nada. Esto genera una situación en donde es dificil ver el progreso, y por lo tanto resulta desmotivante. El mismo proyecto construido bajo TDD resulta en un sistema más pequeño que se vuelve funcional de forma más rápida; vemos el progreso diario a medida que intregramos nuestro código y pruebas con las del resto del equipo, e incluso visualizamos el progreso minuto a minuto, de la mano de la "barra verde" de las pruebas que pasan con éxito. El progreso resulta más visible, más confiable y se experimenta de forma regular.
El estudio también descubrió que los días más desmotivantes eran aquellos en donde las personas experimentaba lo opuesto al progreso: un retroceso. Cualquiera que haya trabajado con código legacy (código sin pruebas) sabe perfectamente bien lo común que es hacer un cambio y romper otro cosa. Los retrocesos son experiencias desmotivadoras, que ocurren seguido en los proyectos que no tienen una adecuada suite de pruebas.
El progreso que hace visible TDD es uno de los factores que motiva a los desarrolladores.