Gestion de cambios y de la configuracion 15 Agosto 2009 at Sábado, 15 de Agosto de 2009
Despues de mucho tiempo que me animo a escribir, dado que el calendario del presente año anda muy apretado. En este post, quisiera informar con respecto a la gestion de la configuracion aplicando RUP. Configuracion y gestion del cambio es una de las disciplinas del RUP, el cual realiza flujos de trabajos y tareas especificas. Esta disciplina explica cómo controlar y sincronizar la evolución del conjunto de productos de trabajo que componen un sistema de software. El control ayuda a evitar confusiones costosas y garantiza que los productos de trabajo resultantes no sean conflictivos debido a algún problema de los tipos siguientes:
Cuando dos o más miembros del equipo trabajan por separado en el mismo producto de trabajo, el último en realizar cambios destruye el trabajo del anterior. El problema básico es que si un sistema no da soporte a las actualizaciones simultáneas ello conduce a cambios en serie y ralentiza el proceso de desarrollo. Sin embargo, con las actualizaciones simultáneas, el reto es detectar las actualizaciones que se han producido simultáneamente y resolver las cuestiones de integración cuando se incorporen estos cambios.
Cuando se resuelve un problema en los productos de trabajo compartidos por varios desarrolladores y no se notifica a algunos de ellos del cambio.
La mayoría de programas grandes se desarrollan mediante releases evolutivos. Un release puede ser utilizado por el cliente, mientras otro se está probando y un tercero sigue todavía desarrollándose. Si se detectan problemas en alguna de las versiones, deben propagarse las soluciones entre ellas. Las confusiones pueden conducir a arreglos costosos y a trabajos de rediseño a menos que los cambios tengan un cuidadoso control y gestión.
Las lineas anteriores son una traduccion de la documentacion oficial de la metodologia RUP.
Que bueno que menciones este tema. Es muy importante durante el proceso de desarrollo de software ya que nos permite manejar la complejidad de una manera sencilla, sin importar cuantos miembros seamos en el equipo del proyecto. Cabe resaltar que esta disciplina de gestión de configuración y cambio no solo se le atribuye a las tareas de desarrollo sino tambien a las demas tareas del proceso de ingeniera de software. Por ejemplo,en la disciplina de testing, se imaginan un repositorio de casos de prueba sin poder versionarlos? si se llegara a dar el caso que un build nuevo no funciona o tiene que revertirse, sería todo un caos actualizar cada uno de los casos de pruebas relacionados a dicho build. Eso es en lo que respecta a cambios y por el lado de la configuración, imaginense no poder contar con un repositorio centralizado de documentos de gestión, en el cual nadie sepa donde encontrar un documento, les suena a caos??
Por eso aconsejo que siempre vean la manera de planificar la configuración de su proyecto así como tambien la manera en que gestionaran los cambios (código, documentación, etc) y si pueden hacerlo con alguna herramienta que automatice el proceso, fabuloso!
Saludos
Mariojulio