[Slides] Testing in agile teams with Microsoft Test Manager 2010

I hope all the people who came to my session where happy with it, the fact is that all demos worked perfectly, and there were so many people, I’m happy with it, lot of interest around MTM.

Tha bad thing … the event was late in time, and they “inserted” another 10 minutes session (I won’t say anything about this fact, sorry), so our 2h session, ended with only 1h15m, so I didn’t have time to show all the slides and finish the complete demo as slow as I wanted.

But anyway, we are happy with it, and we are happy to announce we are planning a deep dive workshop about Microsoft Test Manager and Lab Management 2010, we will announce the dates soon.

And well, here you have the slides, published in our Testhouse Slideshare:

News: SP1 for Visual Studio and Team Foundation Server 2010 and unlimited Load Testing

Two great news today for MSDN subscribers Smile

First one, the Service Pack 1 for Team Foundation Server and Visual Studio 2010 is available from today, as always, it has some improvements, but also hundred of bug fixes, so, if you are using any of this tool, go to MSDN Download Site, and start downloading them for installing. The SP1 for Visual Studio 2010 also includes bug fixing for Microsoft Test Manager, if you have used it, you will know it has some memory leaks, as well as other bugs.

To check what includes this updates, you can check this links:

And the other great news is a change in the virtual user licensing for MSDN subscribers. Till now if you want to do load testing with more than 250 virtual users, you had to buy additional packs of virtual users license, but now, in your MSDN subscription you have the option of getting a key to access unlimited virtual users for load testing with Visual Studio 2010.

This is the 5th feature pack of Visual Studio 2010, so enjoy it, I’m already enjoying it. Just look for “Visual Studio 2010 Load Test Feature Pack Deployment Guide” on your MSDN Download Site and get the key and instructions to enable it.

[Event] Testing in agile teams with Visual Studio 2010

When we talk about testing in agile environments, we quickly think about unit testing, integration testing, or some more code-level tests, of course, there are teams that already use tools like Selenium, or Cucumber for more functional testing, but doesn’t cover so well al the test cycle.

Recently, with Team Foundation Server 2010, and Visual Studio 2010, we have new tools which cover more scenarios about testing applications, from a functional point of view.

All based in the agile principles we will take a look on how to use the tools in agile teams, taking a look at agile testing concepts like automatize, or the testing quadrants from Brian Marick.

Starting from one of the nearest to agile concepts applied to testing with the exploratory testing, we will learn how to use the tools run the tests and promote communication with the developers with the actionable bugs with rich information for developers, even discovering how developers code changes affects our tests.

We will review how Coded UI tests will help us in the process of automatize the testing effort, so we can go more agile while testing.

At last we will see how to automatize our build-deploy-test cycle with Lab Management, so we can get quicker deliverance of software.

With my new job in Testhouse (well maybe this is topic for another post), as Microsoft ALM Division Manager, I will be the responsible of driving this conference.

And when will this be? it will be on Thursday 9th, in Madrid, during the ALM Sessions 2011, which this year is shared with the Cloud Day, so if you happen to be in Madrid this day, maybe you are interested in coming to see how to do this, you can register and see more info here:

http://www.microsoft.com/spain/destinolanube/alm.aspx

It will be on the second track, from 11:30 to 13:30.

Testing improvements and editing Coded UI tests with Visual Studio 2010 Feature Pack 2

Recently, for MSDN Subscribers, Microsoft has launched the Visual Studio 2010 Feature Pack 2, which, also contains all new features included in the first Feature Pack. It can be downloaded here: http://msdn.microsoft.com/en-us/vstudio/ff655021.aspx

Apart from a lot of improvements in the modeling tools, there are new cool features for testing applications, two big improvements are the support of being able to record one coded UI or manual test in Internet Explorer and playback it in Mozilla Firefox, a really must-have for all web developers, also they have introduced the possibility of test Silverlight 4 applications with coded UI tests or action recordings, cool.

But there is one new tool I have been using these days, the new Coded UI Test Editor. If you have been using coded UI tests, you will know, after creating the tests, doing some changes in them, manually, is almost a pain.

