Mostrando las entradas con la etiqueta Team Foundation. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Team Foundation. Mostrar todas las entradas

sábado, octubre 04, 2008

Task Board for Scrum for Team System

 

I have been using Scrum for Team System since beta 1 and I quickly fell in love with that template. It reflects the way we were working, however, there was a big gap in the process, specially when planning for a sprint, we usually did all the prioritizations, sizing, assigning and breakdown of Product Backlog Items using other tools like Mindmanager, Excel or sticky notes.

Recently the guys from Conchango, creators of the template, released a beta of a tool that will help use fill that gap. It's a cool WPF tool that will interact with TFS and allow us to create and edit sprint backlog items.

I don't think the tool will replace Mindmanager and the whiteboard still will be an indispensable resource, but I don't think I would like to go back to Excel to edit my items (well lets see how it goes after a couple of sprints of working with it).

When I was looking at the tool I was thinking, mmm yes, you can move a task from In Progress to Done, that's cool, but excel can do much more specially with pivot tables and reports, but then I saw the rest of the features, like changing to Planning Mode to start adding Product Backlog Items, automatically doing the binding between product backlogs and sprint backlog items, searching, filtering and reporting and I have to say, this tool is something worth to try. So in two weeks I'll let you know more about this.

I'm still not sure about the pricing scheme and I'm a bit concern. At the moment is beta, and you can simply request a license, but it doesn't seem something that will remain free. I will need to consider if this is a tool that every developer on the team will be able to use.

Crispin Parker from Conchango published some useful webcasts and a post with more info on the product.

By the way, it would be great to get a surface to use this tool.

jueves, enero 31, 2008

Code Coverage para Identificar Casos de Pruebas Importantes

Esta herramienta es muy útil. Nos ayuda a ver que porcentaje de nuestro código esta realmente siendo ejecutado. Hay código que nunca se toca y esto nos puede indicar tres cosas.

1. Es código que realmente no se usa y sólo estorba y perjudica a la mantenibilidad de nuestro proyecto. Solución: Borralo.

2. Es código que no se está probando. Solución: Crea una nueva prueba.

3. El código es tan simple que no hace falta probarlo. Esto pudiera ser real, sin embargo, si en todo el set de pruebas no se pasa nunca por ahí nos hace pensar que tal vez nunca se usa en toda la aplicación.

El punto uno es simple, solo no le agarren cariño al código que no sirve y presionen delete sin llorar por las horas que invirtieron en algo que nadie usara. El punto dos se puede cumplir de muchas formas, la ideal es una prueba unitaria que podamos repetir constantemente, sin embargo, podríamos hacer un WebTest o Manual Test, lo importante es que se pruebe.

Podemos ver un ejmplo reciente.

image

En este caso vemos que nuestro metodo Borrar Artículo siempre se esta probando cuando el baseNode no tiene un artículo. Esto pudiera no ser muy critíco porque los otros tres metodos si estan cubiertos por otras pruebas, sin embargo, es una prueba básica que debería estar considerada.

No es necesario llevar esta practica a un extremo y querer tener 100% Code Coverage, en muchos proyectos no vale la pena, sobre todo con código heredado o si no se inicio con buenas prácitcas. Lo que si debemos tener bien presente es que no baje nuestro code coverage, es decir, iteración tras iteración o mejor aún (Si usan Integración Continua) check-in tras check-in  nuestro porcentaje de cobertura aumente, esta es una buena metrica para el equipo completo. 

Links

Como Configurar Code Coverage en Team System (MSDN)
Configurar Integración Continua en Team System 2005
Configurar Integración Continua en Team System 2008
Code Coverage para NCover (Si pruebas con NUnit)

martes, diciembre 04, 2007

Undo Pending Changes de Otros Usuarios

Hay veces que alguien sale de vacaciones o se va de la empresa o simplemente necesitamos trabajar con algún archivo que alguien dejo check-out en nuestro server y lo peor es cuando es un Check-Out exclusivo.

Aún siendo administrador no se puede dar click derecho y deshacer los cambios de alguien más, pero lo podemos hacer desde consola. Bueno al grano.

Supongamos que alguien dejo la empresa y algunos check-outs detrás. Primero necesitamos saber los Workspaces que manejaba y deshacer sus cambios. Desde consola de VS corremos lo siguiente

tf workspaces /owner:lizet.garcia /server:http://itmTFS:8080

Luego para cada uno de sus Workspaces hacemos un undo.

tf undo /workspace:lizet.garcia;itmLiz /server:http://itmtfs:8080 /recursive "$/"
tf undo /workspace:lizet.garcia;officePC /server:http://itmtfs:e8080 /recursive "$/"

