Estoy leyendo: Professional Team Foundation Server

Últimamente estoy que no paro L, y por eso tengo un poco abandonado el blog, pero bueno. Pues nada aprovechar un ratito que he tenido hoy, para hacer un comentario sobre el libro que estoy leyendo (ya me queda poco para acabarle), Professional Team Foundation Server , y que en parte (bueno es lo único que he tenido tiempo de usar), estoy usando para prepararme el examen Beta de Team Foundation Server.

El libro, es, al contrario que el último que leí, técnico sobre TFS, algo que creo que ya iba haciendo falta, cubre todos los aspectos de una implantación de Team Foundation Server, si bien, yo sigo recomendando, que se contrate la ayuda de alguien con experiencia en implantaciones de TFS, si nos decidimos a usarlo. Empieza desde la planificación del hardware, software, licencias, etc que vamos a necesitar para la implantación, que a veces es un poco arduo encontrar la información de licencias, en la web, aquí aparece todo bastante bien explicado.

También, punto muy importante, cubre la parte de instalación, que todos los que lo habéis instalado, sabéis que no es trivial y que hay que ir siguiendo los pasos y con mucho cuidado, cubre la instalación tanto de server, como del servidor de builds y del Team Proxy, lo cierto, es que, a pesar de ser necesario estar al día siempre de la guía de instalación de TFS (que por cierto hay nueva versión), el libro nos da una buena visión de todos los puntos que tendremos que llevar a cabo durante la instalación, especialmente del servidor y de la configuración del Team Proxy. En el mismo capítulo de instalación, también se habla de cómo migrar los datos que ya tenemos en nuestros antiguos servidores (de por ejemplo VSS), a los nuevos servidores de TFS, que es una de las preguntas “recurrentes” en foros, y chats de TFS.

A pesar de ser un libro técnico, también se nos habla de MSF, tanto agile, como CMMI, y de su implementación en las plantillas de proyecto, así de cómo implementar prácticas como las compilaciones diarias, integración contínua, etc., utilizando Team Build, con lo que la gente que no ha usado nunca estas prácticas, puede ver aquí, para que sirven, y además como implementarlas en un entorno con TFS.

Muy importante también, todo el capítulo de configuración de seguridad, que es casi siempre fuente de algunos fallos en creación de proyectos de TFS, acceso a work ítems, el portal, reporting, etc, aquí viene todo explicado, que sets de permisos tenemos disponibles, y que sets de permisos necesitamos para ciertas acciones administrativas, no olvidemos, que hay ciertos permisos como los de sharepoint, y los de reporting, que tendremos que gestionar desde fuera del TFS.

Por supuesto, algo que a mí me parece bastante importante para TFS, es toda la parte de personalización y extensibilidad, y que aunque eso daría para otro libro completo, y por tanto, aquí vienen unas primeras “pinceladas”, por lo menos, a la gente que esté interesada, le va a apuntar en la dirección correcta, aunque, como probablemente cuando escribieron el libro aún no estaba disponible, la documentación en el MSDN, hacen bastante referencia al Visual Studio 2005 SDK, que es siempre lo primero que nos tenemos que descargar para empezar a personalizar y a extender TFS, pero desde hace poco, toda la documentación también está disponible directamente en el MSDN en el Team Foundation SDK.

Por cierto, en esta parte de extensibilidad, hay un punto que me ha chocado, y no me ha gustado demasiado, y es que, para hacer una cosulta sobre work ítems, en vez de usar el modelo de objetos, atacan directamente a la base de datos, aunque entiendo que lo hacen a modo de ejemplo, aquí deberían de especificar, que el acceder directamente a las bases de datos de Team Foundation, NO está ni recomendado, ni soportado por Microsoft, ya que esos esquemas pueden cambiar en actualizaciones, y no se asegura la compatibilidad hacia atrás, por tanto SIEMPRE, se ha de usar el modelo de objetos para acceder a cualquier “artefacto” de Team Foundation.

