Tradicionalmente se considera 5 entornos necesarios en la implementación de un sistema de gestión, sin embargo, la realidad es que depende de la tipología del cliente y sus necesidades las que determinarán el número de éstos. En cuanto a la metodología de implantación, tampoco se puede considerar que exista una idónea, sino que dependerá también claramente del tipo de proyecto. Veamos con algunos ejemplos (quizá un poco extremos) una aproximación.
CASO 1.- Implantación sin ningún desarrollo especial a medida, software «out of the box»
Número de entornos que se utilizarán durante el proyecto.
Dada el innecesario desarrollo de software a medida para este tipo de cliente, los entornos relacionados con los desarrolladores son evitables, siendo solo necesario los entornos de instalación en el propio cliente. Si algunas de las actualizaciones del sistema hubieran sido requeridas por el cliente (alguna mejora funcional, la corrección de algún error, etc.), podría ser necesario el entorno de pruebas, aunque suele ser innecesario en este caso.
- Entorno de desarrollo.
- Entorno de integración continua.
- Entorno de pruebas.
- Entorno de preproducción.
- Entorno de producción.
Metodología de desarrollo elegida
En este caso, no aplica metodología de desarrollo.
Plan concreto (fases) para la promoción de desarrollos.
- Si la versión incorporase alguna solicitud del cliente, sería el propio consultor el que debería realizar las primeras pruebas sobre el entorno de preproducción, y una vez comprobada la funcionalidad correcta, trasladar al cliente la realización de su batería de pruebas.
- Si la versión NO incorporase solicitudes del cliente, sería directamente el propio cliente el que debería realizar la batería de pruebas.
Una vez comprobado que la calidad del desarrollo es acorde a los estándares y aprobada y aceptada la nueva versión por el cliente, se promocionará el código al entorno de producción.
Herramienta utilizada para promocionar los desarrollos
En este caso, no aplica ninguna herramienta para promocionar desarrollos.
CASO 2.- El proyecto requiere de desarrollos a medida, siendo su fecha de entrega 4 meses. Involucrará a 2 desarrolladores y un jefe de proyecto, así como 2 consultores.
Número de entornos que se utilizarán durante el proyecto
Prácticamente son necesarios todos los entornos, si bien el entorno de integración podría obviarse dado el limitado tamaño del proyecto.
- Entorno de desarrollo.
- Entorno de integración continua.
- Entorno de pruebas.
- Entorno de preproducción.
- Entorno de producción.
Metodología de desarrollo elegida
La metodología de desarrollo en este caso se recomienda que sea iterativa e incremental, de tal forma que el feedback entre desarrolladores y consultores, así como el de consultores y clientes sea continuo, y permita generar un código lo suficientemente ajustado a los requerimientos del cliente. Podría aplicar también una metodología ágil, o incluso mixta, dada la importancia en este caso de las interacciones con el cliente y el ajuste y priorización de sus necesidades. Al no existir key users es difícil obtener una visión general y definida de los procesos y requerimientos, así que una metodología en cascada queda totalmente descartada.
Plan concreto (fases) para la promoción de desarrollos.
- Promoción al entorno de pruebas: Al no haber ningún tester en el proyecto, los propios desarrolladores deben asumir ese rol, así que deberán garantizar que al promocionar el código al entorno de pruebas dispondrá de suficiente calidad. En este momento pasará al entorno de pruebas.
- Promoción al entorno de preproducción: Los propios desarrolladores realizarán las funciones de tester “cruzados”, de tal forma que el desarrollo realizado por cualquiera de ellos deberá ser revisado y comprobado en profundidad por cualquiera de los otros. Si es así, pasará al entorno de preproducción.
- Promoción al entorno de producción: Tanto los consultores como el cliente procederán a realizar las pruebas de funcionalidad solicitadas, así como el cumplimiento del estándar de calidad, en cuyo caso, promocionará a producción.
Herramienta utilizada para promocionar los desarrollos
En este caso, la promoción del código se haría a través de una herramienta de control de versiones centralizada, por ejemplo Subversion. Al ser una instalación con pocos recursos humanos dedicados al desarrollo parece más factible una herramienta centralizada que una distribuida, aunque podría depender finalmente la elección de otros factores tales como el coste, la ubicación de los desarrolladores, etc.
CASO 3.- Una gran empresa tiene un equipo de proyectos formado por 10 desarrolladores, 4 testers, 2 usuarios claves y más de 100 usuarios finales. El proyecto es de largo alcance (10 años) en donde multitud de desarrollos serán implementados sobre el ERP.
Número de entornos que se utilizarán durante el proyecto.
Son necesarios todos los entornos dado el tamaño y complejidad del proyecto.
- Entorno de desarrollo.
- Entorno de integración continua.
- Entorno de pruebas.
- Entorno de preproducción.
- Entorno de producción.
Metodología de desarrollo elegida
La metodología de desarrollo en este caso se recomienda que sea una metodología en cascada. La existencia de 2 key users, permitirá definir junto con los consultores, un listado de requerimientos completo, así como preparar un amplio diseño técnico y funcional del proyecto, que deberá ser aprobado por el cliente para cada una de sus fases (se entiende que aplicará una implantación step-by-step dado el volumen del proyecto).
Plan concreto (fases) para la promoción de desarrollos
- Promoción al entorno de integración continua: El código se encuentra bajo un sistema de control de versiones distribuido, así que los desarrolladores podrán realizar branches y forks si fuera necesario, con la finalidad de consolidar y subir al entorno de integración cuando el código sea estable y coherente, aunque no disponga todavía de funcionalidad.
- Promoción al entorno de pruebas: Los desarrolladores, y aunque no suele ser necesario, en este caso debería ser con la aprobación del jefe del proyecto, promocionarían el código al entorno de pruebas cuando entiendan que el código se encuentra en condiciones de sufrir ciclos completos con resultados coherentes y reproducibles. Aunque el jefe del proyecto no es una figura que debiera aparecer aquí, por el volumen del proyecto y para evitar que los testers sufran código en malas condiciones, entiendo que debería ser aprobado por éste.
- Promoción al entorno de preproducción: El jefe del proyecto, tras el feedback con los testers y una vez garantizada la calidad de los desarrollos por éstos, aprobará la entrada en preproducción.
- Promoción al entorno de producción: Tanto los consultores como el cliente procederán a realizar las pruebas de funcionalidad solicitadas, así como el cumplimiento del estándar de calidad, en cuyo caso, promocionará a producción con el consentimiento del cliente.
Herramienta utilizada para promocionar los desarrollos
En este caso, la promoción del código se haría a través de una herramienta de control de versiones distribuida, por ejemplo Mercurial. Mercurial es una herramienta con gran rendimiento y escalabilidad, permite la gestión de archivos tanto de texto como binarios y una completa capacidad para las ramificaciones y las integraciones.
Autor: Sergio Martínez
Recibe nuevos artículos mediante suscripción por e-mail, RSS o Feedly |
|
2 comentarios
Pingback: Entornos y metodologías en la implementa...
Pingback: Proyectos orientables a fases vs entregables Mundo.erp | Tecnologías ERP