Si quisieran simplemente hacer el undo de un solo archivo, quiten lo de recursive y especifiquen el path completo en lugar de "$/"

Para más info e imagenes chidas vean el blog de Alex Thissen

jueves, octubre 04, 2007

Los desarrolladores de Mobile estamos olvidados. ¿Qué podemos hacer?

Acabo de publicar sobre las novedades de TFS 2008 y estuve reflexionando (nuevamente sobre lo mismo), me gustaría que hubiera tantas nuevas en .NET CF como en otras áreas de VS2008 pero a veces los desarrolladores de Mobile nos sentimos un poco olvidados. Pruebas de estos son las enormes listas de novedades áreas como ADO.NET, ASP.NET, WPF, TFS 2008, AJAX, Silverlight, LINQ ¿y qué tenemos en Mobile?

No hay soporte para Silverlight for devides (aún), no hay soporte para SyncServices for devices (aún), WCF sólo implemente un subset del framework, no hay grandes cambios en ASP.NET for devices. Algunas de las ventajas del IDE no las podemos usar para mobile.

Por otro lado mientras algunos productos como el Smart Cliente Software Factory sigue evolucionando, tan así que se convertirá en algún momento en Acropolis y el Mobile Cliente Software Factory ha sido olvidado.

Bueno finalmente desarrollamos para mobile, así que más acción y menos quejas. Acabamos de migrar el MCSF a .NET 3.5 y funciona de maravilla junto con algunos de nuestros proyectos sólo para probar. La migración fue sencilla, la única parte que falta es el guidance, qué es como ayuda para ciertas acciones tipicas en el desarrollo del proyecto. Esto es porque no las nuevas versiones de GAT y GAX no son compatibles con la que hemos venido usando. Esperamos migrar esto al nuevo GAT y publicar en gotdotnet junto con algunas extensiones que hemos hecho al Software Factory. También en proceso de desarrollo estan unos Hands On Lab del que posiblemente publiquemos su versión en inglés y español.

En cuanto publiquemos la nueva version de MCSF y las extensiones pondre el link.

Por otro lado vale la pena comentar que en el nuevo sistema operativo Windows Mobile 6.0 hay varias cosas nuevas que valen la pena un vistazo. Entre ellas destacan claramente el emulador de celular y GPS.

Algo de lo más fregón para la nueva versión del IDE relacionada con mobile son las pruebas unitarias. Mientras yo publico algo más detallad pueden leer el Post del Equipo de .NET CF con una lista de otras mejoras, algo sobre los .NET CF 3.5 PowerToys y que hay de nuevo para WCF y Mobile

Había publicado ya un poco como parte de otro post algo de lo nuevo para mobile. Así que hago un copy/paste de estas ventajas.

...aunque se espera un WPF/E no será una de estas (Silverlight para mobile), pero existe ya un Compact WCF o WCF-E. El primero, WPF Everywhere, es para usar XAML y las capacidades gráficas de WPF en otras plataformas como Web (ahora conocido como Silverlight) y otros Sistemas Operativos incluyendo Windows CE y por lo tanto Windows Mobile, sin embargo WPF-E saldrá a la luz primero como un componente para diferentes navegadores antes de estar disponible para Mobile, por lo que seguramente no lo veremos incluido como parte de Orcas. Compact WCF usará SMTP para poder tener colas de mensajes en aplicaciones desconectadas y un protocolo para poder comunicarse por push con los dispositivos, estos dos por si sólo son ya grandes ventajas, sin embargo esperaríamos algo de Remoting y WS-* para tener realmente mejores herramientas de comunicación desde estos dispositivos. Aunque no vengan como parte de WCF-E tendremos todo el stack para hacer algo nosotros.
Siguiendo con Mobile, tendremos también disponibles las nuevas características del lenguaje, buena parte de LINQ y otras tantas mejoras. Aunque el Beta de VS actual no incluye el SDK para Windows Mobile 6.0, esperamos que el release de Orcas si lo incluya. Hay otras áreas muy relacionadas con Mobile como Sql Server Compact Edition 3.5 que recibirán grandes mejoras. La más importante de estas considero será SyncServices de ADO.NET, que lamentablemente no contará con la versión de Mobile para esta versión.


Definitivamente, aunque tal vez no como parte de un major release como es Orcas, hay mucha innovación que se está haciendo (y quisiera decir estamos haciendo) alrededor Mobile como gente que lo esta usando junto con Robotics Studio, Virtual Earth, APIs para Facebook, RFID, AJAX, etc. Es sólo cuestión de buscar. Los siguientes son una serie de links que valen la pena:

