Hace unas semanas que estoy escribiendo la serie sobre el ecosistema de Microsoft para la gestión y desarrollo del ciclo de vida del software (ALM). Esta serie estaba basada en Visual Studio 2010, y la llegada del evento BUILD y la presentación del Windows8 Development Preview ha dejado la serie en un segundo plano.
Ahora quiero reproducir una serie de artículos escritos por Bruno Capuano, uno de los profesionales que más respeto en el mundo de la gestión de proyectos y herramientas ALM, y que gustosamente queremos compartir con los lectores de GenbetaDev.
Buenas.
Ya no hay excusas, después de la interesante semana donde se presentó Windows 8 en el Build, ahora toca comenzar a estudiar todos los contenidos que allí se mostraron. Además de mostrar Windows 8, demostrar una apuesta fuerte de parte de Microsoft hacia el soporte de desarrollo de aplicaciones con HTML5, algo de Windows Phone y otras cositas; uno de los grandes aportes fue el primer Preview de la próxima versión de la suite de desarrollo de Microsoft: Visual Studio.
Visual Studio es el entorno de desarrollo donde me siento más cómodo y es la herramienta que mejor conozco en estos últimos años. Pero además de ser un excelente entorno de desarrollo, es parte de una suite que intenta dar soluciones a eso que llamamos ALM: Application Lifecycle Management.
Veamos un poco de cómo hemos llegado hasta aquí, o mejor dicho cómo han evolucionado las herramientas de desarrollo de Microsoft hasta el día de hoy. Hace poco más de 10 años, las herramientas de desarrollo estaban orientadas hacia eso mismo >> “desarrollar”. Cada herramienta tenía su propósito y si por ejemplo querías desarrollar aplicaciones web, Visual Interdev era la opción. También estaba Visual Source Safe para gestionar el control de versiones de los archivos de código fuente y SQL Server 6.5 como base de datos. Estas aplicaciones se creaban bajo una arquitectura DNA y se ejecutaban en Windows NT4, con un IIS que hoy nos da un poco de miedo.
Como venía diciendo, existían muchas aplicaciones para cada una de las acciones que teníamos que realizar. El desarrollo era una especia de magia multitarea, donde el ALT+TAB estaba a la orden del día. Todo esto cambió con la primera versión de Visual Studio .NET allá por el 2002 (o 2001 si tenías la beta en casa). Visual Studio era la primer herramienta que te permitía hacer todo tipos de desarrollo desde un único punto de trabajo, desarrollo para aplicaciones Windows, desarrollo para aplicaciones web (sin vergüenza admito que programé en ASP.Net), desarrollo para dispositivos móviles, etc. Además en Visual Studio era posible acceder a acciones de administración de un servidor y analizar datos del visor de eventos, o iniciar y detener servicios.
Visual Studio .NET significó la reducción de un abanico de herramientas de desarrollo en una única herramienta y además con el soporte de .Net Framework, permitió que los programadores pudiésemos elegir el lenguaje con el que más nos sintiésemos cómodos. (Pobre de vos, si elegiste J#). En otras palabras, Visual Studio era “la herramienta” para un desarrollador. Pero la gestión de un equipo de trabajo, era algo que todavía planteaba un esfuerzo de trabajo muy grande.
En el año 2005, Microsoft decide apostar fuerte de nuevo y además de lanzar la 3ra versión de .Net Framework; lanza Visual Studio Team System 2005. En esta suite de herramientas se incluida una nueva versión de Visual Studio para los desarrolladores, pero además Microsoft hacía un primer acercamiento en un mundo donde no había participado mucho: “las herramientas de gestión de ciclo de vida del software”.
Visual Studio Team System 2005, consistía en un set de herramientas organizadas por perfiles de trabajo: programadores, testers, especialistas de bases de datos, arquitectos; y un servidor de colaboración que permitía dar forma a los flujos de trabajo para que pueda trabajar un equipo. Además teníamos la primera versión de un servidor de compilación para un equipo de trabajo, un repositorio de código fuente mucho más potente que Source Safe y otras novedades más que interesantes. (En las tripas de esta versión se crearon monstruos como MSBuild que siguen siendo el soporte para las compilaciones de todos los proyectos y elementos 6 años después).
En esa versión se incluyeron una serie de plantillas de proceso para dar soporte a metodologías AGILE y CMMI; pero como casi todos los productos en su versión 1.0, tenía muchas carencias dentro. Es por eso que la versión posterior: Visual Studio Team System 2008 solucionaba muchos problemas y agregaba las funcionalidades necesarias para que Visual Studio Team System pudiese ser considerada una herramienta de ALM.
Y el año pasado llegó Visual Studio 2010 ALM. En esta versión el equipo de producto de Visual Studio dio una vuelta más a los modelos conocidos y cambió radicalmente el producto. En esta versión se incluyeron herramientas de Testing con unas capacidades muy buenas, el servidor de compilación realmente maduró hasta ser un mecanismo para controlar la calidad; y Team Foundation se convirtió en el hilo conductor de todos estos elementos.
Utilizando Visual Studio 2010 ALM, podemos definir User Stories y crear Master User Stories Lists para organizar nuestro trabajo. También podemos definir cómo implantaremos esas User Stories utilizando tareas y además definimos que Tests tendremos que aplicar para que nuestras User Stories sean válidas. Cuando desarrollemos nuestra aplicación, podremos relacionar el código de la misma con los elementos anteriores y en todo momento aplicar controles de calidad utilizando un servidor de compilación.
Trabajar con CMMI, AGILE o SCRUM en Visual Studio 2010 era algo realmente interesante y hasta podía llegar a ser divertido. Por fin el concepto de equipos y roles, estaba soportado por una herramienta de Microsoft. Cracks como Rodrigo Corral te ayuda a ver un equipo como eso mismo, Juan Quijano habla de sus experiencias y ves que el punto de vista es de gestión, Luis Fraile te acorrala con temas relacionados con Testing; y doy por seguro que encuentras muchas personas más que hablan de Visual Studio pero sin hablar de desarrollo.
Continuará…
Saludos
El Bruno
Fuente | Bruno Capuano
Más información | Blog de El Bruno, MSDN, Microsoft Visual Studio