MVP por cuarto año consecutivo, gracias

MVP_BlueOnly¿Qué tal van esas fiestas?, jeje seguro que bien, como ya han hecho otros compañeros míos, os escribo principalmente para daros las gracias, a los que seguís el blog, a los que venís a los eventos, que leen los artículos de dotNetMania, que escriben en los foros, que mandan dudas por correo, que me llaman para dar eventos en sus grupos de usuarios, a la gente de DPE y Marketing por contar conmigo para eventos … 

A todos vosotros gracias y un fuerte abrazo, gracias a todo esto, sigo siendo MVP de ¿Team System? un año más. Otro año que espero estar a la altura 🙂

Hands-on labs para Visual Studio 2010 Beta 2

Hola de nuevo, pues parece que hay más regalitos de Visual Studio 🙂 y es que además de las máquinas virtuales que comentaba ayer para hacer nuestras pruebas, nos hacen otro pequeño regalo en forma de hands-on labs.

Y es que Brian Keller, evangelista de Visual Studio, nos ha dejado siete hands-on labs para que podamos ir  aprendiendo nuevas cosas de Visual Studio 2010, laboratiorios que podremos aprovechar con las maquinas virtuales :).

Así que aquí os dejo un link dónde Brian K. (esta vez ha ido todo de Brians), nos ha dejado los laboratorios:

http://cid-8c96cc4d0756cacb.skydrive.live.com/browse.aspx/Public/Blog%20Attachments/2010%20Beta%202%20Labs?uc=3

Que os lo paséis bien 🙂

Fuente: http://blogs.msdn.com/briankel/archive/2009/12/23/now-available-visual-studio-2010-beta-2-virtual-machines-with-sample-data.aspx

Máquinas virtuales de prueba de VSTS 2008 y VS 2010 Beta 2

Un pequeño regalo del señor ese vestido de rojo, de Brian Randell, y que viene en forma de máquinas virtuales totalmente listas para hacer pruebas de VSTS 2008, y por otro lado de VS 2010 Ultimate Beta 2.

Y es que, como bién sabéis, ya existían unas máquinas virtuales de VS 2008 totalmente listas para jugar con ellas, pero como bien he dicho, para jugar, tenían fecha de caducidad de este mes, así que, el amigo Brian, nos proporciona una versión actualizada de las mismas, y que vienen en 2 x 2 sabores, distintos, a saber:

Las imágenes de Virtual PC 2007/Virtual Server 2005 R2, tienen un pequeño truco, nos dan dos formatos de VMC, el acabado en –V7 son para Virtual PC, y las acabadas en –R2, son para Virtual Server (fácil no?). Estas máquinas caducan el 31 de enero del 2011.

Y más regalitos, ya que estaban liados, han creado máquinas de Visual Studio 2010 Beta 2 para poder probarlo, estas vienen sólo en 1 x 3 sabores, y ojo que vienen en plan de evaluación, y como Brian R. nos comenta, el SQL Server, nos dejará de funcionar el 9 de abril (y por ende el TFS …).

Bueno, pues ya tenéis cositas para divertiros los ratos que os dejen el resto de regalos 🙂

Generando bootstrappers en nuestras Team Build

En la mayor parte de mis proyectos últimamente, estoy creando los setups con WiX, que la verdad es que es muy potente a la hora de crear setups, aunque su curva de aprendizaje es realmente empinada …

Sin embargo, con sólo tener el msi del instalable no siempre es suficiente, cuando vasa distribuir software que tiene dependencias externas, como por ejemplo, el propio .NET Framework, necesitamos, antes de instalar nuestro software, asegurarnos que el cliente tiene instaladas estas dependencias.

Aquí es dónde entran los “bootstrappers”, que básicamente son un envoltorio de nuestro msi, que verifica antes que las dependencias externas, y si no las tiene las instala.

Para este post me voy a basar en las dependencias de Microsoft, que las tenemos disponibles en el directorio de SDK cuando instalamos el propio Visual Studio 2008, si miráis  en %Program Files%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages podéis ver los paquetes de dependencias que tenéis disponibles en vuestra máquina (comrpbadlo también en la máquina de Team Build de paso).