José Miguel Torres publica de temas de Mobile.
DesarrolloMobile tiene muchos recursos organizados por tecnología.
OpenNetCF agrega algunas cosas que el framework no considera, como mejor soporte para comunicación serial entre muchas
Nick Landry tiene varios posts relacionados con Virtual Earth y Mobile.
OrientationAware.NET la gente de Clarious Consulting extendio el OAC del MCSF para hacer más sencillo el desarrollo para dispositivos con diferentes resoluciones y form factors.

Team Foundation Server 2008. Caracteristicas

Ya se acerca el release date de VS 2008 y junto con este se liberará otro producto muy importante para nosotros, Team Foundation Server 2008. Estuve leyendo el Blog de Brian un post que habla de todas las novedades.

Estas son algunas de las que me parecieron más importantes.

Incorporación de otras herramientas que antes teníamos que instalar, hacer o configurar para que funcionaran como los PowerToys (Annotate y Folder Diff), TeamPlain para WebAccess, ahora la compro Microsoft y la incluye como parte del producto y CI, siendo esto último una de las ventajas más importantes.

Otros puntos clave son la mejora de la administración, una opción de GetLatestOnCheckOut, se podrá trabajar con Windows Server 2008 y SQL Server 2008 al igual que MOSS y Sharepoint 2007.

