Sei sulla pagina 1di 11

Un acercamiento de un Plan de Gestin de la Configuracin para gil

Ivis Rosa Vsquez Sierra, Sorey Bibiana Garcia Zapata Medelln, Colombia Universidad EAFIT {ivasque2, sgarci10}@eafit.edu.co Resumen. Establecer una propuesta de implementacin de Gestin de la Configuracin aplicable a metodologas giles, representa un reto interesante. Las metodologas giles cuyas bases promueven la disminucin de los problemas generados por la rigidez asociada a los mtodos tradicionales, no deberan verse afectadas por la implementacin de prcticas de Gestin de Configuracin, si no por el contrario verse soportadas y optimizadas. Este artculo presenta un acercamiento a una posible propuesta de implementacin para proyectos desarrollados bajo la integracin de las metodologas XP1 y SCRUM.2 Palabras Claves: Gestin de la Configuracin, Metodologas giles, Integracin, XP, SCRUM. Abstract. Establishing an implementation proposal of Configuration Management applicable to Agile Methodologies represents an interesting challenge. The Agile Methodologies, whose bases promote the decrease of problems generated by the rigidness associated to the traditional methods, shouldn't be affected by the implementation of Management Configuration's Practices, but on the contrary, be supported and optimized. This article presents an approach to a possible implementation proposal for projects developed with the integration of the XP and SCRUM methodologies. Keywords: Configuration Management, Agile Methodologies, Integration, XP, SCRUM.

1 La Programacin Extrema, mejor conocida por su nombre en ingls Extreme Programming (XP), es una de las llamadas Metodologas Agiles de desarrollo de software ms exitosas de los tiempos recientes, tomado de http://www.programacionextrema.org. 2 SCRUM es un proceso gil que se puede utilizar para gestionar y controlar complejos programas informticos y el desarrollo de productos utilizando el modelo de desarrollo iterativo e incremental, http://www.controlchaos.com.

1 Introduccin
Las metodologas giles han surgido como una alternativa a los procesos de desarrollo de software tradicionales, caracterizados por su escasa flexibilidad y su propuesta de generacin de documentacin detallada como soporte a las actividades; enfoque que a pesar de ser efectivo en proyectos de gran tamao, resulta inconveniente en otros de menor alcance. En respuesta a esta situacin, las metodologas giles emergen como una posible solucin orientada a suplir las necesidades metodolgicas existentes en pequeos y medianos proyectos, aportando un alto grado de simplicidad que no renuncia a las practicas esenciales que aseguran la calidad del producto, y que adems, han evidenciado como su aplicacin, constituye una mejor manera de proporcionar satisfaccin al cliente generando resultados a corto plazo. Dado el anterior panorama, las metodologas giles requieren de especial atencin y disciplina en actividades como la administracin y distribucin de las tareas, la respuesta gil y oportuna a los cambios y la realizacin de integraciones continuas, estableciendo as a la Gestin de la Configuracin como una disciplina fundamental que proporciona el soporte necesario a la ejecucin de los procesos de desarrollo giles. La estrategia de Gestin de la Configuracin que se adopte en un proyecto ejecutado bajo la integracin de las metodologas XP y SCRUM, es de vital importancia y constituye un verdadero reto, ya que su implementacin, como en cualquier otra metodologa gil, debe impulsar el principio de agilidad y habilitar el desarrollo paralelo cuando este sea puesto en prctica. El papel de la Gestin de la Configuracin en las metodologas giles debe centrarse en construir el entorno necesario para conseguir los objetivos y reforzar el proceso de cambio continuo. Los planteamientos descritos en este documento tienen como objetivo definir una propuesta de aplicacin y adaptacin a los proyectos desarrollados con base en la metodologa enunciada, estableciendo un conjunto de prcticas simples y evaluando las condiciones y caractersticas de los elementos y entidades identificados, tales como: el equipo de trabajo y sus responsabilidades, la distribucin de tareas, las actividades de integracin y la herramienta de apoyo usada para soportar la Gestin de la Configuracin. Para el desarrollo de esta propuesta se ha elegido como principal metodologa de anlisis, la integracin de XP Y SCRUM, debido a que adoptar cada una de estas por separado resulta insuficiente, puesto que el enfoque de XP se encuentra centrado en lineamientos de tipo tcnico y comprende un conjunto de buenas prcticas de programacin, e implantar SCRUM se encuentra ms enfocado hacia la planificacin de

