Calidad, Velocidad y Coste
Hoy charlé con mi barbero sobre una barbería en la que trabajó hace
unos años. El dueño de la tienda - quien nunca había cortado
pelo - exigió que cada cita no llevara más de 20 minutos. Dentro
ese tiempo el barbero necesitaría dar la bienvenida al cliente,
ofrecerles una bebida (y hacerla), cortarles el pelo, y tomar el
pago. Explicó a su jefe que no era posible; él necesitaría al menos 30
minutos, o de lo contrarío la calidad quedaría comprometido. Sus
preocupaciones fueron desestimadas - después de todo, ¿que diferencia
podrían hacer diez minutos? Ademas, el argumento economico era
totalmente claro: a un precio de €20 por cita, esos diez minutos le
cuestarían el dueño €20 por hora. Inaceptable.
El barbero rebelde desobedeció los ordenes de su jefe. Durante los primeros meses, hizo menos dinero que los otros barberos en la barbería. Entonces algo misterioso sucedío. Los clientes que les habían cortado el pelo por el barbero volvieron a la barbería. Insistieron en que el barbero se cortara el pelo, incluso si tuvieran que esperar y los otros bareberos tienan asientos vacios. Entonces el barbero fue despedido por su jefe.
Hay unas lecciones en este historía. Primero de todo, los clientes de la barbería eligieron sacrificar tiempo por la calidad. El barbero que les ofrecé calidad reunío seguidores. Los demás, que apuraron su trabajo, tuvieron exitó a corto plazo pero no pudieron retener clientes. No es importante si la calidad llegara en forma de un buen corte de pelo o buen conversación. La cosa más importante es que prestó mucha atencíon a su arte y a los deseos de sus clientes. Si no tiene calidad se necesita buscar clientes nuevos continuamente para sobrevivir. La calidad atrea lealtad sobre la cual negocios sostenibles pueden ser construido.
Entonces, por que el barbero fue despedido? Pues, probablemente fue mal para la empresa en este caso. A pesar de que algunos clientes volvieron, los asientos de los otros barberos quedaban vacios. El barbero debería haber convencido al jefe para que adoptara la calidad a través de la empresa, aceptado sus órdenes o dejado.
Desafortunadamente en desarrollo de software es común que gente de negocios no tecnicas informan a los desarrolladores cuánto tiempo una característica del software debería llevar. En vez, deberían preguntar cuánto tiempo ellos creen que necesitan. En el pasado he visto gerentes decirles a los desarrolladores que no escriban pruebas porque no hay tiempo. El resultado? Software con errores que se vuelve más dificil a modificar con el paso del tiempo. Mientras el barbero tiene la oportunidad de intentar nuevo despues cada corte de pelo, las decisiones tomadas sobre software tiendan a quedarse. Sprints terminan dedicándose a corregir de errores, y no se completan nuevas funciones. El “tiempo ahorrado” anteriormente se pierde rapidamente y todavía la aplicación no funciona como debería.
En mi experencía, este problema ocurre cuando empresas o sus desarrolladores no gestionan las expectativas de partes interesadas efectivamente. Si vendedores no se dan cuenta que desarrollando una nueva función con prisa resulta en la acumulación de dueda técnica podrían estar de acuerdo con términos malos. Si la mayoría del equipo de desarrollo no se dan cuenta, los que sí lo saben pasaren horas limpiando el codigo. Estos limpiadores son probablemente los mejores desarrolladores de la empresa, pero no tienen tiempo para contribuir a nuevas funciones. Se quedan frustrados y eventualmente dejarán la empresa. Es esencial que todos están de acuerdo; debe adoptarse una pasíon por la calidad y la artesanía en toda la empresa.
A pesar de lo que la intuición señale, cuando los desarrolladores se desaceleran, el desarrollo acelera. La calidad será mejor en forma y función, y a largo plazo menos horas de desarrollo son necesarias, haciendo el software más barato.
Para leer más sobre este tema, te recomiendo este artículo por Martin Fowler: “Is High Quality Software Worth the Cost?”. Siempre estoy feliz de escuchar tus pensamientos, entonces no dude en contactarse conmigo.
Si eres un hablante nativo de español siéntete libre en corregir los errores en este post asi que puedo mejorar!