Bueno por ahora, no me enrollo más, de hecho aún me tengo que terminar de leer el libro, pero como conclusión, una buena compra, para todos los que estéis ahora mismo metidos en una implantación de Team Foundation, o queráis saber más acerca de cómo funciona, y de sus posibilidades de personalización y extensibilidad. Ya os contaré cuando termine de leerlo, y a ver que tal me ha ido en el examen de Team Foundation, espero poder sacar algo más de tiempo para preparármelo, porque si no…

Certificación de Team Foundation Server

Hola, sólo comentaros que ya hay examen (beta) de certificación para Team Foundation Server, el examen es el 70-510, el registro para el examen ha comenzado el 1 de febrero, y el periodo de los exámenes es del 20 de febrero al 5 de marzo, el examen cubre las siguientes secciones:



  • Instalación y configuración de Microsoft Team Foundation Server (12%)

  • Administración de instancias de Team Foundation Server instances y proyectos (25%)

  • Administración del sistema de versionado de Team Foundation Server (19%)

  • Administración de work item types y plantillas de proceso (19%)

  • Administración de Team Builds (14%)

  • Gestión de informes y documentación (11%)

Los exámenes los gestionan Prometric y Pearson VUE.


Y la guía de preparación:  Preparation Guide for Exam 70-510: TS: Visual Studio 2005 Team Foundation Server.


Y el post original de Rob Caron hablando de este tema: Beta Exam 71-510: TS: Visual Studio 2005 Team Foundation Server


Pues nada, a ver si encuentro tiempo y me animo a hacerlo, que hace mucho que no hago un MCP.

Mis primeros pasos con ASP.NET Ajax

Hasta ahora, por razones de tiempo, sólo había podido ver algo de ASP.NET Ajax en charlas como en el TechEd y las típicas pruebas que todos hacemos, pero ahora ya por fin, estoy empezando a usarlo en un proyecto de verdad.


Las primeras impresiones son buenas, es bastante fácil de usar, y lo cierto es que la experiencia de usuario mejora mucho, eso sólo con los ejemplos básicos de Ajax ya lo podemos conseguir.


También estoy probando algunos controles del Ajax Control Toolkit, y bueno, aquí, aún siendo sencillo de usar, hay algunas cosas que tienen algo más de truco, por ahora, con los que me he pegado más “en serio”, han sido con el control de slider, y con el accordion, si bien son fáciles de usar (y ciertamente llevan dentro mucho trabajo que es de agradecer), hay algunas cosillas, como el data binding en el accordion, que son algo mejorables, pero de todos modos, por ahora estoy contento con lo que han hecho y os animo a que lo probéis, yo creo que a nivel de experiencia de usuario merece la pena.


Y ahora, algunos contras, retomando algunos de los consejos que pude tener en las charlas del TechEd, veo que es muy fácil que, si bien la experiencia de usuario la mejoremos, la eficiencia final de nuestras aplicaciones web se vea afectada, ya que es muy tentador ponerse a crear UpdatePanels, y Autopostbacks, para todo, sin pensar que eso está haciendo una ejecución completa (vaya un postback) en el servidor, aunque nosotros (el usuario que es de lo que se trata) no lo veamos, y por tanto estemos aumentando el tráfico de subida y de bajada (aunque sólo se manden los datos necesarios para actualizar el panel), y las llamadas al servidor.


Por tanto es importante estudiar bien antes el uso de los controles, el uso del UpdateMode con “Conditional” en los paneles que no necesitemos que se actualicen siempre, y usando los Triggers para actualizarlos, así como comprobar si podemos conseguir la misma experiencia de usuario con otros mecanismos como es el uso de llamadas a webservices desde Ajax.


Pues nada, a probar y aquí os dejo un link a los tutoriales de ASP.NET Ajax y a una herramienta desarrollada por Nikhil Kothari que nos puede ayudar bastante en el desarrollo de aplicaciones web, el web developer helper


Ya os iré contando con más detalle que tal acabo con el Ajax …

Atajos de teclado para Visual Studio 2005

Acabo de ver en el blog de Rob Caron, los posters de los atajos de teclado para Visual Studio 2005 para C#, VB.NET y C++, aquí os dejo los links, que es interesante tenerlo:

Si sois fanáticos del uso del teclado, como yo, os vendrá bien tener el del lenguaje que más uséis impreso.

