Hablábamos la semana pasada de cómo entregar tu trabajo para ser revisado, curado, y hasta vapuleado por tus compañeros de equipo, logran grandes piezas de código. Líneas de texto que formarán parte de módulos capaces de resistir casi una década sin generar errores.

Vuelvo esta semana a comentar sobre el concepto de egoless programming de Gerald Weinberg y otro de los ejemplos reales de su libro: el incorruptible equipo de 10 programadores en una empresa aeronáutica.

Se trataba de un equipo que rechazó mudarse cuando su empresa anterior cerró sus instalaciones en la zona para moverse a otro lugar del país. Aunque tenían buenas ofertas individuales, ellos decidieron irse solo con quién los contratase a los diez a la vez.

Fue una el departamento de desarrollo de una empresa de fuselajes de avión la que los contrató y allí continuaron trabajando un tiempo. Cuando el director de desarrollo de esta empresa se encontró en una conferencia con el antiguo mánager de este grupo, le preguntó extrañado: «¿De dónde sacaste a esta gente? ¿Tienes a más gente como ellos? ¿Cuál es su secreto?». Le explicó que siempre que necesitaba que algo se hiciese bien y a tiempo, solo tenía que encargárselo a uno de estos diez. Deben ser algún tipo de genios, exclamó.

Nada había de particular en ellos, le contó, una de ellas era una recién graduada en italiano, otro había enseñado matemáticas en un instituto, un tercero era un ingeniero profesional y otra más se graduó en empresariales, trabajando después como secretaria ejecutiva y contable.

No eran seres sobrenaturales, simplemente, cuando uno de ellos recibía un trabajo, los diez trabajaban sobre él y lo revisaban entre todos hasta dejarlo perfecto. Cuando trataron de explicarle sus métodos, su nuevo mánager entendió que solo uno o dos hacían todo el trabajo y protegían al resto, que quedaban escondidos detrás de los genios de verdad.

Este director no fue tan obtuso como para llegar a disolver este grupo, pero no supo ver la eficacia de estas técnicas, y mucho menos aplicarlas al resto de sus 300 programadores. Un tiempo después estos diez programadores se volvieron a mover, otra vez en bloque, a una empresa más comprensiva con sus métodos.

Apuesta por los pull request, el pair programming, collective ownership, peer reviews y por los tests por todo el equipo. Es una de esas inversiones a largo plazo que se verán recompensadas cuando poco a poco empiezas a salir del caos, las prisas y de las llamadas de clientes enfadados por un bug en producción.


Si quieres saber más sobre egoless programming, echa un vistazo a mi post de la semana anterior: Programación sin ego.


Referencias:

  • The Psychology of Computer Programming por Gerald Weinberg, Nueva York, Van Nostrand Reinhold, 1971.