La técnica de pruebas de eXtreme Programming aplicada a la administración de Sistemas.
Hasta hace poco tiempo, mis Proyectos de Sistemas seguían este orden:
- Concepción
- Prueba de Concepto
- Documento de Requisitos del Sistema
- Implementación (desarrollo, e integración)
- Pruebas de Aceptación
- Puesta en Producción
- Soporte
Este orden es, a grandes rasgos, correcto pero no tiene en cuenta algunas cosas:
- Desde que escribimos el Documento de Requisitos del Sistema hasta que ponemos en Producción el Sistema pasa el tiempo suficiente como para cambiar de opinión unas cuantas veces.
- En cualquier fase del proyecto conocemos muchas menos cosas sobre de lo que ocurrirá después de la puesta en Producción que en la fase siguiente.
Administración de Sistemas Extrema ( Xtreme SysAdministration )
Después de oir leer algo sobre eXtreme Programming pensé que podría tratar de aplicar alguna de sus técnicas en algún nuevo proyecto; en este caso la migración de el sistema de autenticación de 90 equipos Unix.
Este nuevo proyecto ha seguido este otro ciclo de desarrollo:
- Concepción
- Prueba de Concepto
- Documento de Requisitos del Sistema
- Bucle de eXtreme Programming (iterar hasta tener un resultado adecuado) :
-
- Selección de característicasa implementar.
- Pruebas automáticas (codificación y ejecución).
- Implementación (desarrollo, e integración)
- Puesta en Producción
- Soporte.
Parece que la diferencia no es muy grande; pero en realidad sí lo es:
Durante el Bucle de eXtreme Programming tenemos varias iteraciones, esto es, ciclos de desarrollo e integración en los que se van incorporando características al sistema precedidos de unas pruebas que nos van a mostrar en todo momento el estado del proyecto y del sistema en cada iteración.
Después de la puesta en producción del sistema, seguimos utilizando estas pruebas automáticas para comprobar que el sistema se comporta tal como se espera de él.
Al atender una llamada de soporte o escalar un problema al servicio técnico del proveedor, son las baterías de pruebas que introdujimos en el desarrollo las nos que permiten detectar y aislar problemas; es más en caso de tener que modificar el sistema, las pruebas automáticas nos dirán si ha cambiado su comportamiento y a qué afecta.
Conclusión
Las pruebas automáticas, heredadas del eXtreme Programming, en un entrorno de Administración de Sistemas nos permiten conocer el en todo momento estado de un sistema informático antes y después de la etapa de implementación.