So how can we use this new tool? Ok, in the project we have our coded UI tests, we have a file called UIMap.uitest just double-click this file, or with the right button select open, and it will open a window like this one:

image_thumb1

Here we have in the left side, the UI actions recorded and asserts, you can notices the icon difference between them, and, in the right side we have the controls which have been mapped from the recordings.

And what can we do? here you have a complete tutorial of the possibilities of this tools: http://msdn.microsoft.com/en-US/library/gg269469.aspx

This includes options like delete an action we don’t want anymore, divide an action recording into several methods to be more easily maintained, extract one complete method to another class file, rename methods, a lot of things.

But here comes the downsize of this tool, let’s imagine we rename the action “Abrirurl” (sorry for the Spanish), to “OpenURL”, well we are used to refactoring tools inside Visual Studio, but this time, when we choose to rename, it will be only renamed in the UIMap.uitest file, so, we will have to go manually to all UI tests which used that method, and change to the new method name, not so good, as it is a feature (renaming methods) which has been so long in Visual Studio.

It happens also if we decide to break one long recording into several methods, let’s say we have this action recording method:

image_thumb3

Almost everyone will agree is a long action recording, and can be more readable i f we break it into several methods, so we right click on any action inside it, and choose Split into a new method:

image_thumb5

It will break this method in two, and all the actions from the one we selected will go into a new method, but here is the downsize, in the place we used the original method, we will have to go, and manually, add the call to the newly created method.

It happens with some more options of this tool, but don’t worry too much, the tool will always advise you about this kind of things, so take care to read any pop-up which will appear when using this tool.

Conclusions? Well, I really like this new tool, and all the new advantages of the Feature Pack 2, but take care when using it, as it involves some manual work in some cases, that’s all. Maybe in a future Feature Pack, all this things will be done automatically.

[TFS2010] Change the default action to “Associate” during check-in

Surely many of which you use TFS 2010, and you have the good habit of associating Work Items during the check-in, you have asked more than once if the default action, which is now "Resolve" the Work Item, you can switch to simply "Associate" because many times, with a single check-in, is not enough to close a task or whatever reason is in your case.

Well this is already possible with Team Foundation Server 2010 and Visual Studio 2010, and only need to change the registry key ResolveAsDefaultCheckinAction found in HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 10.0 \ TeamFoundation \ SourceControl \ Behavior, set it to False, and problem solved in the next check-in, when associated with a Work Item, see how now the default action is "associate" instead of "Resolve".

This must be done on any computer with Visual Studio 2010 in which we want this behavior, since it is at the client, not server.

Via: http://www.edsquared.com/2010/11/17/Set+Associate+To+Default+Action+Instead+Of+Resolved+For+TFS+Work+Item+Changeset+Associations.aspx

Who am I and what I pretend here

Hello you all, so, if you arrived to this blog, and you only speak English, you will be asking, who is this guy?, I have been writing here for some time, and now I have decided to start writing in English (I have also Spanish blog here).

So, my name is Luis Fraile, and I am a Spanish software developer enthusiast and Microsoft MVP for Visual Studio ALM . so far, I have been  in the software development industry for about 12 years, working as software developer, project manager, trainer, coffe-maker, and so on.

Currently I am a freelancer around Visual Studio ALM, and agile methodologies in general,  so if you are interested you can even contract me, hehe.

Of course my main interests are around it, so you will read here about Team Foundation Server, Visual studio tools, and agile methodologies like Scrum or Kanban. I am very pragmatic however, I firmly believe there are no silver bullets in software development, no tool, no methodology, nothing at all works for all environments, or all teams, so we need to have a creative and critical thinking about everything we learn, and I also think we must always learn for everyone we meet, and for every experience we have.

More or less this is what I do, and what I will write here about, if it is of your interest, great, I really appreciate it.

And now … let’s start.

Code control in Team Foundation Server 2010 with Windows Explorer

Hello,  somedays ago I was asked in twitter about connecting to Team Foundation Server without Visual Studio 2010 installed, and one of the simplest options is to use the TFS Power Tools September 2010