Dependiendo del tipo de paquete, algunos tendremos los ficheros instalables de las dependencias directamente, para incluirlos en nuestro setup final, además de unos ficheros Xml con todas las propiedades del paquete. Otra opción, que será la que usemos en este ejemplo, es que en vez de incluir todos los ficheros en nuestro setup (incrementando el peso final), le podemos decir, al generar el bootstrapper, que los coja de lo que llama el HomeSite que no es otra cosa que lo coja desde internet directamente (de la web de Microsoft por ejemplo) que es lo que yo siempre procuro hacer, para que los instalables sean lo más ligeros posibles (aunque necesitarán de internet).

Antes de incorporar una dependencia, quiero que miréis, en el directorio del paquete del Framework 3.5 por ejemplo, el fichero product.xml, abridlo con el bloc de notas mismamente  y os vais directamente al final del fichero, dónde tenéis el siguiente Xml:

<RelatedProducts>
    <DependsOnProduct Code=”Microsoft.Windows.Installer.3.1″ />
    <IncludesProduct Code=”Microsoft.Net.Framework.2.0″ />
    <IncludesProduct Code=”Microsoft.Net.Framework.3.0″ />
</RelatedProducts>

Esto nos especifica, que si incluimos este paquete en una de nuestros bootstrapper, tenemos dependencia de Windows Installer 3.1 (que incluiremos también en nuestro bootstrapper), y que instala el Framework 2 y el 3.

Bien, ya vemos un poco de dónde vamos a sacar las dependencias externas para nuestro setup, vamos a configurar la build.

Supongamos que ya tenemos una Team Build, que compila nuestra solución, y que tiene un proyecto de WiX en la misma, y que genera un msi con nuestro instalable. Hasta aquí todo se hace con Team Build, sin necesidad de hacer nada nuevo, más que una configuración de build que compile nuestro proyecto WiX. Y supongamos que nuestro producto requiere del framework 3.5 SP1.

