jueves, marzo 01, 2012

Optimizar la felicidad del equipo de desarrollo

jueves, marzo 01, 2012 por Martín

Hace casi un año, Chad Dickerson dio una charla en la RailsConf 2011 que vale la pena leer. Se trata de una presentación de poco más de 20 minutos donde el que es el CEO de Etsy explica las claves para conseguir un equipo de desarrollo feliz.

Etsy, que muchos conoceréis es un sitio web que permite la venta objetos de artesanía a través de la red. Es enorme. En la charla (2011) hablaban de mil millones de visitas al día y más de 40 millones de dólares en ventas al mes. Espectacular. Pero no menos espectacular es que un equipo de 70 desarrolladores realize 25 despliegues a producción al día :)



Y es que según Etsy, la felicidad está en poder ver que lo que haces tiene una consecuencia, que lo que plantas tiene un fruto. Tiene mucha razón, y me váis a permitir una pequeña disertación al hilo de esto. Yo tengo un pequeño huerto donde voy plantando cosas. Este verano tuve muchas lechugas, pero en Invierno fue muy frustrante porque por mucho que plantaba, como no tenía las medidas adecuadas (invernadero) todo se me moría y no tenía ninguna hortaliza o legumbre.

La misma frustración del no conseguir ningún objetivo pasa cuando te mandan desarrollar algo, lo terminas, pero no sale a la luz. Se queda ahí parado, en el mejor de los casos tras días, semanas o meses de espera pasa a producción. Porque en otros muchos eso que has hecho será superado una y otra vez por tareas "más importantes" en la lista de cosas a realizar "ya". Repite este proceso varias veces y tendrás a una persona desmotivada. A alguien que piensa que tanto da lo que haga, si total ni siquiera sabe si servirá para algo. Alguien que poco durará en tu equipo.

En Etsy presumen de mejorar exactamente eso. De hacer feliz a la gente haciendo que puedan ver que su trabajo es útil para todo el mundo. Para todos sus compradores y vendedores. Para esto es fundamental una descentralización de la autoridad. Que no haya un cuello de botella al desplegar. En Etsy todo el mundo puede desplegar. Eso sí, previo paso de una gran suite de tests y siempre que no lleven más de 20 minutos. En definitiva, tener cubiertas las espaldas por muchos tests y sobre todo confíar en tu equipo.

Otro aspecto importante que menciona. Todavía hay mucha gente que cree que hacer software es como estar en una fábrica. Muchos hace mucho que no lo creemos, pero es importante que el lugar del trabajo no se asemeje a una fábrica. Por ejemplo, tener elementos de diversión o de arte en el lugar de trabajo. Que sea divertido! (esto me recuerda a las imágenes que han estado circulando por la red de las oficinas de Lego).

Lo mismo pasa con la comida. La comida debe de ser algo que se disfrute. Un tiempo para compartir con los compañeros. En la conferencia Chad usa una imagen de una película de Charlie Chaplin en donde está en una cadena de montaje y una máquina se encarga de darle de comer a los operarios para que así no abandonen la cadena. La siguiente transparencia muestra a un programador tomándose unos fideos delante del ordenador. Vaya. ¡Pues no es tan diferente pasados 75 años! La idea es evitar esto. En Etsy, dos veces al día la gente comen todos juntos. Prohibido comer delante del ordenador!

Por cierto, muy curiosa la forma que tienen para coordinar las diferentes builds de las que hablaba un poco más arriba. Mediante IRC. Cada vez que alguien quiere desplegar a producción, pone su nombre en el tópico, y se va formando una cola de gente. Vamos como quien va a la frutería y pide la vez. Una solución sencilla a un problema que de otro modo se vuelve complejo.

Y termino ya. Dejo aquí las transparencias y el vídeo de la charla.



Optimizing for developer happiness
View more presentations from Chad Dickerson

comments

0 Respuestas a "Optimizar la felicidad del equipo de desarrollo"