proyectos. En algunos documentos de referencia esta integracin de metodologas es nombrada como XP@SCRUM3. XP@SCRUM aboga por la satisfaccin del cliente, el trabajo en equipo y la comunicacin entre sus miembros [1]. El enfoque presentado en este documento puede ser tomado como una propuesta viable de implementacin, sin embargo, debe ser sometido a consideracin de las organizaciones antes de ser adaptado al esquema de trabajo, ya que como propuesta acadmica su aplicabilidad est sujeta a verificacin, y el contenido se ha desarrollado bajo la hiptesis de que la organizacin tiene un proceso de desarrollo establecido con polticas y prcticas de XP@SCRUM. Adems nuestro planteamiento conserva la visin bien conocida por los amantes de SCRUM, en el que este es comparado con el popular deporte Rugby y es esa la razn por la cual en este documento se presentan las ideas principales como un plan de juego, que para el efecto cuenta con unos principios, estrategia y elementos de juego. Este documento conserva varios anglicismos, tales como: Product BackLog4, Sprint5, Story Cards6 [3] etc. por tratarse de la terminologa exclusiva de las metodologas relacionadas en el.

2 Los principios
De la misma forma en que las metodologas giles acogen los principios determinados por el manifiesto gil [2]: adaptabilidad, colaboracin, integracin continua y simplicidad, y que cada metodologa define un compendio de principios particulares, tales como: simplicidad, comunicacin, retroalimentacin y coraje para XP; equipos auto gestionados, reuniones diarias e iteraciones cortas para SCRUM; esta propuesta presenta algunos principios que deberan tenerse en cuenta para la aplicacin de la Gestin de la Configuracin en los proyectos ejecutados con metodologas giles, especialmente aquellos que utilizan como metodologa, la integracin de XP y SCRUM.

3 Scrum puede ser combinado con prcticas de la metodologa gil XP para generar un impacto significativo en la productividad de un equipo de proyecto, a esta combinacion se le llama tambien XP@SCRUM., http://www.informit.com/articles/article.aspx?p=26057.
4

Lista con las funcionalidades de la aplicacin ordenadas de mayor a menor importancia.

5 Una Iteracion en Scrum es denominada Sprint. 6 Tarjetas que describen los requisitos de los usuarios.

A continuacin se enumeran algunos elementos que deben tenerse en cuenta como reglas o principios fundamentales en la aplicacin de Gestin de la Configuracin para gil: Facilidad de Aprendizaje. El plan de Gestin de Configuracin debe ser definido pensando en la necesidad de optimizar el tiempo invertido en el aprendizaje, apropiacin y aplicacin del mismo, al que hacer de los integrantes de los equipos de trabajo de la organizacin, esto brindar mejores posibilidades de que la ejecucin de las practicas y lineamientos definidos no entorpezcan el desarrollo de los proyectos. Cultura. Los procesos, practicas y lineamientos especificados para la Gestin de la Configuracin deben divulgarse a todos los integrantes de la organizacin que ejerzan alguno de los roles vinculados directamente con la ejecucin de los proyectos, sin embargo, esta tarea debe ser complementada con un proceso de sensibilizacin cultural en el cual cada una de las personas vinculadas al proceso, comprenda claramente cules son sus responsabilidades y las consecuencias que conlleva la omisin de estas dentro de los proyectos en los que participa. Automatizacin. Es necesario automatizar las tareas relacionadas con la Gestin de la Configuracin tanto como sea permitido, de forma que la agilidad perseguida con la aplicacin de las metodologas giles no sea afectada y se involucre al proceso, el mnimo de actividades manuales posibles.

