Wednesday, October 9, 2013

Team Foundation Service es RTM

TFS en la nube

En el último tiempo Microsoft ha fortalecido su oferta de servicios en la nube subiendo, poco a poco, servicios que originalmente eran productos licenciados. Tal es el caso de Team Foundation Service,  el cual corresponde a la versión en Windows Azure de Team Foundation Server.
Realmente creo que hace sentido la existencia de este servicio en épocas donde la mobilidad y ubicuidad de los desarrolladores es casi una necesidad de negocios. Si bien en la actualidad muchas empresas ofrecen servicios de hosting de código en la nube, muy pocas ofrecen una visión completa del ciclo de vida de aplicaciones (ALM - Application Lifecycle Management).
En ese sentido Team Foundation Service es una plataforma super completa que cubre la totalidad de los aspectos de ALM tal como lo hace su versión on-premises.
Si bien los modelos de planes de servicio pagos aún se encuentran en definición, existe un "Free Plan" que permite utilizar el servicio sin costo alguno con un límite de 5 usuarios. Aún así, en caso de requerir mas de 5 usuarios es posible crear cuentas adicionales sin costo hasta en tanto no exista definición de planes de servicio. Un dato no menor es que quienes cuentan con una suscripción paga a MSDN pueden acceder al servicios sin costo alguno.

Funcionalidades soportadas

Team Foundation Service provee muchas de las funcionalidades conocidas en la versión on-premises:
  • Control de versiones, con  todas las características de un SCM world class (branch, merge, anotaciones, shared check-ins, soporte para equipos distribuidos, code reviews, shelving, suspend & resume), completamente integrado con Visual Studio y con la posibilidad de usar GIT como sistema versionador. (GIT es un SCM diseñado por Linus Trovals en 2005 para el desarrollo del kernel de linux, y que se hizo muy popoular en los últimos años gracias a su flexibilidad y capacidad para el versionamiento remoto. Mas info en http://git-scm.com
  • Work-Items, en base a una plantilla de proceso que define los diferentes elementos del proyecto que requieren trazabilidad, como por ejemplo funcionalidades a implementar ("features") o defectos ("bugs"). Los templates de proceso predeterinados incluyen SCRUM, MCF for Agile y MSF for CMMI.
  • Builds, aún en modo "preview", brinda la capacidad de "ensamblar" el sistema automáticamente a partir de un script. Permite implementar escenarios de integración contínua y automatizar las tareas de despliegue.
  • Tests, aprovechando las capacidades de Visual Studio para automatizar pruebas mediante test unitarios o de UI, esta funcionalidad permite implementar un "Test Plan" conformado por diversas pruebas automatizadas y que pueden ejecutarse a demanda, llevando un registro cronologíco y del estadío de calidad de cada "build".
  • Rooms, funcionan como salas de chat que pueden crearse y agregar diferentes participantes del equipo para realizar discusiones. El punto diferenciador es que se guarda un registro cronológico de los chats lo que permite consultar el historial de lo conversado por día. 



Crear un proyecto

Para crear un nuevo proyecto es necesario contar con una cuenta de Windows Live y luego ingresar a la página de creación de cuenta (https://tfs.app.visualstudio.com/_account/Signup) donde se debe especificar la URL que se utilizará para ingresar al sitio que albergará nuestros Team Projects.

Una vez creado el sitio web es posible empezar a crear proyectos, pudiendo seleccionar entre dos tipos de control de versiones: el tradicional (botón azul) y el basado en GIT (botón rojo):



Con el proyecto creado podemos ingresar al sitio del mismo y comenzar a utilizar las funcionalidades de ALM:



En proximas entradas de este blog iremos analizando las diferentes funcionalidades provistas por Team Foundation Service.