Software development explained with cars


(Mauricio Herrera) #1

No se si ya estaba pero les comparto la siguiente infografía:

https://toggl.com/developer-methods-infographic


(Guillermo Schwarz) #2

Es chistoso, aunque no sé porqué… será porque en la medida que es más agile o lean, da la sensación que las áreas de trabajo son de peor calidad???

En la práctica no es así. Anda a comprarte un Fiat o un auto chino, y te venden “lo que hay”. ¿Lo pediste rojo? Lo más probable es que ya no queden y te tienes que llevar uno blanco porque esa es la costumbre, que la mayoría de los autos sean blancos.

Anda a comprarte un BMW y tienes que elegir el color del auto por fuera, el color del auto por dentro, la tapicería, de entre por lo menos 5 estilos diferentes (y tienes mal gusto si la tapicería no es de cuero blanco), la potencia del motor, si es 4x4, y todos los accesorios y las terminaciones (tienes mal gusto si eliges plástico en vez de madera), etc, etc. Puedes gastarte una mañana entera eligiendo los detalles, y para remate, después espera que fabriquen el auto y que te lo envíen…

Es decir, mientras más cosas puedes elegir, más se demoran en entregarte lo que pediste. Y me queda claro que el taller de BMW es mucho mejor que el de la Fiat, pero la Fiat no acepta pedidos extraños porque todo se fabrica en grandes batches, tu color preferido azul crepúsculo no está para seleccionarlo ni en el catálogo… a todo esto ¿qué catálogo? Sólo los autos que se ven están disponibles porque la idea es que te lo lleves al tiro, de esa manera dejas espacio para los autos que vienen llegando.

Y muestran que Lean fabrica go karts. No es por nada, pero eso es como decir que lean es un ejemplo de “do your own”, sospecho que esa no es la idea, y si fuera así, creo que trabajar en un ambiente lean debe ser un desperdicio, porque la idea de los go karts es que los fabrique el cliente en la acera de su casa. A nadie le importa la calidad del vehículo, o la seguridad, porque de todas maneras la idea es participar de una carrera y divertirse, si el auto se desarma durante la carrera es parte de la diversión.

Si esa es la idea de Lean, claramente Lean no está enfocado en profesionales, sino en amateurs.

Por algo existen las pruebas unitarias. Por algo existen todos los controles que las personas deben respetar. Para debuggear a los desarrolladores, que aunque exista la tendencia a escribir código basura, dentro del proceso se escriba el mejor código posible, que los controles detecten esto, y que en vez de llegar un jefe dando órdenes con un alto contenido de estupidez, cada profesional pueda controlar su propio trabajo en tiempo real y sacar las cosas adelante a pesar de su tendencia a meter la pata.

No sólo eso, sino que además volver evidente para el equipo cuando alguien mete la pata. De esa manera el proceso de desarrollo se vuelve algo estable aunque el jefe se vaya de vacaciones.