3 La Estrategia
Esta estrategia parte del supuesto de que los procesos de Gestin de la Configuracin pueden aplicarse a proyectos ejecutados con metodologas giles. La Gestin de la Configuracin encaja perfectamente en XP@SCRUM, no hay ningn punto de colisin entre las metodologas, por el contrario, son complementarias y paralelas. Antes de iniciar los proyectos, debe negociarse con los clientes su responsabilidad frente las actividades de Gestin de la Configuracin, estableciendo la posicin de la organizacin acerca de la necesidad e importancia identificada en la aplicacin de estas prcticas y los posibles riesgos relacionados con ejecucin de las nuevas tareas, si es que existiesen. Esta recomendacin es de vital importancia en este tipo de metodologas, debido al estrecho vnculo del cliente con el proyecto y su ejecucin. Al igual que existe una recomendacin relacionada con el alto nivel de experiencia que deben tener los integrantes del equipo vinculados a proyectos desarrollados bajo metodologas giles, se recomienda que todos los participantes del proyecto deben tener el conocimiento necesario para ejecutar correctamente las tareas que se encuentren relacionadas con las actividades definidas en el plan de Gestin de la Configuracin, por lo tanto la organizacin debe garantizar el entrenamiento previo si se encuentran integrantes del equipo con un nivel inapropiado de conocimiento..

Es necesario adems, vincular el rol de Oficial de la Configuracin a la metodologa de desarrollo, bien sea porque es asignado a uno de los integrantes del equipo o porque es asignado como nica tarea a una persona. Este rol es requerido por la Gestin de la Configuracin, y debido a su importancia y criticidad como ente centralizador e integrador, no debe ser evadido. Adems, los integrantes del proyecto que ejerzan el rol de desarrolladores, deben aplicar las siguientes recomendaciones: seguir los estndares de codificacin y nombramiento definidos, desarrollar cdigo legible y entendible que contenga comentarios que precisen los cambios realizados y cargar en el repositorio su cdigo al finalizar el da, teniendo presente no cargar en este porciones de cdigo que no compilen y que puedan entorpecer el desarrollo de los dems integrantes del equipo. El principio gil definido como capacidad de adaptacin al cambio, no significa improvisacin del cambio, el xito de la implantacin de un plan de Gestin de Configuracin est en su correcta planificacin y ejecucin; la primera es vital y la segunda evidente. La institucionalizacin del uso las prcticas de Gestin de la Configuracin dentro de la organizacin es imprescindible; en consecuencia, el plan de Gestin de Configuracin que se proponga debe estar previamente definido antes de emprender cualquier proyecto, El plan debe ser flexible y adaptable, de tal forma que si se evidencia en algn momento que las actividades definidas en l entorpecen la ejecucin del proceso de desarrollo en s, este debe replantearse teniendo especial cuidado en que los cambios no impacten drasticamente el proyecto. En caso de que a partir de los cambios surjan nuevas prcticas en pro de mejorar el proceso de Gestin de la Configuracin, estas deben ser divulgadas a los dems equipos de trabajo de la organizacin. Es fundamental que el plan de Gestin de Configuracin defina con claridad y precisin que tems de configuracin estarn incluidos en los diferentes tipos de control y etapas del proyecto. Una parte importante de la planificacin incluye tener definidas las estructuras qu deben contener los repositorios para el almacenamiento y clasificacin de los tems de configuracin y qu permisos deben estar relacionados a cada uno de los integrantes del equipo de acuerdo a su rol dentro del proyecto. Ahora bien, otro de los puntos crticos a analizar son los momentos de generacin de lneas base y/o nuevas versiones. Las metodologas giles y su desarrollo en iteraciones ms cortas, requieren la integracin contina de cambios pequeos, esta necesidad puede proporcionar mayor agilidad a los procesos de control de cambios, versiones y defectos, siempre que estos se ejecuten de forma adecuada, de lo contrario tal ventaja podra dar un reverso y convertir las integraciones continuas en un caos, lo que indefectiblemente conducira al retraso en las entregas al cliente. Las herramientas usadas para apoyar la Gestin de Configuracin, deben tener la capacidad de automatizar tareas como la generacin de una nueva versin. Las versiones

