En las últimas semanas se puso en producción una nueva versión de un sistema desarrollado en GeneXus que venimos probando desde octubre, el cual sufrió cambios muy importantes, con lo cual el trabajo de revisión y verificación realizado fue muy intenso.
Aparte de la metodología, técnicas, gestión de casos de prueba y de incidentes, los aspectos de comunicación y el buen trabajo que se logró gracias a la sinergia con el equipo de desarrollo, quiero destacar una práctica que llevamos adelante que resultó muy valiosa al anticipar y prevenir algunos problemas: simulacro de puesta en producción.
Básicamente se planteó hacer la puesta en producción en el equipo de testing, incluyendo:
Se detectaron varios incidentes importantes, pero ninguno de difícil resolución, ya que el testing realizado previamente había detectado los incidentes más importantes con antelación.
Seguro que muchos ya han realizado este tipo de prácticas y ven claros los beneficios, pero quería destacarlo para los que no han tenido la oportunidad. El proyecto fue todo un éxito, ya que no sucedió nada grave que bloquee la operativa del cliente, y considero que esta práctica fue clave también en este resultado.
Aparte de la metodología, técnicas, gestión de casos de prueba y de incidentes, los aspectos de comunicación y el buen trabajo que se logró gracias a la sinergia con el equipo de desarrollo, quiero destacar una práctica que llevamos adelante que resultó muy valiosa al anticipar y prevenir algunos problemas: simulacro de puesta en producción.
Básicamente se planteó hacer la puesta en producción en el equipo de testing, incluyendo:
- bajar el sistema, desconectando a todo el mundo del equipo,
- migrar los programas,
- migrar los datos (esto ya se había hecho con anterioridad, pero es fundamental para estimar el tiempo que lleva esta tarea, y ver si en la noche se puede completar),
- configurar todo lo necesario,
- ejecutar los procesos de inicialización del sistema (como un día normal de la operativa),
- ejecutar pruebas con testers (ciclo crítico, dos horas en total),
- ejecutar pruebas con usuarios, tomando a usuarios claves de cada sector, y habiendo hecho un adecuado análisis de riesgos (por ejemplo, la parte de ventas era la que más se tenía que probar),
- ejecutar los procesos de cierre del sistema (tareas que se ejecutan al final de cada día).
Es fundamental usar esta instancia como un aprendizaje, tomar nota de todo lo realizado y estar atento a los posibles riesgos no identificados previamente, y a las oportunidades de mejora del proceso de puesta en producción.
Se detectaron varios incidentes importantes, pero ninguno de difícil resolución, ya que el testing realizado previamente había detectado los incidentes más importantes con antelación.
Seguro que muchos ya han realizado este tipo de prácticas y ven claros los beneficios, pero quería destacarlo para los que no han tenido la oportunidad. El proyecto fue todo un éxito, ya que no sucedió nada grave que bloquee la operativa del cliente, y considero que esta práctica fue clave también en este resultado.