Finalmente la semana pasada salimos a producción. El evento en cierto modo fue muy tranquilo ya que nuestra aplicación estaba instalada y funcionando en el ambiente productivo desde hacía varias semanas.
Comparto aquí algunas estadísticas:
Estadísticas de proceso
- 7 iteraciones (2 semanas cada una) con un equipo de 5 ingenieros
- 6 semanas de trabajo «on-demand» de un ingeniero monitoreando y realizando ajustes menores
- 313 items de Jira resueltos
Estadísticas de código
(esto números son específicos del nuestra aplicación, pero el equipo también trabajó sobre componentes compartidos con otras aplicaciones que no está considerados aquí)
- 138 test automatizados
- 83.5% de cobertura
- 67 clases (sin contar las clases de tests)
- 7329 líneas totales de código
- 4211 líneas de código productivo (57%)
- 3118 líneas de código de tests (43%)
Deuda técnica
Al momento de este primer release registramos los siguientes items de deuda técnica:
- Código duplicado en los tests
- Dependencias externas desactualizadas
- Falta de monitoreo más granular de ciertos componentes
Nico sumaria que compartas la tasa de incidentes productivos, al tener una covertura del 85,5%.
Sin duda esa métrica es relevante, pero dado las características del proyecto/producto es difícil poder obtenerla.
Sin embargo los incidentes reportados particularmente sobre esa porción de la solución (la que tienen alto coverage) han sido muy pocos me animaría a decir que apenas 2, pues me animo a decir el resto fueron de los incidentes fueron en las interfaces con otros sistemas/módulos. A mi parecer nos faltó un poco más de pruebas de integración de sistemas.
Más allá de la cantidad de incidentes, un punto que me parece importante destacar es que este alto coverage nos ha permitido implementar cambios de forma muy rápida ya que tenemos la regresión completamente automatizada.