deben ser generadas despus de completar exitosamente la ejecucin de pruebas automticas, de igual forma la herramienta debe permitir una integracin con las herramientas de desarrollo y pruebas usadas dentro de los proyectos. Los tems de configuracin propuestos para el plan de Gestin de la Configuracin son: el Plan de Configuracin, la lista de riesgos, los documentos de estndares de nombramiento, el Cdigo Fuente o Sprint, el Sprint BackLog, el Product BackLog, los Sprint BurnDown y las Story Cards, para estas ltimas debe crearse algn mecanismo de digitalizacin, escanearlas o digitarlas, pero controlarlas y adems, debido a que son el soporte ms importante de los requisitos y cambios identificados para el sistema, se debe proporcionar una forma automatizada que permita relacionarlas entre s, con el fin de proveer un mejor acercamiento al impacto que puede producirse entre un cambio y otro. Entre las disciplinas complementarias a la Gestin de la Configuracin se puede resaltar la Gestin del Conocimiento. Muchos beneficios pueden ser obtenidos a partir de las lecciones aprendidas por los integrantes de los proyectos. Resulta importante para la organizacin, buscar el mecanismo para convertir el conocimiento y experiencia de sus desarrolladores en conocimiento explicito de una forma natural, y que esto por ejemplo contribuya a la disminucin en alguna medida del riesgo, cuando por alguna razn se pierde a uno de los miembros del equipo.

4 Los Elementos de Juego


Finalmente, despus de haber enumerado las reglas de juego, las consideraciones fundamentales a tener en cuenta, las responsabilidades de los integrantes e incluso de proponer a la estrategia un valor agregado que conduzca al mejoramiento continuo de la calidad del proceso de desarrollo y los productos, se debe considerar pertinente detenernos en uno de los puntos ms importantes de la Gestin de Configuracin, la definicin del Plan de Gestin de la Configuracin, que asociamos en nuestro enfoque como los elementos de juego. Acoger un plan de Gestin de Configuracin presentado en tan pocas palabras resultara inconveniente, las siguientes consideraciones, presentan un esbozo de los principales elementos a contemplar para la definicin de este, sin embargo queda a consideracin de los lectores redefinir las prioridades ofrecidas por la propuesta y adicionar o eliminar de la misma, las partes que afecten directamente el desarrollo de los proyectos, teniendo claro el propsito de que tales modificaciones deben redundar en el mejoramiento, soporte y optimizacin del proceso de gestin de la configuracin. La definicin de un plan de Gestin de Configuracin para gil debe incluir sin omisin, los lineamientos para la especificacin y generacin de los siguientes elementos: La estructura del repositorio donde sern almacenados los tems de Configuracin del proyecto, los tems de Configuracin a generar, los estndares de codificacin y nombramiento de los tems de Configuracin y Lneas Base, los momentos y formas en que se generarn las Lneas Base y/o Versiones, las herramientas

de Software y Hardware que sern utilizadas para la Gestin de la Configuracin y los roles y responsabilidades de Gestin de la Configuracin que asumirn cada uno de los participantes. Los elementos previamente nombrados son susceptibles de especificar de acuerdo a la experiencia y subjetividad que construye cada organizacin a travs de la ejecucin de los proyectos desarrollados bajo metodologas giles, sin embargo, la Estructura del Repositorio y los posibles tems de Configuracin a generar de acuerdo a las practicas que define la metodologa y a controlar de acuerdo a las prcticas de Gestin de la Configuracin, pueden ser analizados desde una perspectiva ms objetiva, situacin que nos permite plantear una posible propuesta de implementacin para estos elementos, propuesta que finalmente se consolida en un solo artefacto: La Matriz de tems de Configuracin. A continuacin se presenta una aproximacin a una posible definicin de la Matriz de Configuracin y la Estructura de Carpetas del Repositorio de tems de Configuracin y la Asignacin de Permisos por Rol.

