Presentando Visual Studio 2013 (y demás novedades)

Tal y como se anunció en la Keynote del TechEd North America, pronto tendremos nueva versión de nuestro IDE favorito: Visual Studio 2013 llegará como preview a finales de este mes de junio, coincidiendo con el Build 2013 que se celebra en San Francisco. A esta nueva versión le acompañan muchas características relacionadas con el ciclo de vida de aplicaciones modernas, por lo que la integración con TFS será importantísima. De hecho, también habrá nuevas versiones de TFS tanto en la nube (Team Foundation Service va incorporando poco a poco algunas de estas nuevas funcionalidades) como on-premise (con la preview de Team Foundation Server 2013 llegando a la par).

Algunas de las características que ya hemos podido conocer son las siguientes:

Agile Portfolio Management

Agile Portfolio Management te permitirá planificar proyectos ágiles "a escala" mostrando la relación jerárquica entre el trabajo que se realiza en varios equipos dentro de una organización. Actualmente la herramienta de backlog está más centrada en equipos independientes, y con esta mejora se busca que cada persona dentro de la organización pueda utilizarla de la manera más acorde a su nivel dentro de la organización o del proyecto. Uno de los principales puntos era el reparto del trabajo, ya que cada nivel de la organización se preocupa de distintos niveles del proyecto.

Con TFS 2013 se soluciona esta problemática introduciendo la idea de un backlog con diferentes niveles: cada elemento del backlog de iniciativas (negocio) se puede desglosar en otro backlog de escenarios, y este a su vez en otro backlog de historias de usuario, etc. de manera que se pueda gestionar cada nivel de manera independiente y relacionar claramente elementos de un nivel con los de otro. También se permite que varios equipos que usan Scrum puedan gestionar su propio backlog de historias o tareas, contribuyendo todos al mismo backlog de nivel superior. Todo esto estará disponible en TFS 2013, y es una de las características ya disponibles en Team Foundation Service para que vayamos trasteando con ella.

Colaboración en equipo

Siguiendo con la comunicación, colaboración y gestión del equipo, cuestiones cada vez más importantes en los equipos de desarrollo que usan metodologías ágiles, otra de las nuevas características que incluirá TFS 2013 son los Team Rooms: un registro permanente de todas y cada una de las acciones que se produzcan dentro del proyecto por parte del equipo, pudiendo configurar notificaciones de las acciones que queremos que vayan a este espacio (checkins, builds, code reviews, etc.). También permitirá tener conversaciones entre los miembros del grupo, quedando también registradas en el Team Room, por lo que se convierte en el punto de encuentro del equipo en el que cualquier miembro puede ponerse al día acerca de todo lo que haya sucedido en el proyecto.

Esta característica también está ya disponible en Team Foundation Service, y vendrá con la preview de TFS 2013 durante el Build 2013.

Control de versiones

En cuanto al control de versiones, se han seguido introduciendo mejoras en nuestro Team Explorer (siguiendo la línea de las últimas actualizaciones de Visual Studio 2012). En este caso se ha mejorado la pestaña de Conectar, mostrando una lista de todos los proyectos y/o repositorios a los que te has conectado (ya sea en local, en tu propio servidor o en la nube) pudiendo pasar rápidamente de uno a otro…

…y también la página de Inicio de nuestro Team Explorer, más atractiva visualmente y más completa, ya que te permite acceder a cualquier sitio necesario para la gestión de tus proyectos de equipo (como, por ejemplo, la pizarra de tareas). También incluye una lista de proyectos a los que puedes conectarte, de manera muy similar a lo que hemos visto en Conectar:

Y, por petición popular, cualquier pestaña de nuestro Team Explorer pasa a ser extraíble para que el usuario pueda colocarla donde él prefiera, como un pop-up. Para los más nostálgicos de Visual Studio 2010, por ejemplo, esto significa que pueden anclar la pestaña de Cambios pendientes en la posición que tenía por entonces:

 

En cuanto al código, esta vez en Team Foundation Service, aparece Lightweight code commenting, una nueva característica disponible en el acceso web a nuestro proyecto que permite a los miembros del equipo realizar comentarios en línea fácilmente  en nuestros archivos de código. Tiene mucho en común con la herramienta de review de Visual Studio (Premium y superior) y seguirá creciendo en un futuro. Aún así, esta funcionalidad ya facilita las revisiones de código e incrementa la comunicación y la trazabilidad del proyecto.

Por último, pero no por ello menos importante, seguiremos contando con todo el soporte de Git como repositorio de código fuente que hemos tenido hasta ahora en Team Foundation Service…y también en nuestros servidores on-premise en TFS 2013!

Código

Visual Studio siempre ha intentado ayudarnos con nuestro código, y con esta nueva versión añadimos más indicadores para ayudarnos en nuestros desarrollos, mostrándonos información clave mediante un texto gris superpuesto en el que podremos hacer click para ver la información con más detalle. Estos indicadores nos mostrarán información, entre otros, sobre los tests unitarios, work items y referencias de código de nuestra aplicación directamente en nuestro editor de código.

En este primero, por ejemplo, podemos ver cierta información relativa al método en el que nos encontramos:

En este otro se nos muestra información sobre los tests que operan sobre ese método:

tests

Y este último, que nos muestra los cambios recientes que afectan al método en cuestión:

 

Otra de las nuevas características más interesantes son los diagnósticos de memoria, especialmente centrados en encontrar memory leaks en producción. Podremos tomar una “foto” del estado de la memoria, cargarla en Visual Studio y explorar la pila para entender a qué se está asignando memoria y que se está llevando a cabo en ese momento. También podrás tomar varias de estas fotos y compararlas para analizar qué cambia entre un momento y otro.

Testing

Respecto a cuestiones de testing, se ha seguido desarrollando la línea que ya comenzó con la segunda actualización de VS2012, construyendo herramientas que nos permitan gestionar con más detalle desde nuestro TFS nuestros planes de prueba, creándolos y modificándolos sin tener que salir del sitio de nuestro proyecto…

…así como la creación/edición de los casos de prueba, permitiendo que se adjunten archivos en cada paso del mismo, usar pasos compartidos, parametrizar datos, etc.

Además de todas estas mejoras respecto a la gestión de los casos de prueba desde la web, también se ha presentado un nuevo servicio llamado Cloud load testing. Desde VS2005 se ha dado soporte a las pruebas de carga, que permiten validar el rendimiento, escalabilidad y fiabilidad de nuestras aplicaciones, pero era necesario configurar tu propia infraestructura para ejecutarlas. Con este nuevo servicio, basado en Team Foundation Service, podremos realizar estas pruebas de carga sin necesidad de configurar nuestra propia infraestructura. Esto puede ser especialmente interesante para quienes estén desarrollando aplicaciones alojadas en Azure y quieren comprobar la escalabilidad de las mismas antes de abrirlas al público.

Para ejecutar estas pruebas necesitaríamos utilizar Visual Studio Ultimate Edition para configurar las pruebas de carga y enlazarlas con nuestro proyecto en Team Foundation Service

…y pronto obtendríamos los resultados de nuestra aplicación:

La previsión es que este servicio esté disponible con la preview de Visual Studio 2013 que se lanzará  durante el Build, y también se lanzará en preview, por lo que el número y tamaño de los tests que se podrán ejecutar estarán limitados durante esa etapa de preview.

 

La espera se nos va a hacer muy, muy, muy larga, pero con todas estas novedades (y las que nos quedan por descubrir) seguro que merece la pena!

 

Un saludo,

Gorka Madariaga (@Gk_8)