Hay una que no sé bien como funcione, habrá que probarla, sólo que aún no tengo el cliente de Orcas en mi lap, es más ahorita ni mi lap tengo :( Offline Improvements, por lo que entiendo podrás trabajar sin conexión al server y luego restablecerla. Actualmente es una bronca porque o trabajas sin SourceControl o no te deja editar archivos. Si eliges la primera entonces el cliente simplemente sobreescribe el archivo original teniendo el problema de que cuando regresas a trabajar online tienes que recordar manualmente que archivos editaste para luego darle check-out. Eso es bastante molesto y espero se haya eliminado. Me imagino un mundo en el que puedes ir a trabajar con un cliente y resulta que no tienes internet o por cuestiones del firewall no te puedes conectar al TFS de la oficina, pero no te preocupas porque sabes que tu cliente de TFS recordará que archivos debe hacer checkout al regresar a la oficina.

Extranet support, estoy ya existía en el SP1 del TFS 2005, pero seguramente mejoro algo, ahora puedes usar otro set de credenciales distintas a las que te loggeas cuando estás en la red privada, ojalá esto ayude a conectarnos desde Firewalls que actualmente no permiten enviar las credenciales.

Hay muchas más que aunque no son criticas si van a ayudar. Por ejemplo, si tenemos varias instancias abiertas de VS2005 y hacemos checkout a un archivo no se refresca en los otros. Esto puede ser bastante confuso. Se supone que mejoraron la manera en que se refresa Source Control Explorer.

Vayan y lean el post que hay muchas más.

lunes, junio 25, 2007

Herramientas para Team Foundation

Team Foundation nos ha ayudado bastante desde el trabajo del día a día hasta el seguimiento de proyectos y definición de procesos, por si sólo Team Foundation es una gran herramienta, pero la hemos ido haciendo aún mejor con ciertos productos de terceros y claro las personalizaciones que le hemos hecho. Aquí presento herramientas de las que usamos o conozco, sin embargo la lista completa esta aquí.

  1. Scrum for Team System del mismo Ken Schwaber y Conchango. TFS viene con MSF para CMMI y MSF Agile, sin embargo ninguna nos gusto. En lugar de trabajar desde cero en la definición de un nuevo proceso, tomamos Scrum For Team System que es un template que provee otros tipos de Work Items y flujos de trabajos. Les platico las diferencias más importantes.

    Ahora tenemos un Product Backlog donde vamos metiendo todos los requerimientos del cliente. Cada ítem dentro del Product Backlog en algún momento se relacionará con un Sprint, los cuales a diferencia de las iteraciones de MSF tienen una fecha de inicio y fecha de fin. Esos mismos ítems los relacionamos con n ítems más del Sprint Backlog donde tenemos ahora si actividades más técnicas.

    Los ítems del product backlog se asignan a un equipo de desarrollo y los Sprint Backlog Items se asignan a una persona. Una de las adaptaciones que hicimos es que estos work ítems puedan asignarse a un par para decir, está tarea la hacen Mike y Tea en lugar de que ambos trabajen en ella y sólo aparezca uno de los dos. Esto aún no tiene ningún efecto en reportes ni nada por el estilo, pero ya sería cuestión de luego usarla como filtro o para agrupaciones, finalmente la información ya se está guardando.

    Trae nuevos reportes como Product Burndown y Sprint Burndown que te muestran el progreso y una tendencia del proyecto o iteración actual respectivamente. Aunque muchos reportes se apegan más a nuestra metodología, tengo que decir que extraño algunos de MSF.

    Resumiendo Scrum for Team System nos permite ejecutar nuestros proyectos de una forma más natural que MSF.

  2. Continuos Integration de Vertigo Software y con mejoras de Daniel Cazzulino de Clarious Consulting y miembro del equipo de desarrollo del MCSF es un simple WebService que se suscribe al evento Check-In e inicia el proceso de Build. Requiere un poquito de configuración, pero una vez jalando es una chulada. Lo usamos en todos nuestros proyectos en los que configuramos el build. Ya he puesto otros posts de Integración Continua.
  3. TeamPlain de Devbiz empresa recién adquirida por Microsoft es un website que se conecta a servers de TFS para poder hacer casi todo lo que haces desde TFS a excepción de checkouts y checkins. No he probado si podemos iniciar un build, sin embargo, para lo que lo usamos es ver WorkItems, reportes, archivos, etc. y para esa función es una excelente herramienta con una interfaz sexy y muy intuitiva. Aún no probamos el 2.0 RC que ahora usa Ajax.

    Esta herramienta es gratuita desde que Microsoft adquirió devbiz.

  4. Team Foundation Power Tools incluye a su vez 4 herramientas.
    1. Nuevas políticas para los check-ins. A mí me han resultado muy útiles la que forza los comentarios para el check-in y la de asociar un WI que con los resultados de un Query específico de tal forma se puede forzar a que sólo le den check-in usando WIs dentro del proyecto al que pertenece el código y asignados a ese usuario y así no mezclen por error.

      Hay otros tantos como el Forbidden Patterns que te permite decirle que archivos no deben subirse usando RegEx que aún no he tenido oportunidad de conocer.

    2. El Test Build Pack nos permite seleccionar todo un dll en lugar de tener que escoger un vsmdi para nuestras pruebas, esto se integra con los Team Builds por lo tanto se puede usar con CI que les mencionaba en el punto 2. Yo no he tenido necesidad de usarlo y me gusta más la opción de especificarle los nodos de las pruebas del vsmdi que quiero utilizar y esto me permite buena flexibilidad para especificar que ciertas pruebas se automatizaran y otras no deben correr en nuestro servidor de Builds.
    3. El famoso Process Template Editor de Joel Semeniuk de imaginet se integra ahora con VS para editar las plantilas ahí mismo y usa DSL para definir los flujos que puede tener un WI. Esta herramienta es vital para personalizar Team Foundation, aunque ya al personalizar toda una plantilla realmente terminas metiéndote al XML el PTE te permite perder el miedo inicial a hacer cambios de la manera más sencilla. Esta herramienta por si sola merece un post por separado.
    4. Una herramienta de Consola que provee nuevos comandos. A esta no he tenido necesidad de meterme aún, pero cuando trabaje con TF.exe si me di cuenta que está limitada en ciertos aspectos, pero me ayudo mucho en su momento. Ahora tenemos más opciones disponibles como un comando UU (Undo Unchanged) un TreeClean y un TreeDiff que por cierto estas últimas dos ya vienen junto con Orcas.

Algunas herramientas que estamos por instalar pero parecen muy interesantes son las siguientes.

  1. Light Weight Scrum Process Template es otra plantilla similar a Scrum for Team System, pero supuestamente más light. Algo de lo que presumen mucho es que usan Areas e iteraciones para la definición de sprints y Scrum for Team System lo hacen como un Work Item más, yo la verdad ya me acostumbre a hacerlo de esta forma y tiene la ventaja de que le puedes poner fechas, cosa que las iteraciones de VSTS no incluyen. Habrá que ver como hacen con las fechas. Definitivamente es una plantilla que al menos nosotros que usamos buena parte de las bases de scrum tenemos que probar. Si resulta interesante luego publicare algo.
  2. Team Build Ticker es un notificador de builds, suena como una herramientas muy útil que te avisa (estilo Messenger creo) el estatus de tu build. Esto nos evita el tener que esperar el e-mail. El link para la descarga al parecer está fallando.

Como no he probado estas herramientas no les puedo decir más de lo que he leído, por eso mejor chequen los links que les deje.

Espero y les sean de utilidad a nosotros nos han ayudado bastante. Les dejo una lista completa de herarm

Queda pendiente un post sobre Team Foundation Orcas y el Process Template Editor.