- La importancia de los supuestos en el mundo del emprendimiento - 20 abril, 2020
- Por qué hacer desarrollo ágil es la mejor opción para todos - 10 noviembre, 2019
- En software la calidad no es negociable - 9 noviembre, 2019
Es mejor algo rápido y bueno que algo lento y perfecto
Me ha tocado estar en muchas reuniones de demostración de software para varios desarrollos y clientes diferentes, y lo único común de todas esas reuniones es la cara de espanto o incomodidad en nuestros clientes cuando transparentamos los errores que hemos detectado durante el desarrollo y que no alcanzaron a ser resueltos. Algo más o menos así:


Puede que sea algo de cultura organizacional. Hay empresas en donde el error se castiga y, como es imposible no equivocarse, existe la tendencia a esconder o maquillar el error. Estas premisas pueden ser las desencadenantes de una reacción como la del gif anterior cuando los errores se transparentan y se abordan de frente, sin palabras bonitas. Me ha tocado ver esto incluso en empresas que se dicen “ágiles”.
“Ya pero no le digamos error, digámosle incidencia que suena más bonito”. Frase típica de los clientes en esta situación.
También puede ser producto de los diferentes ámbitos profesionales que se mezclan en reuniones de ese tipo, porque existen rubros en las que no es tan simple equivocarse. Tomar una mala decisión financiera puede generar pérdidas considerables. Que un arquitecto o un constructor se equivoque en algún cálculo es de plano inaceptable, porque el edificio se cae.
Aquellas personas más cercanas al software tendemos a estar más lejos de estas premisas y sabemos (o eso me gusta creer jaja) que las aplicaciones perfectas no existen. El error en el ciclo de vida de cualquier software es parte de lo cotidiano, por lo que se sabe que es algo imposible de evitar. De hecho, me atrevería a decir que el error es necesario en todo desarrollo de software(y quizás en la vida), ya que permite marcar los puntos de mejora sobre los cuales la aplicación y el equipo pueden evolucionar y mejorar de manera continua.
Creo firmemente en que no hay peor error que aquel que no se ha descubierto. Un error no detectado tarde o temprano saldrá a la luz y, lo más probable es que lo haga en el peor momento posible. No en una Sprint Demo ni en una prueba beta, sino que en un caso de uso real donde, generalmente, la tolerancia a errores tiende a ser muy baja porque el software se convierte en una piedra de tope en vez de un facilitador del trabajo de la persona que lo está usando.
En base a lo anterior, queda de manifiesto lo importante que es transparentar los errores presentes en un software. Esta simple acción permite abrir conversaciones en base al impacto que estos errores pueden generar dentro de los procesos de negocio y así separar aquellos que son importantes de los que no representan un gran problema, facilitando la priorización de la resolución de los mismos. Lo anterior, permite al equipo de desarrollo enfocar su esfuerzo y energía en seguir aportando valor a través del software en el menor tiempo posible, evitando perder el foco en cosas que no aporten valor alguno.
En conclusión, si hablamos de desarrollo de software y de aportar valor a través del software, es importante saber convivir con el error. Es necesario saber que un error existe y que eventualmente será resuelto, pero es más relevante comprender que hay cosas más importantes de las que preocuparse y es necesario avanzar en pos de aportar valor, aunque eso implique arrastrar unos cuantos errores en el camino.
0 comentarios