CARPETA PRINCIPAL
GESTION PROYECTO GESTION PROYECTO GESTION PROYECTO GESTION PROYECTO GESTION PROYECTO N/A N/A N/A N/A

SUBCARPETA

ITEM DE CONFIGURACION
Plan del Proyecto Plan de Gestin de la Configuracin Lista de Riesgos Estandars de Nombramiento de la organizacin Burndown: Graficas que permiten ver la cantidad de trabajo restante a travs de tiempo, visualizan el progreso del equipo de trabajo. ProductBackLog: Lista con las funcionalidades de la aplicacin ordenadas de mayor a menor importancia.

FORMATO DEL NOMBRE


<Nombre del Proyecto>_PlanProyecto_<V#.#>.doc <Nombre del Proyecto>_PlanGestionConfiguracion_<V#.#>.doc <Nombre del Proyecto>_ListaRiesgos_<V#.#>.xls EstandaresDeNombramiento.doc <Nombre Corto del Proyecto>_BurnDown_<Sprint#>_<V#.#>.xls

BurnDown

GESTION PROYECTO

ProductBackLog

<Nombre Corto del Proyecto>_ProductBackLog_<Sprint#>_<V#.#>.xls

GESTION PROYECTO

SprintBackLog

SprintBackLog: Lista de funcionalidades que sern desarrolladas durante un sprint especifico

<Nombre Corto del Proyecto>_SprintBackLog_<Sprint#>_<V#.#>.xls

GESTION PROYECTO FUENTES FUENTES FUENTES OBSERVACIONES

StoryCards Sprint<#>\Base_De_Datos Sprint<#>\CODIGO Sprint<#>\INSTALADORES

Tarjetas que describen los requisitos de los usuarios. Script de Base de Datos Cdigo fuente de la aplicacin Instaladores de cada sprint.

<Nombre Corto del Proyecto>_StoryCards<#>_<Sprint#>_<V#.#>.doc <Nombre Corto del Proyecto>_Script#_<Tipo><Sprint#>_<V#.#>.sql <Nombre Corto del Proyecto>_Script# <Nombre Corto del Proyecto>_Instalador_Sprint#

Se sugiere que el nombre corto del proyecto sea de 3 a 4 letras que describan claramente el nombre.

Tabla 1. Matriz de tems de Configuracin

Figura 1. Estructura del Repositorio de tems de Configuracin

SCRUM MASTER CARPETA PRINCIPAL GESTION PROYECTO GESTION PROYECTO GESTION PROYECTO GESTION PROYECTO GESTION PROYECTO GESTION PROYECTO GESTION PROYECTO GESTION PROYECTO FUENTES FUENTES FUENTES N/A N/A N/A N/A BurnDown ProductBackLog SprintBackLog StoryCards Sprint<#>\Base_De_Datos Sprint<#>\CODIGO Sprint<#>\INSTALADORES SUBCARPETA Read ChkIn/ChkOut Add/Ren/Del Destroy Read

DESARROLLADORES ChkIn/ChkOut Add/Ren/Del Destroy Read

Oficial de Configuracin ChkIn/ChkOut Add/Ren/Del Destroy

Tabla 2. Asignacin de Permisos por Rol.

Referencias
1. Maller Patricio., Ochoa Pablo., Silva Josep.: Agilizando el Proceso de Produccin de Software en un Entorno de CMM Nivel 5. (http://ieeexplore.ieee.org) 2. http://www.agilemanifesto.org. 3. http://www.controlchaos.com. 4. http://www.agile-spain.com/agilev2/scrum_y_xp_desde_la_experiencia_practica

Potrebbero piacerti anche