¿Haces ranitas de papel?


Introducir a los alumnos de la facultad de informática en las metodologías ágiles. Fácil y sencillo de decir, pero ¿y de hacer?
Es curioso, quienes estamos metidos hasta las cejas en esto de las metodologías ágiles vemos las ventajas y los beneficios frente a otras formas de trabajo, precisamente por eso: por comparación. Una perspectiva, que no tienen los alumnos. ¿Cómo podemos hacerles ver la diferencia? Pues del mismo modo: por comparación. Y así nos "inventamos" la metáfora de las ranitas de papel.

Escenario: ¿qué significa ser programador? (empresa con un enfoque tradicional vs. empresa con enfoque en metodologías ágiles).

Enfoque tradicional: ¡Hagamos ranitas de papel!
Comparábamos al programador tradicional con aquel que recibe un papel con un recortable y unas instrucciones como las de la imagen. Su tarea consiste en recortar un lado del papel y construir una ranita de papel siguiendo las instrucciones de la otra mitad. Y cuando termina.... pues tiene otra ranita de papel esperándole.

http://www.flickr.com/photos/jacquedavis/3051222260

La situación que nos encontramos frecuentemente es la de una jerarquía de "cargos" que pueden ir desde jefe de proyecto hasta programador junior (en el mejor de los casos) pasando por arquitecto software, analista funcional, analista-programador y unos cuantos más que ya ni recuerdo.
Muchas veces, quien tiene contacto con el cliente es el jefe de proyecto y si a caso el analista. Y de ahí en adelante, conversaciones y papeleos van pasando de mano en mano hasta llegar al programador de turno, quien termina recibiendo un análisis técnico (en el mejor de los casos, además el funcional) para que implemente una serie de métodos y funciones.
¿Y si se me ocurre que imprimir los recortables en hojas de colores? Quedaría mejor y nos permitiría ahorrar en tinta.. ¡no importa! Mi trabajo consiste en recortar y doblar siguiendo los pasos.
¿Y si creo que es mejor hacer las ranitas en cartulina? Saltarían más lejos y serían menos frágiles... ¡no importa! Mi trabajo consiste en recortar y doblar siguiendo los pasos.
¡No se lo que quiere realmente el cliente! solo se que tengo que hacer ranitas de papel.... pero ¿para qué?
Seguro que todos sois capaces de traducir estas preguntas y situaciones al mundo del desarrollo de software ¿verdad?
Y ¿cuál es el resultado? Creatividad, aportación, motivación, implicación, visión global... tenderán a 0. La gente se aburrirá y perderá el interés. Probablemente se marcharán en busca de algo mejor.... o de un cargo "más importante", porque al menos así, cobrarán más (pero bueno, esto ya es otro tema).

Enfoque ágil: ¡A construir legos!
Comparábamos al programador ágil con aquel que construye legos. Su día a día consiste en crear construcciones utilizando piezas de lego. Tiene un objetivo, un fin: la construcción que necesita el cliente. Pero cómo construirla, con qué piezas, está en su mano.

http://www.flickr.com/photos/kenjiys/3173014217

La situación que nos encontramos en una empresa que cree realmente en los valores ágiles (que una cosa es decir que haces y otra cosa hacer/creer realmente) es una organización basada, no en jerarquías, si no que en equipos. Equipos multidisciplinares, donde puede haber gente más junior y gente más senior, gente más funcional y gente más técnica. Equipos donde todos y cada uno de los miembros tienen voz y voto para proponer, sugerir, opinar, equivocarse y acertar. Equipos que se reúnen con el cliente, equipos que estiman,  que se comprometen y que desarrollan.
¿Y si creo que es mejor poner primero las piezas grandes? La estructura de la construcción podría ser más estable. ¡Probemoslo! Todas las opiniones se tienen en cuenta.
¿Y si creo que el cliente no necesita una de las torres que ha pedido? Porque claramente no se va a utilizar. ¡Digamoslo! Nuestro objetivo es que el cliente tenga lo que necesita, hablemos con él.
¿Y si conozco unas piezas que acaban de salir nuevas que tienen el doble de altura? Que podrían ahorrarnos los costes si encajasen bien con estas. ¡Propongamoslo y probemos!

Igual que en el caso de las preguntas anteriores, seguro que todos sois capaces de trasladar estas situaciones al desarrollo de software.
Y ¿cuál es el resultado? Creatividad, aportación, motivación, implicación, visión global... aumentarán. La gente estará implicada, tendrá compromiso adquirido con lo que hace porque han decidido y son responsables de ello. Probablemente permanecerán en la empresa, y además crecerán profesionalmente, como programadores, sin necesidad de dar saltos a puestos de gestión (donde probablemente serían "peores") para ser reconocidos profesional y económicamente.