http://visualstudiogallery.msdn.microsoft.com/en-us/c255a1e4-04ba-4f68-8f4e-cd473d6b971f http://visualstudiogallery.msdn.microsoft.com/en-us/c255a1e4-04ba-4f68-8f4e-cd473d6b971f

But, be careful, , these Power Tools, despite being developed by Microsoft, we have no official support for them, and also need at least Team Explorer 2010 installed on the machine.

Once downloaded the Power Tools, we will install it on our machine, with the typical installation is sufficient and we need to install the component.

SNAGHTML166c2a

Once installed, on the final screen we will an alert that warns us about we have to logoff and logon (and in some cases restart) again to activate the extension, so you know logoff and logon, or restart.

Are we back? Well, now, if we open in Windows Explorer any of the directories that we had connected through a workspace  of Team Foundation Server, and click right mouse button on any file or directory, we have the following menu:

image

That as you see we can work with source control without opening the Visual Studio 2010.

Easy right?

Another option is to use the Teamprise, Team Explorer Everywhere 2010, but that is for another post …

Una pequeña actualización

Hola a todos, os escribo este post para poneros un poco al día, ya que estoy planteándome a empezar a escribir en inglés, por diferentes motivos, el principal por practicar también el inglés a la hora de exponer contenidos. Si ya se que muchos pensaréis que si ya escribía poco en castellano ahora va a ser peor, pues puede ser, pero voy a probar.

La temática será la misma que hasta ahora, con la diferencia de que seguiré escribiendo en castellano en http://geeks.ms/blogs/lfraile y en inglés en http://www.lfraile.net, el feed actual, y al que supongo que algunos (espero que todos) estaréis suscritos no cambia, con lo que no tendréis problemas, si alguno quiere seguirme en el inglés, será este.

Y la verdad es que poco más voy a ver si preparo un primer post, orientado hacía mi antiguro artículo de las 12 reglas de Spolsky (número 57 de la revista DotNetMania en marzo del 2009) y lo que comentaba el compañero Bruno hace poco.

Así que os dejo hasta dentro de poco … espero.

[Evento] Developers, developers, developers y Visual Studio 2010 en Mallorca

Pues nada me voy casi de gira como quién dice, y el jueves estaré en Mallorca para hablar sobre las novedades para desarrolladores en Visual Studio 2010 y Team Foundation server 2010.

La charla estará centrada principalmente en los nuevos aspectos, que nos ayudarán a mejorar la calidad de nuestros desarrollos, temas como pruebas unitarias, análisis de código estático, code profiling, integración contínua, y lo que surja.

Si estáis por Mallorca el jueves de 19:00 a 20:00 estáis invitados a venir, para registraros aquí tenéis la URL (el abstract está mal … mea culpa):

https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032467702&Culture=es-ES

¿A qué huele Scrum?

Cómo ya vengo comentando últimamente, cada vez hay más hype, o como lo queráis llamar con el tema de metodologías ágiles, y más concretamente Scrum, y la verdad es que cada vez que hablo de Scrum, más hay que poner énfasis en los valores de Scrum.

La gente, en algunas ocasiones, se pierde en el tema de las prácticas de Scrum, que si, que por si solas nos ayudan, y bastante, a organizarnos y centrar el trabajo, pero Scrum es más que eso, y lo realmente importante para mi son sus valores, la esencia que podríamos decir en el plano filosófico trascendental.

Lo primero, y algo que Rodrigo Corral no se cansará de decir, es que es una metodología empírica, esto es, tenemos que estar constantemente inspeccionando y adaptando nuestras decisiones y los procesos en tiempo real, basándonos en datos actuales y respondiendo rápidamente a las condiciones cambiantes del entorno. Esto es básico en todas las metodologías ágiles, ya sabéis, responder a los cambios antes que simplemente seguir los planes a ciegas.

¿Para qué vamos a dar soluciones a problemas que no tenemos?, esto es, partiendo de lo anterior, tenemos que estar atentos a los posibles problemas que nos vayan a surgir, por supuesto, pero hemos de ser flexibles, de nada nos vale intentar dar solución aun problema que nos puede surgir dentro de 3 meses, cuando no sabemos como el entorno va a evolucionar en estos 3 meses. Esto está muy relacionado con, por ejemplo, la arquitectura de las soluciones, en las que muchas veces el Big Upfront Design nos da como resultado una arquitectur totalmente inflexible, que no da respuesta ni aa los problemas actuales, ni a los que no conocemos aún que tenemos.