En el TechEd 2006 en Barcelona, dieron copias ya impresas, pero lógicamente volaron y no pude pillar ninguna L

Leido: Software Engineering With Microsoft Visual Studio Team System

Acabo de terminar de leer este libro de Sam Guckenheimer, otro compañero de geeks.ms, Rodrigo Corral, ya habló de este libro, y ahora me toca a mí, lo compré ya que otro MVP de Team system habló de el en el TechEd, y me pareció interesante, si ya ha pasado mucho tiempo, pero hasta ahora no he podido leerlo, ya que he estado ocupado sacándome el carnet de moto

El libro en general se hace bastante sencillo de leer, y eso me ha gustado, ya que es un libro perfecto para la gente que está empezando a gestionar o a trabajar en proyectos con Team System, y habla de cómo usar Team System en los proyectos de un modo muy sencillo, quizá se echa en falta algo más de profundidad en ciertos temas, pero como el propio autor dice en las conclusiones, pretende ser un libro introductorio.

Todo el libro lo centra desde la perspectiva de la gestión de los proyectos desde la perspectiva de “value-up”, que, resumiendo bastante, ya que ocupa dos capítulos del libro en detallarla, esto es, trabajar siempre desde la perspectiva de construir la solución iterativamente, centrándonos en aportar siempre valor al cliente, y tomando los cambios como oportunidades de incrementar ese valor, adaptándonos a ellos.

Casi todo el libro se centra en metodologías ágiles de gestión, pero también hace bastantes apuntes acerca de cómo utilizar Team System en proyectos con CMMI, que requieren más datos para ser auditados a posteriori.

Otro punto interesante del libro es la diferenciación que hace siempre, entre la utilización de métricas de modo descriptivo contra las métricas usadas de modo prescriptivo, teniendo que tener mucho cuidado con estas últimas, ya que se pueden volver fácilmente en contra del proyecto. Esto lo podemos ver a lo largo de todo el capítulo de gestión de proyectos, así como el capítulo de “troubleshooting” de proyectos.

También dedica capítulos acerca del desarrollo, el testing y la gestión de bugs que se puede hacer en Team System, como son las Team Builds, la integración contínua, la gestión de bugs con work items, y que son “armas” muy valiosas para después poder afinar en la gestión del proyecto, usando los datos proporcionados por estas herramientas en los informes de Team System, todo este proceso de descubrimiento de los puntos “débiles” del proyecto, y de cómo solucionarlos, los da en el capítulo 9, el de “troubleshooting” de un proyecto, este capítulo, a pesar de no entrar en mucha profundidad, es bastante interesante, ya que aquí podemos ver algunos de los típicos problemas que se dan en los proyectos, como detectarlos con Team system, y que posibles soluciones se le dan, en definitiva un capítulo bastante recomendable.

Y ya por último, me gustaría comentar el capítulo acerca de la arquitectura, y que nos explica como debemos empezar a definir una arquitectura, para hacerla lo suficientemente flexible a la hora de los cambios, esto es bastante importante a la hora de gestionar un proyecto “ágil” en el que se promuevan los cambios, y es un punto en en el que no siempre se acierta, creando a veces arquitecturas muy rigídas y que luego nos dificultan el cambio.

Por último, igual que Rodrigo, también es interesante el capítulo de gestión de los requerimientos y las estimaciones de proyecto y de las iteraciones, aunque sea bastante por encima, da una visión de cómo se deben gestionar estos elementos, que son la base de los proyectos (recordemos que lo más importante es dar soluciones que aporten valor a los requerimientos del cliente).

En definitiva, y como decía al principio, os recomiendo que leáis este libro todos aquellos que estéis interesados en metodologías de gestión de proyectos y/o estéis involucrados en un proyecto con Team System.

Uno o dos ficheros con detalles de instalación de TFS

Los que ya habéis instalado Team Foundation Server, sabéis que, a pesar de ser tan “sencillo” como seguir los pasos de instalación del documento, no siempre se llega a instalar bien, siendo especialmente sensible y teniendo que tener en cuenta todos los detalles de la instalación.

