Beta 1 de la plantilla de Scrum For Team System de Conchango

Pues sí, además de Team Foundation Server 2010, también se empiezan a vislumbrar futuras plantillas que utilizen las nuevas capacidades.

Y una de estas, y que a mi me gusta, es la plantilla Scrum for Team System, de Conchango, que ya nos anuncian la Beta 1 de su plantilla para TFS 2010. Y nos lo anuncia Simon Benett en su blog, títulando el post 3.0 from 30,000 feet

En este post nos cuenta algunas de las novedades de la versión 3.0 de su plantilla, que estará perparada para TFS 2010:

  • Nuevo modelo de QA, aquí no cuenta mcuho ya que dice que nos hablará de ello más adelante.
  • Soporte para múltiples equipos en múltiples sprints que permiten utilizar esta plantilla para poryectos más grandes con múltiples equipos
  • Mejoras en la plantilla para la planificación, aquí tengo ganas de ver que nos traen, ya que su herramienta Task Board me gusta bastante
  • Mejoras para reforzar el “Done”, ya sabéis que uno de los puntos críticos de Scrum es la definición de cuando sprint está completo, también aquí nos van a traer mejoras para saber cuando el sprint está completadop.
  • Soporte para Lab y Test Manager features (Camano) esto va a estar interesante ….
  • Mejoras en la gestión de los estados de los Work Items, los que ya usáis TFS y los estados de Work Items sabéis que esto a veces es complejo, aquí anuncian mejoras que nos permiten “calcular” las transiciones de estados, hmmm, esto tengo que verlo.
  • Descomposición de tareas, aunque en la versión 2 de la plantilla mejoraron, y sobre todo si usáis el Task Board, si que es cierto que a veces es dejar sprint Work Items huérfanos por error, o perder la composición del PBI, aquí también anuncian que han hecho mejoras para evitar estos errores.

    Y bueno esto es lo que nos anuncian, habrá que estar al tanto 🙂

  • Relaciones entre capas con VSTS 2010 y servicios WCF

    Bueno, leyendo los posts de Bruno acerca de los diagramas de análisis de capas con VSTS 2010, y con mi solución de pruebas de las opciones de análisis de interacción entre capas, he descubierto un pequeño ¿bug?.

    Y es que, una situación muy común en las aplicaciones n-capas, es, que la capa de usuario, como la capa WPF del ejemplo de Bruno, no llama directamente a la capa de negocio, si no a un servicio (en mi caso WCF).

    En el ejempli del análisis de interacción de capas, llamábamos a un servicio WCF, que estaba dentro de la propia solución, en un proyecto de tipo web, pero siendo un servicio WCF, que es fácilmente descubierto, automáticamente a la hora de agregar la referencia al servicio.

    Pues bien, si creamos un nuevo diagrama de capas (layer diagram), siguiendo las instrucciones del post de Bruno, agregamos todas nuestras capas y las relacionamos con los proyectos (incluyendo el servicio), y le damos a la opción Generate dependencies, oh, sorpresa, la dependencia de la capa de usuario con el servicio WCF no la muestra.

    Habrá que investigar si es un bug o es “by design”, para mi es un bug, ya que es una dependencia más, ¿a vosotros que os parece?.

    Integración entre Team Foundation Server 2008 y Blend 3

    ¡AL FIN!!!!!! una de las mejoras que llevabamos pidendo desde hace tiempo, era la integración de Expression Blend con TFS, ya que, para poder integrar bien el rol del diseñador, experto UX, o cualquier otro que use esta herramienta en su trabajo, era básico que pudiesen acceder, al menos, al repositorio de código fuente de TFS 2008.

    Pues bien, en su versión 3, Expression Blend ya se integra, no tengo ahora mismo instalado Blend, pero os dejo una captura sacada del blog de Ed Hintz de esta integración.

    expressionblend3-tfs_2[1]

    Bueno, lo primero que veo es que por ahora sólo parece que se integre con el Version Control, nada de Work Items, informes, builds, etc como el Team Explorer, pero es un buen comienzo 🙂

    Otra cosita de apuntar, es que para que esta integración funcione correctamente, es que hay que meter este patch KB967483, en el servidor de TFS 2008.

    Aquí os dejo esto para todos los equipos que uséis Blend 3 y TFS 2008.

    Análisis de interacción entre capas con VSTS 2010

    Actualmente, la gran mayoría de desarrollos (siempre hay excepciones) se desarrollan con arquitecturas de n-capas. Esto nos da muchas ventajas, que no creo que hagan falta ser enumeradas ahora, sin embargo, todas estas interacciones, especialmente capas de servicios y capas de acceso a datos, son un punto susceptible a los cuellos de botella.

    Una de las novedades del Code Profiler de Visual Studio Team System 2010, es el análisis de interacción entre capas.

    Vamos a hacer un pequeño resumen de como utlizarlo, y un par de conclusiones acerca de el, siempre sin olvidar que estamos ante una Beta 1 ….

    Empezemos con el ejemplo más sencillo.

    Supongamos una aplicación WPF, que llama a una capa de lógica de negocio (con una referencia directa), que a su vez llama a la capa de datos, que se vale de un nuevo ensamblado con las entidades y el acceso a datos mediante Entity Framework, ¿sencillo no?.

    A continuación, con nuestra solución abierta (recordemos que estamos en VSTS 2010), seguimos los siguientes pasos:

    1. En el menú Analyze, seleccionamos Launch Performance Wizard
    2. En la siguiente pantalla siguiente nos preguntará que tipo de profiling queremos hacer, seleccionaremos o bien Sampling  o bien Instrumentation.
    3. Lo siguiente es sobre que proyectos queremos hacer sampling o instrumentación, por ahora, sólo seleccionaremos nuestra aplicación WPF.
    4. Lo último que nos preguntará es si queremos lanzar el profiler cuando cerremos el wizard. Por ahora no queremos ejecutarlo, así que deseleccionamos esta opción.
    5. Ahora vamos a configurar el tier profiling, para esto, pulsaremos botón derecho en la sesión de profiling que hemos creado, y seleccionamos las propiedades:image
    6. Dentro de las propiedades tenemos una nueva opción Tier Interactions , simplemente nos movemos a esa opción y activamos el checkbox.
    7. Ya sólo nos queda pulsar el botón de ejecución de la sesión de profiling: image

    Una vez ejecutada la sesión de profiling, al cerrar la aplicación, se nos genera el informe del profiler, en el menú de sub-informes disponibles, nos debería aparecer un nuevo sub-informe Interactions:image

    Cuando pulsemos en el, se nos mostrará un informe de las interacciones, en mi caso, este es el resultado (recordad que estamos con 3 capas):

    image

    Como podéis ver en el informe, vemos que ha habido una única interacción entre capas, correspondiente a una consulta de SQL Server (la consulta se ve en la parte inferior del informe), y los tiempos de ejecución.

    Uno de los primeros puntos de feedback (que ya he dado), es que en este caso de varias capas, no me dice que capa ha sido la que ha ejecutado la consula, ni el método ni nada, con lo que, a pesar de ser muy buena información, me faltarían datos para saber donde tengo que atacar.

    Vamos a ver el siguiente escenario, este es básicamente igual que el anterior, pero en este caso, entre la capa de presentación WPF, y la capa de negocio, vamos incluir una capa de servicios WCF, simulando un entorno distribuido.

    Los pasos de creación de la sesión de profiling son los mismos, pero, en este caso, debemos seleccionar tanto la capa de usuario (WPF), como la de servicios (WCF), en el listado de proyectos que vamos a examinar, durante el wizard de creación de la sesión.

    El resto de los pasos son los mismos, sin olvidar de activar el check de interacción entre capas. Además aprovecho para comentaros, que cuando agreguéis a posteriori, a una sesión de profiling, nuevos proyectos, activarlo de nuevo, ya que es una propiedad de cada uno de los ensamblados a examinar.

    Ahora, cuando ejecutemos la sesión de profiling, se nos lanzará tanto el interfaz de usuario, como el servicio WCF.

    Una vez terminada la sesión de profiling, si nos movemos al sub-informe de interacciones, tendremos la siguiente información:

    image

    Bueno, lo primero es que me muestra la información de las llamadas a base de datos y al servicio duplicadas (en el código solo hay una a cada capa).

    Y básicamente la información es la misma que antes, en este caso además, tenemos información del servicio al que se ha llamado, pero no el método que se ha ejecutado, ni que capa ha hecho la llamada 🙁 cosas de la Beta supongo.

    Como podéis ver, esa información, en aplicaciones n-capas, es muy valiosa, esperemos que esos puntos de información que he comentado, cambien en la versión final.

    En cualquier caso, es una funcionalidad que me gusta :).