Muy importante en Scrum, y algo que no me cansaré de insistir, es la auto-organización, es básico, cuando acometemos un sprint es un compromiso (otro de los valores fundamentales), que adquirimos como equipo. Por tanto es importante conceder al equippo la capacidd de auto-gestionarse, para esto contaremos con equipos multidisciplinares, que tengan la capacidad de poder tomar las decisiones necesarias para crear productos de alta calidad y gestionar sus propios procesos, ¿quién puede tomar mejor las decisiones sobre un trabajo, más que el que lo va a hacer?. Ojo, nadie dice que esto sea fácil, pero tampoco quiere decir que necesitemos obligatoriamente un equipo de, únicamente, superhombres, héroes, o como queráis llamarlos, por supuesto, para producir productos de calidad, necesitas equipos de calidad, de gente predispuesta a enseñar y aprender (sí, las dos cosas), nadie nace sabiendo, y vamos aprendiendo por el camino, apoyándonos en gente que sabe más que nosotros y en gente que sabe menos, para esto lo importante es dejar a la gente auto-organizarse, y proporcionarle los medios necesarios para ello.

El compromiso, ufff, esto suena difícil ehh, pero es importante, cuando cerramos un sprint planning meeting, estamos adquiriendo un compromiso en ambos sentidos, por un lado el equipo, que se compromete a gestionarse para cumplir el objetivo, ya que ellos mismos han sido parte importante, mediante sus estimaciones, ¿cómo puedo comprometerme si no, a algo que yo no he sido partícipe?, si el equipo, reiteradamente, no se toma en serio este compromiso, incumpliendolo, o sin tomarselo en serio, lógicamente no podemos pedir que nos dejen auto-gestionarnos, en ese caso ya hemos demostrado que no sabemos hacerlo.

Esto no quiere decir jornadas de 16 horas trabajando, fines de semana, etc., esto siginifica tomarse en serio el compromiso y ser realistas con lo que nos comprometemos, no sentar falsas expactativas ni similares. Por supuesto, como dicen los americanos shit happens, pero lo importante es tener la información de en que punto estamos, hacia dónde vamos, como nos afecta el shit happens, etc., otra de las partes fundamentales, tener la información (¿recordáis lo que son los daily scrum?)

Y también, como no, compromiso por parte del Product Owner, que se compromete a no cambiarnos el ámbito del sprint, sin este compromiso, el equipo tampoco puede comprometerme, por qué, ¿cómo puedo comprometerme a cumplir un objetivo en un plazo de tiempo si me cambian el objetivo o el mismo no está claro?

Y llegamos a otro punto, bueno otros dos puntos, la priorización y los plazos de tiempo. Si tenemos que responder al cambio ¿por dónde empezamos?, priorizando, aquí entra en juego el Product Owner, que tiene que decidir que es lo más importante en el punto actual, y empezar a acometerlo. Y claro, para esto necesitamos fijarnos plazos, en Scrum, estos son de unas cuatro semanas, durante las que nos centraremos en lo que hemos priorizado como más importante, y el equipo ha estimado que se puede comprometer a ello, pasado ese tiempo, habrá que volver a juntarse, repriorizar el siguiente trabajo a acometer.

¿Qué fácil parece todo cuando está escrito verdad?, efectivamente no es fácil acometer esto, y requiere de un cambio organizacional importante. Todo esto del compromiso, la auto-organización, el trato directo con todas las partes implicadas en el proceso es muy importante, por desgracia, estamos acostumbrados al entorno de trabajo de “yo-mando-tu-haces”, y pasar de ahí a un entorno colaborativo no es fácil.

Hay que promover el coraje del cambio, la apertura a las aportaciones de todos, y a favorecer el avance colectivo, por encima de los héroes, o las personas imprescindibles. Todo esto se resume en el respeto mutuo a todos los niveles en las organizaciones.

Pero esto del cambio organizacional, el coraje, etc, ya lo dejo para otro post ….