Actualmente existe el fichero de guía de instalación, y también un documento “readme” que está en el MSDN, con los posibles problemas de instalación, pues bien, el equipo de User Education de Team Foundation, está pidiendo opinión sobre si poner todo en un único fichero, o seguir como hasta ahora,, así que os animo a todos los que estéis involucrados con esto, a que deis vuestra opinión, aquí tenéis el post del equipo para que podáis dar vuestra opinión.

Why aren’t installation issues in the installation guide?

La mía es: un único fichero, con un índice detallado para que no haya dudas de dónde buscar la información dentro del fichero.

TFSBuildManager

La semana pasada leí en el blog de Buck Hodges acerca de una herramienta que han puesto en Codeplex, que permite trabajar con las Team Builds sin el Team Explorer, y después de pegarme un poco con las builds y los ficheros xml de configuración me he deidico a probarla, la herramienta en cuestión es el TFSBuildManager. Lo que nos permite básicamente es trabajar con tipos de builds (y sus resultados) ya existentes.

Lo primero que me llama la atención es que no tiene un instalable, simplemente la descargamos, extraemos los ficheros del zip, y ya podemos empezar a trabajar, una vez arrancada, seleccionamos el servidor y el proyecto de Team Foundation. En la primera pantalla se nos muestra el listado de los resultados de las builds del proyecto seleccionado, y aquí podemos filtrar ya sea por proyecto o por tipo de build y por supuesto cambiar la “calidad” de una build.

Una cosa que me gusta de esta primera pantalla, aunque no sea muy ortodoxo, es la posibilidad de borrar un resultado de una build, cosa que no se puede hacer desde el Team Explorer, y aunque no estoy de acuerdo en hacerlo, pero a veces, al configurar la build se nos escapa algo, y la primera vez no funciona, no porque la build esté mal, si no por la propia configuración de la build, de este modo podemos eliminar estos resultados, al borrar, se eliminan tanto los resultados, como los binarios (de existir) del directorio de deploy.

También desde esta primera pantalla, seleccionando una build, se nos permite ejecutarla, parar su ejecución, y algo muy interesante: editarla, esto me ha gustado bastante, la edición de team builds, que no se puede hacer en team explorer más que modificando manualmente el xml de la build.

Esta edición nos permite cambiar el servidor de team build, los directorios donde se compilará y se dejarán los binarios, una cosa muy interesante, que es la posibilidad de personalizar el work ítem asociado que se crea cuando falla una build, y cambiar los campos título, descripción, el texto de dónde está el fichero de log, y el texto indicativo de los errores y warnings, también nos permite cambiar si queremos ejecutar el análisis de código estático, ejecutar los test unitarios (aunque aquí parece que no se le puede especificar la lista de test) , también nos permite cambiar la configuración de la build (debug, Release, mixed plataforms, etc), y la solución a compilar.

Vaya que esto de editar las builds me ha gustado bastante, y os recomiendo la herramienta, que por ahora no me ha dado ningún problema.

La versión 1 ya está en producción, y ya tienen pensadas nuevas mejoras.

Así que nada, os animo a que la probéis.

Entro en la comunidad geeks.ms

Hola a todos, lo primero gracias a Rodrigo Corral y a Jorge Serrano por invitarme a participar en Geeks.ms, y ahora me presento, soy Luis Fraile, y trabajo como desarrollador/consultor independiente desde diciembre del 2006, antes había estado trabajando siete años y medio en Renacimiento sistemas, también como consultor de desarrollo, y con temas de gestión de proyectos y metodologías de programación (sí, yo también soy un fanático de las metodologías, especialmente de Scrum, como Rodrigo), y bueno, recientemente me han nombrado MVP de Team System, que es de lo que más escribiré por aquí, bueno no se que más contaros, pero ya iré poniendo posts por aquí para ir contando más cositas, en un principio mi idea es hacer crossposting con mi blog: http://www.lfraile.net , aunque quizá vaya poniendo en mi blog más cosas a cerca de mis aficiones (fotografía, buceo, y más), y dejando los post técnicos para geeks.ms.

En fin, que estoy encantado de la oportunidad de postear en esta comunidad, así que ya nos iremos “leyendo” por aquí.

PD: Lo siento, pero mi capacidad de redacción post que no sean técnicos (e incluso los técnicos) es bastante limitada J