Web BizarroWeb Bizarro

Suscríbete a nuestro Newsletter

X

Únete a nuestra lista de correos para recibir semanalmente actualizaciones de nuestro contenido.

4 formas de resolver bugs en producción

4 formas de resolver bugs en producción 05.SEP.16

Alvaro José Rios Ch
Fundador WebBizarro

Los bugs en producción son el peor enemigo de cualquier programador y aunque existen muchos controles para prevenirlos muchas veces los problemas salen a la luz en el peor momento, justo cuando todo parece ir de lo mejor. Por eso siempre es importante manejar versiones y respaldos de datos lo que ayudan a resolver los problemas.

Si eres el jefe del equipo y necesitas organizar las cosas lo mejor posible es importante que conozcas hasta donde puedes usar el equipo de trabajo para solucionar los problemas, por eso ten en cuenta estas opciones.

 

La opción de impacto mínimo.

Esta ocurre cuando hacemos un cambio en la aplicación que afecta de forma negativa a los usuarios. La forma más simple de resolverlo es hacer un Rollback en el servidor de producción para evitar que esto continué afectando a los usuarios y minimizar el efecto para los nuevos usuarios.

Hacer esto requiere que el servidor esté preparado para poder hacer un deploy limpio y hacer para atrás los cambios, por eso antes de ir a producción debemos planificar muy bien el entorno en el que trabajamos para no tener problemas.

 

La opción de exploración profunda

Resolver un bug no es tan fácil como suena y mucho menos cuando el problema afecta la capa de datos, en este caso puede ser un problema recuperar la base de datos y hay que tener mucho cuidado.

Generalmente cuando se encuentra el bug debemos reunir al equipo de ingenieros y planificar que vamos a hacer, esta opción no es tan fácil como ir hacia atrás, para esto debemos planificar como recuperar los datos. Tener respaldos continuos es muy importante para evitar catástrofes, puede que en tablas que se muevan mucho no sean muy útiles pero son suerte y mucha planificación podemos sacar el mayor provecho posible.

 

La opción de esfuerzo urgente

Puede que no sea posible solucionar un bug hasta el próximo sprint. Puede que el bug afecte directamente al producto y tenga que ser solucionado de forma inmediata, si tenemos suerte el problema no necesitará a todo el equipo de desarrollo y podremos solventarlo sin retrasar el siguiente sprint pero ese no siempre es el caso.

Siempre debemos hablar claro al equipo de trabajo para organizar el trabajo y evitar que los esfuerzos por resolver el bug afecten el trabajo que se hace en el sprint actual.

 

La opción nuclear

Cuando el bug es tan grande que requiere más de la mitad del equipo de desarrollo para resolverlo no nos queda otra opción más que detener todo y dedicar todo el esfuerzo a resolver el problema. Esto retrasará el avance de la aplicación pero no tenemos otra opción si queremos mantenernos activos.

Siempre esta es la última opción del dueño de la aplicación ya que implica gastar más dinero, dilatar los tiempos de desarrollo y perder mucho trabajo hecho en el sprint que corría y aunque ese trabajo no se pierda es muy probable que la persona que lo tuvo que detener tenga problemas para continuarlo.

Siempre que tengas que recurrir a esta opción trata de crear un sprint nuevo para solucionar el bug y si el tiempo necesario es mas corto que un sprint solo haz una pausa y deja que los desarrolladores vuelvan a su trabajo al solucionar el problema.

 

Como prevenir los problemas

Aunque es difícil evitar los bugs siempre podemos evitar que los bugs salgan a la luz, usando servidores de prueba y haciendo pruebas en subconjuntos de usuarios. También es una buena idea dejar alguna forma de apagar las nuevas características una vez estén en producción, esto te permite dar una solución rápida para poder concentrarte en solucionar el problema.