Por cierto, un pequeño apunte :), el paquete para bootstrapper del .NET 3.5 SP1, NO viene por defecto con ninguna instalación de VS 2008 ni siquiera con SP1, necesitaremos instalar un Visual Studio Express con SP1 preinstalado (http://www.microsoft.com/express/download/) que si que trae este paquete. La podéis instalar en una máquina virtual, y del directorio que os he dicho anes, coger el paquete directamente (directorio DotNetFX35SP1), y copiarlo a tu maquina en en directorio de paquetes.

Vale, pues lo que vamos a hacer ahora es editar nuestra Team Build, tenemos que abrir el fichero TFSBuild.proj y lo que vamos a hacer, es, en el paso de Team Build AfterDropBuild, cuando ya tengamos todo compilado, y copiado al directorio de destino, vamos a generar el bootstrapper.

Lo primero, es decir que dependencias vamos a incluir, para esto, añadimos las siguientes líneas al fichero TFSBuild.proj, justo antes del cierre </Target>:

<ItemGroup>  
    <BootstrapperFile Include=”Microsoft.Net.Framework.3.5.SP1″>
      <Visible>False</Visible>
      <ProductName>.NET Framework 3.5 SP1</ProductName>
      <Install>true</Install>
    </BootstrapperFile>
    <BootstrapperFile Include=”Microsoft.Windows.Installer.3.1″>
      <Visible>False</Visible>
      <ProductName>Windows Installer 3.1</ProductName>
      <Install>true</Install>
    </BootstrapperFile>
</ItemGroup>

Y, a continuación vamos a poner el código para generar el bootstrapper usando esos items:

<Target Name=”AfterDropBuild”>

   <!–Bootstrapper for Manager EN–>
   <GenerateBootstrapper
       ApplicationFile=”MiMsi.msi”
       ApplicationName=”Mi Setup”
       BootstrapperItems=”@(BootstrapperFile)”
       OutputPath=”$(DropLocation)\$(BuildNumber)\DirectorioDestino”
       ComponentsLocation=”HomeSite”
       Culture=”en”
   />

<Copy SourceFiles=”$(OutDir)\MiMsi.msi” DestinationFolder=”$(DropLocation)\$(BuildNumber)\DirectorioDestino”></Copy>

</Target>

Aquí le estamos diciendo, que después de haber copiado los ficheros compilados al directorio final, vamoa a generar un bootstrapper, para el msi llamado MiMsi.msi, le damos el nombre para mostrar en el bootstrapper (el título de la pantalla), la conlección de items que hemos creado antes, en OutputPath le damos el directorio dónde va a generar el fichero setup.exe (el bootstrapper), al decirle en ComponentsLocation el valor HomeSite, le decimos que cogerá los paquetes desde internet, y por último el idioma del bootstrapper (en este caso inglés).

Como último paso, copio nuestro msi, desde el directorio dónde lo ha compilado Team Build, hasta el directorio de destino dónde ya hemos generado el setup.exe, que lanza la instalación de las dependencias, y a continuación lanzaría nuestro msi.

Podéis ver que no es excesivamente difícil hacer nuestro propio bootstrapper, que instale primero nuestras dependencias, y a continuación nuestra aplicación. Tampoco es que sea un proceso muy sencillo (como sería deseable), pero con esto y la documentación de la tarea GenerateBootstrapper del MSDN podéis empezara crear vuestros propios bootstrapper: http://msdn.microsoft.com/en-us/library/ms164294(VS.85).aspx

Por cierto, todo esto realmente es MSBuild, yo he incluido el target en mi build de Team Build en el último paso, pero si no tenemos Team Build, y editando los ficheros .wixproj, podemos incluirlo en nuestra compilación local, creando, por ejemplo un target (cambiando lo de AfterDropBuild), llamado “Bootstrapper”, y ejecutandolo desde línea de comandos con MSBuild :

msbuild MiWix.wixproj /target:Bootstrapper

Cambiando los directorios necesarios también, lógicamente 🙂

Bueno espero que os haya sido de ayuda, aunque es un poco complejo de seguir, cualquier duda aquí me tenéis.

Plantilla Scrum for Team System de Conchango para TFS 2010

Buenas noticias para todos aquellos que usamos la plantilla de Scrum de Conchango, y es que alguien en el ALM 09 me preguntaba acerca de la plantilla de Scrum de Conchango para TFS 2010, y mi respuesta era que estaban trabajando en ella pero aún no había nada público.

Pues eso era hasta hoy, ya han puesto la Beta 2 de la nueva plantilla disponible para descargar, la verdad es que le han dado una vuelta grande, y la han agregado mucha funcionalidad nueva, aunque eso supone un poco más de complejidad en su uso.

Esta Beta 2 de la plantilla, está diseñada para TFS 2010 Beta 2, y está disponible tanto para x86 como para x64, habrá que probarla, aunque la verdad, es que la plantilla de MSF Agile 5.0, me parece bastante buena también para hacer Scrum (se ve la dirección de MSF Agile hacia Scrum …)

En fin, que aquí os dejo el hilo del foro dónde la tenéis disponible:

Scrum for Team System version 3 Beta 2

Material ALM 09

Una vez pasado el evento, y toda la época de eventos que he tenido entre Design and Develop tour, inner circle, teched, etc, espero volver a estar por aquí más frecuentemente 🙂

Por ahora, y como mcuhos ya sabéis, ayer fue el ALM 2009, en el que hubo muchas más charlas que el año pasado y que estuvo dividido en 6 tracks.

Yo di dos charlas en el track de calidad, y aquí os dejo los materiales.

La primera fue sobre calidad en el código con 2010, en la que hablé del IDE, de las novedades respecto a TDD, análsis de código estático, etc., aquí va el material, aunque lo más importante eran las demos, que intentaré regrbar en vídeo segçun vaya teniendo tiempo … (si esa frase es habitual en mi …)

La segunda fue acerca de integración contínua en .NET y Java con Team foundation Server 2010 y 2008, si, habéis oido bien, con Java y TFS, aprovechando las nuevas capacidadesde Teamprise (miles de gracias a Martin Woodward por la ayuda)

Bueno fue un placer saludaros a los que pasastéis por allí y espero que disfrutaseis del evento y que os mereciese la pena.

Instalación de TFS 2010 Basic

Os contaba hace bien poquito el tema de la nueva versión de TFS Basic, como una nueva versión de TFS para todos, pero realmente, y por desconocimiento en ese momento, os mentía … pero no mucho.

La cosa es que los que os bajéis el nuevo TFS 2010 Beta 2, no os volváis locos buscando el paquete de TFS Basic, realmente es una opción de configuración a posteriori de la instalación.

Los que hayáis jugado un poco con el nuevo TFS 2010 Beta 1 (y si habéis sido rápidos con la Beta 2), ya sabréis que ahora, no se configura nada durante la instalación, y que es a posteriori, una vez acabada, cuando se nos muestra un wizard con las opciones de configuración, y es aquí dónde aparece la opción de configuración Basic:

image

Cuando terminéis de instalar (incluso en Windows 7), os aparecerá esta pantalla (bueno algo distinta que yo ya lo tengo configurado), y podéis seleccionar la opción Basic.

Como ya os dije, funciona sobre sistemas operativos de cliente y sobre SQL Server Express, lo que me ha gustado además del paquete de instalación, es que si no tienes instalado ni SQL Server Express, ni configurado tu IIS, durante el wizard de configuración te los instala y configura 🙂

Además, como podéis ver (la captura es de mi Windows 7 x64), también tenemos las Team Builds disponibles con el TFS Basic.

Así que nada, ya tenéis esta nueva versión de TFS para vuestros entornos locales de desarrollo.

Ya tenemos Beta 2 de Visual Studio 2010 o el rey ha muerto, viva el rey

image001

Siiiiiiiiiiii, ya la tenemos disponible 🙂 y con nuevo logo como podéis ver en la cabecera jeje.

Pues nada ahora a probar todo lo nuevo, y lo primero es el cambio de SKUs y es que tenemos nuevos nombres … Visual Studio 2010 Ultimate … que se correspondería con la “antigua” Visual Studio Team System.

Y como podéis ver el primer cambio es que ya no existe nada llamado Team System, así que el rey ha muerto, después de todo este tiempo Team System desaparece como nombre.

Aunque el ecosistema sigue estando hay, tenemos nuevos nombres de SKU:

  • Visual Studio Professional 2010 con MSDN, con las herramientas “básicas” de Visual Studio para Silverlight, Sharepoint, ASP.NET, etc., etc. Vaya lo que antes era la Professional.
  • Visual Studio Premium 2010 , en la que tenemos herramientas como las herramientas de profiling, de cobertura de código, las herramientas de DB Pro, métricas de código, análisis de código estático, etc (a ver si consigo el listado exacto)
  • Visual Studio Ultimate 2010  que es la equiparable a la antigua Team Suite, con todo el tema de IntelliTrace (depuración histórica), UI Test Automation, herramientas UML, ….
  • Visual Studio Test Elements 2010 , con la gestión de casos de test, testing manual etc, en definitiva las herramientas de gestión de casos de Tests
  • Visual Studio Team Lab Management 2010 , para la gestión de nuestros entornos de test virtuales de los que ya os iremos hablando.
  • Load Test Virtual User Pack 2010 (para los entornos de testing distribuidos)
  • Visual Studio Team Foundation Server 2010, que tendrá la opción de instalación completa o de la que ya hablé de TFS Basic Installation.

Como podéis ver es un cambio grande de nombres, esto no significa que Microsoft se aleje del ALM, sólo desaparece la denominación Team System, para pasar a ser simplemente Visual Studio ALM, así que … viva el Rey.

En fin, veremos como va avanzando esto y ya os iré contando más novedades según vayan saliendo. Yo por ahora tengo una opinión al respecto … pero a la espera de ver como se desarrollan los acontecimientos es reservada jejeje.

En cuanto a los suscriptorers de MSDN, los cambios afectan así:

  • Los que tengáis MSDN Professional y que actualmente tenéis VS Professional 2008, recibiréis Visual Studio Professional 2010
  • Si tenéis MSDN Premium y que actualmente tenéis VS Professional 2008, recibiréis Visual Studio Premium 2010.
  • Si tenéis MSDN con Team Suite o una Team Edition (creo que vale cualquiera pero tengo que confirmar), recibiréis Visual Studio Ultimate 2010

Así que ya sabéis, si queréis Ultimate y no tenéis ya una suscripción con Team Edition, actualizar a VSTS 2008 Development Edition, y conseguiréis la Ultimate.

Por ahora a descargar la Beta 2 (los que tengáis suscripción de MSDN la podéis descargar ya, el resto el día 21 de octubre) y a empezar a probar que tenemos, dónde lo tenemos y que tal funciona todo 🙂

Para ver más respecto a esto, podéis pasaros por el nuevo site de Visual Studio:

http://msdn.microsoft.com/en-us/vstudio/default.aspx (aún no aparecen los cambios, paciencia … no tardará mucho)

Ah y por cierto, una fecha … 22 de marzo 2010 … fecha de lanzamiento oficial de Visual Studio 2010 🙂

Ciclo de vida para todos con TFS Basic Installation

Hace poco, revisaba en un artículo de la revista Dotnetmania los 12 pasos para mejorar el software de Joel Spolsky. Estos pasos vienen a preguntarnos básicamente si trabajamos, entre otras cosas, en un entorno adecuado al desarrollo de software.

En estas, por orden de importancia además, nos cuestionan si tenemos un repositorio de código fuente, entornos de testing, y similares. Cuándo hablo acerca del ciclo de vida en charlas, o a veces tomando unas cervezas con colegas de profesión (si, a veces somos muy geeks), siempre surge el eterno dilema de “si todo eso está muy bien, pero sólo las grandes empresas tienen esa capacidad de infraestructura”.

Y en parte tienen razón, miremos el entorno de Visual Studio Team System, que como habréis podido adivinar es uno de mis preferidos. Hasta ahora necesitábamos un servidor Windows, un SQL Server, Sharepoint y Reporting, y comprar, instalar y mantener todo esto, no es trivial, por propia experiencia lo digo 🙂

Si, es cierto que hay otras opciones en el mercado, y que son muy buenas y más “baratas”, como puede ser SourceSafe, Subversion, Cruise Control.NET, Nant, nUnit, MbUnit, y seguro que muchos más que ni siquiera conozco.

Pero a veces, como me dice César de la Torre cuando vamos de tiendas de electrónica “lo barato sale caro”.

También tengo experiencia en bastantes de esas otras herramientas, y no voy a negar que algunas me gustan mucho, pero sin embargo, cuando salió a la luz Team Foundation Server como entorno que integraba muchas de estas funcionalidades en el propio Visual Studio me pareció un gran paso adelante y una gran apuesta de la Developer Division de Microsoft.

Pero como todos los inicios, la verdad es que montar TFS 2005 era un poco doloroso, con TFS 2008 la cosa mejoró, pero seguía siendo un entorno que iba para empresa media hacia arriba, por temas de costes principalmente.

Muchos de los desarrolladores que trabajan de modo autónomo no podían permitirse este entorno, si, se que existe TFS Workgroup, iniciativas como Bizspark de Microsoft que te dan licencias MSDN para start-ups, pero para alguien que trabaja en casa, que tiene uno o dos ordenadores, y (si es bueno), muchos proyectos, no podía permitirse montar y mantener un servidor aparte (con todo SQL Server, Sharepoint Services, etc) para manejar todo su ciclo de vida.

De ahí TFS Basic Installation, si, ya se ha hablado de el en muchos sitios, no estoy anunciando nada “nuevo”, pero quería dar mi visión personal de porque lo considero tan importante.

Y es que este nuevo TFS, del que todavía tienen que descubrirnos los precios de licencias, promete ser asequible para este tipo de perfil de desarrolladores autónomos y de pequeñas empresas, que no nos olvidemos, desarrollan software, y por tanto tienen las mismas necesidades de gestión de ciclo de vida que las empresas, aunque no manejen tanta información.

Además esta nueva versión se instala en sistemas operativos de cliente, con lo que no necesitamos montar un nuevo servidor, lo podemos montar en nuestra propia máquina de trabajo. Y no necesitamos pagar por un SQL Server, ya que funciona sobre SQL Server Express.

Por supuesto, tiene sus limitaciones, no disponemos de Sharepoint ni de Reporting, pero bueno, para un desarrollador autónomo y pequeñas empresas, esto no lo veo como una gran limitación la verdad.

Con este TFS Basic Installation, tenemos tanto control de código fuente, gestión de tareas (Work Items), y gestión de compilaciones (Team Builds), y todo integrado desde el propio entorno de Visual Studio Team System, lo cual para mi es una ventaja muy grande respecto a otros entornos, en los que, aunque todo se habla sin problemas, tenemos que hacer que se hablen entre ellos a mano.

No hay que olvidar también, que partimos de la base de un Team Foundation Server, con lo que si ese desarrollador autónomo, o esa pequeña empresa crece (ójala), no tenemos que migrar todo a un nuevo entorno, simplemente nos pasaremos aun TFS completo (pagando las correspondientes licencias claro), y mantendremos toda nuestra información histórica.

En fin, que no quería dejar pasar esta ocasión de recomendar a todos esos desarrolladores autónomos, pequeñas empresas, o gente que tenéis vuestros pequeños proyectos personales, que déis un vistazo (cuando esté disponible) a este nuevo TFS Basic Installation.

S itodo esto os interesa os recomiendo el post en el blog de Brian Harry (en inglés)

http://blogs.msdn.com/bharry/archive/2009/10/01/tfs-2010-for-sourcesafe-users.aspx