Microsoft Visual Studio Team System (VSTS) es un conjunto de herramientas de gestión del ciclo de vida de desarrollo de software que abordan las necesidades de una variedad de roles dentro de la organización. VSTS viene en cinco ediciones diferentes e incluye una plataforma de colaboración denominada Team Foundation Server (TFS) que permite administrar y dar seguimiento al avance y al estado del trabajo en base a una serie de servicios Web y repositorios integrados. El elemento clave dentro de TFS es el proyecto de equipo que proporciona una ubicación central para que los usuarios coordinen su trabajo. En este artículo hablaré de qué son los proyectos de equipo, explicaré los conceptos principales asociados a aquéllos, daré un brevísimo panorama de la funcionalidad de TFS y describiré tanto el procedimiento como algunas consideraciones sobre cómo crear un proyecto de equipo.
Conceptos Importantes
Un proyecto de equipo no es otra cosa más que un contenedor que mantiene información acerca de cada paso del ciclo de vida de desarrollo de software en un repositorio central dentro de TFS. Los proyectos de equipo se componen de una serie de elementos de trabajo, piezas de código, casos de prueba, productos de trabajo, métricas, etc., los cuales son empleados para dar seguimiento al trabajo de un proyecto.
Vale la pena aclarar que un proyecto de código de Visual Studio es diferente a un proyecto de equipo en Team System. Mientras que el primero sirve para organizar código, el último se usa para organizar todo el esfuerzo de desarrollo de software.
Dentro del contexto de la creación de un proyecto de equipo existen dos componentes clave: la plantilla del proceso y los reportes del proyecto.
La plantilla de proceso es un mecanismo de Team System que define tanto la configuración como el contenido inicial del proyecto de equipo, a través de: un conjunto default de elementos de trabajo, plantillas de artefactos, reportes, grupos de seguridad y documentos de la orientación del proceso. Toda plantilla está basada en un proceso de desarrollo de software que va acompañado de un enfoque muy particular acerca de cómo desarrollar y mantener software. Team System incluye dos plantillas de proceso base: MSF for CMMI Process Improvement, orientado a organizaciones que requieren un proceso formal y con guías explícitas, y MSF for Agile Software Development, orientado a proyectos con un ciclo de vida más ágil, y donde los miembros del equipo no van a recurrir mucho a las guías de proceso. Desde luego, es posible modificar estas plantillas, extenderlas, o crear nuevas plantillas en base a los procesos específicos que sigue una organización.
Team System emplea el concepto de elemento de trabajo para dar seguimiento a la asignación y al estado del trabajo asociado al ciclo de vida de desarrollo de software. Existen varios tipos de elementos de trabajo en función del tipo de trabajo que representan. Por ejemplo el elemento de trabajo “tarea” permite dar seguimiento a las actividades de desarrollo, pruebas, etc. Otros ejemplos de elementos de trabajo son: solicitud de cambio, requerimiento y revisión.
Altamente acoplada con la plantilla de proceso está la orientación del proceso, que es la documentación acerca de roles, actividades, productos de trabajo y reportes personalizados para un método de ingeniería de software. En muchas organizaciones de desarrollo, los documentos de orientación del proceso forman un interminable grupo de carpetas mientras que en Team System, la orientación del proceso está completamente integrada a las herramientas de desarrollo. (Ver la siguiente figura)
Por otro lado, cada plantilla de proceso incluye un conjunto predefinido de reportes. Los reportes constituyen una de las herramientas más poderosas de VSTS ya que permiten al administrador del proyecto monitorear el estado y tendencias del proyecto de equipo. TFS incluye un almacén de datos en el que se recopilan los datos operativos que provienen de los elementos de trabajo, control de versiones, generaciones del producto y resultados de las pruebas. Este almacén es empleado para producir los reportes. Una de las enormes ventajas de usar Team System, desde la perspectiva de administración de proyectos, es que no es necesario correlacionar manualmente datos provenientes de varias fuentes.
Entre los reportes que se incluyen están: reportes estilo semáforo sobre la salud del proyecto, reportes informativos que muestran: la tasa de defectos, la productividad del equipo, la efectividad de las pruebas en las distintas generaciones del producto, el progreso del trabajo en el tiempo y la estabilidad de los requerimientos en el tiempo. (Ver las siguientes dos figuras.)
Procedimiento de Creación de un Proyecto de Equipo
Para crear un proyecto de equipo se emplea una ventana llamada Team Explorer. Esta ventana permite navegar y administrar todos los elementos de un proyecto de equipo tales como la estructura del equipo de trabajo, el portal del proyecto, el repositorio de control de código fuente, la base de datos de elementos de trabajo, documentos, reportes y plantillas.
Para crear un nuevo proyecto de equipo se siguen estos pasos: 1. Seleccionar la opción de menú File>New>Team Project. El asistente de nuevo proyecto de equipo aparecerá pidiéndole el nombre del proyecto.
2. Seleccionar una plantilla de proceso, ya sea MSF For CMMI, MSF for Agile, o alguna personalizada.
Vale la pena recalcar que la decisión más importante de todo el procedimiento de creación de un proyecto es justamente determinar qué plantilla de proceso se empleará. Uno de los aspectos fundamentales de VSTS, es que a diferencia de otros productos de Microsoft, éste no fue diseñado para sacarlo de la caja y usarlo; es necesario emplear cierto tiempo en definir una estrategia de uso, y configurarlo. Es decir, es necesario adecuarlo a la manera cómo usted desarrolla software. La selección del proceso de desarrollo de software y plantilla asociada se basa en tres factores: la forma de cómo su organización trabaja actualmente, las necesidades de negocio actuales de la organización, y la manera como se desea que la organización trabaje en un futuro. Por ejemplo si usted forma parte de una organización de gran tamaño, probablemente ya tiene una metodología de desarrollo de software que le fue prescrita; si trabaja en proyectos gubernamentales probablemente su proceso de desarrollo de software es compatible con modelos de referencia tales como MoProSoft o CMMI, y finalmente, si usted colabora en una organización que emprende proyectos cortos con un ciclo de vida reducido, probablemente está usando una metodología ágil.
3.- Posteriormente se asigna un título para el portal del proyecto y una descripción del mismo.
Este portal es un sitio web que se construye a partir de Windows Sharepoint Services (WSS 2.0) y que provee acceso ligero a aquellos miembros del equipo de trabajo que requieren tener visibilidad acerca del proyecto. A través del portal los usuarios pueden ver reportes, revisar documentos y mirar anuncios entre otras cosas.
4.- En la última página del asistente se establecen las opciones preliminares de control de código fuente. Usted tiene la opción de crear una carpeta de control de código fuente para su proyecto o crear una nueva rama a partir de un árbol de control de código fuente existente.
Team Foundation Server provee capacidades avanzadas para control de versiones, tales como conjuntos de cambios, ramas, fusiones, comparación de archivos, protecciones atómicas y soporte a equipos distribuidos geográficamente. Dichas capacidades sobrepasan fácilmente lo que puede hacer un simple Visual Source Safe, y están diseñadas para satisfacer las necesidades de equipos grandes desarrollando aplicaciones complejas.
Una vez que el procedimiento de creación de un proyecto de equipo ha concluido, dependiendo de la plantilla de proceso que usted haya seleccionado, una serie de documentos de orientación del proceso serán generados para su proyecto. Asi mismo, varias carpetas aparecerán en el Team Explorer.
El árbol del proyecto de equipo tiene cinco nodos principales: Elementos de Trabajo, Documentos, Reportes, Generaciones del Equipo y Control de Código Fuente. El nodo de elementos de trabajo incluye consultas predefinidas y personalizadas que sirven para listar los elementos de trabajo asociados a su proyecto. El nodo de documentos contiene una serie de carpetas que apoyan en la organización de los artefactos generados por el proceso de desarrollo. El nodo de reportes incluye una variedad de tipos de reportes para mirar las métricas de su proyecto. El nodo generaciones del equipo ofrece acceso a una variedad de tipos de generaciones, incluyendo tipos personalizados. Finalmente, el nodo de control de código fuente le da a usted acceso al árbol de código fuente.
Conclusión En Team System un proyecto de equipo representa la materialización de un proyecto de desarrollo y se compone de reportes, plantillas, orientación de proceso, mejores prácticas, control de código fuente, elementos de trabajo, generaciones del producto y un portal de proyecto entre otros elementos. En este artículo se describió el procedimiento para crear un proyecto de equipo el cual consta de cinco pasos, al término de los cuales se obtiene un poderoso entorno de gestión del trabajo soportado por la plataforma de colaboración de Team Foundation Server.
Acerca del autor Rigoberto Calleja Cervantes es Ingeniero de Procesos de Software de Itera. Es egresado del ITESM y actualmente está cursando el Certificate in Software Engineering en la Universidad Carnegie Mellon.- Log in to post comments