Tema de Proyecto: Asistente para la definición de procesos de software para MS Visual Studio Team System (VSTS) Proponentes: Gastón Mousques, Eduardo Mangarelli Departamento de Ingeniería de Software Tipo de proyecto: Investigación aplicada Descripción abreviada El objetivo de este proyecto es desarrollar un prototipo de asistente que permita definir plantillas de procesos para el ambiente de desarrollo MS Visual Studio Team System (VSTS). La funcionalidad del asistente y de sus aplicaciones asociadas permitirá a los Ingenieros de procesos de una organización seleccionar e implantar en sus proyectos las mejores prácticas de desarrollo para un proyecto. Mediante el mecanismo de definición de procesos se pretende ayudar en la definición de los procesos para proyectos de software en base al conocimiento adquirido por la organización y aprovechar los mecanismos y herramientas para el soporte, gestión y guía de procesos que ofrece la plataforma MS VSTS. Motivación En los últimos años han surgido varias metodologías ágiles que complementan las metodologías de desarrollo de software tradicionales para proyectos. Incluso existe una corriente dentro del área de procesos de software que propone la necesidad de definir, según las características de cada proyecto, una metodología de desarrollo particular para cada caso. Tanto las metodologías ágiles como las tradicionales se apoyan en la utilización de “mejores prácticas” de Ingeniería de software que se pueden utilizar independientemente de la escuela de procesos que las propone (por ej. técnicas de: testing, diseño, aseguramiento de calidad, estimación gestión de proyectos, etc.), lo que permite definir metodologías específicas y apropiadas para las necesidades de cada proyecto. Por otra parte, los ambientes de desarrollo actuales como MS Visual Studio Team System integran los procesos de desarrollo a las herramientas que se utilizan día a día en el desarrollo de software. En particular, la plataforma de desarrollo MS Visual Studio Team System permite definir templates de procesos que “guían” al equipo de desarrollo en la utilización del proceso y modifican el comportamiento de colaboración y de gestión de la plataforma en base a estas definiciones. Actualmente existen dos tipos de templates de procesos para VSTS basados en las versiones de MSF (v4) para desarrollo ágil y CMMI, El objetivo de este proyecto es desarrollar un prototipo de asistente que permita definir nuevos tipos de templates de procesos basados en las características del proyecto y las de la organización en que se va a utilizar el proceso. Dentro del alcance del proyecto se encuentra: 1. Desarrollar un asistente de definición de procesos que permita definir el proceso que guiará el desarrollo. El asistente permitirá: a. la selección de prácticas de Ingeniería de Software en función de las características del proyecto y el conocimiento de desarrollo adquirido en la organización. b. La generación de templates de procesos para las prácticas seleccionadas. 2. Desarrollar mecanismos que permitan capturar la utilización de las prácticas de desarrollo en los proyectos con el fin de retroalimentar y mejorar el proceso de selección de prácticas del asistente. 3. Explorar posibles aplicaciones que complementen o extiendan los mecanismos de “process guidance” que ofrece VSTS con mecanismos de aprendizaje, colaboración en la aplicación de prácticas y mejora de los procesos. Características del proyecto El proyecto presenta los siguientes aportes: Estudio en profundidad del VSTS y sus mecanismos de integración. Desarrollo de componentes para esta plataforma, posiblemente en c# y asp.net. Aprendizaje sobre procesos de desarrollo y su aplicación en la práctica. Investigación en técnicas de representación del conocimiento y de IA.