Pues hasta aquí el símil que utilizamos con los alumnos. Resultó más fácil contarlo que escribirlo, y a los alumnos les gustó. Creo que resultó fácil de imaginar y por tanto entender.

Para finalizar, decir que hay excepciones, como en todo. Que probablemente hay gente que se encuentra cómoda haciendo ranitas de papel. Pero al menos, que los alumnos sepan qué se pueden encontrar y qué alternativas quieren. Y si un día se paran, reflexionan y se dan cuenta de que están haciendo ranitas de papel, que al menos se planteen si es lo que quieren. Y si no es así, el mensaje es claro: muévete, busca, crea, ese sitio donde ser feliz construyendo legos.


Y tu, ¿eres feliz en tu trabajo?  
¿Haces ranitas de papel o construyes legos?

2 comentarios:

Sergio Leal dijo...

Peaso artículo!!!! me ha encantado el símil.

Yo como soy muy chapas me gustaría comentar mi caso partícular, para poner en la mesa alguna 'contra' al asunto.

Yo te puedo decir que en la empresa en la que estoy ahora hay un palomo que acaba de llegar nuevo y le han dado el cargo de técnico en innovación, y una de sus primeras tareas ha sido intentar inculcar el Agilismo (en concreto Scrum) entre, de momento, los miembros (con perdón) de su equipo. Ha comprado un par de pizarras y ha 'escupido' un ppt que ni siquiera ha hecho él. PERO BUENO, démosle el beneficio de la duda, démosle 'bola',ok?

Su problema viene (vendrá) cuando se de cuenta de que el agilismo no es una tecnología, ni algo que se aprende con un libro o un blog, ni algo que 'voy haciendo hoy a ver que sale'.

En mi opinión el Agilismo te lo tienes que CREER, y aún más importante, tienen que creer TODOS y cada uno de los componentes de equipo; el problema de este chico que te (os) digo es que se a ciencia cierta que sus compañeros de equipo ya le están haciendo la cama, que ven esto de scrum como algo impuesto y que lo mio es hacer ranitas de papel y no me vengas tú ahora con que tengo que decirle al de al lado lo que hice ayer, lo que voy a hacer hoy, y peor aún, que él me tiene que contar a mi su vida también.....

En este mundillo de la informática hay gente como tú con quién da gustazo trabajar porque pone todas las facilidades del mundo, que da muchisimo pero que también exige (faltaría) y que no le da miedo probar algo nuevo si repercute en mejoras; pero hay gente que, como dijo aquel, se murió a los 20 y los enterrarán a los 80, que no les saques del ABC ni de las 4 cosas típicas, y que hacer ranitas de papel es lo único que quiere hacer hasta las 17.55h, minuto exacto en el que va cerrando el Outlook, no vaya a ser que le salga un sarpullido.

Subscribo, firmo y afirmo cada palabra que has escrito en tu artículo, Jessi, pero hay veces que hace falta un gran lider que lleve a cabo el proceso cuando los componentes del equipo están más que contentos con sus ranitas croack croack

Jessi dijo...

Hola Sergio, gracias por tu peaso de comentario :D

Estoy totalmente de acuerdo, yo también he tenido el "placer" de ser hacedora de ranitas de papel y de conocer a "felices" hacedores de ranitas de papel. Por eso, decía al final, que hay gente para todos los gustos. Lo que está claro es que llegar a ser un equipo cuesta, que trabajar con metodologías ágiles, cuesta.... no es coser y cantar, hay que poner toda la carne en el asador. Lo bueno, es que si lo haces bien, será gente motivada y enchufada que disfrutará de cada paso y cada logro.

Y ojo! que no he querido entrar en polémicas pero también he dejado por ahí mi coletilla para los "agilistas de librillo": es decir que leen, ponen post-its por todos los lados, pero no creen ni llegan a la esencia. Y ahora que scrum está de moda.... pues vamos, lo que tu cuentas :)

A donde quería llegar es a que lo importante es saber que tienes opciones y poder elegir. Yo tengo claro lo que quiero y ¡luego allá cada cual! que elija lo que elija sea su elección al menos...
Curiosamente cuando hablábamos con los alumnos tenían claro que ellos querían hacer lego, querían involucrarse y pringarse, que no querían dedicarse toda la vida a hacer ranitas de papel. Al principio de la charla preguntamos ¿Cómo te ves dentro de 10 años? Claro, te dicen que quieren empezar programando pero que no se quieren pasar toda la vida programando..... Y ¿por qué? porque asocian la programación a las ranitas de papel. Y nada más lejos de la realidad! Cuando les contamos todo esto, ya no veían del mismo modo las cosas. (Si es que en el fondo.... nos encanta desarrollar y picar y meter las manos en la masa!!)

Publicar un comentario