Tuesday, 15 July 2014

Demystifying the Scrum of Scrums

The Scrum of Scrums is often saw as something ‘which grew out of control’, ‘just for Scrum Masters’ or something suited just to very large organizations.

It isn’t, actually…and it’s not rocket science, either.

A Scrum of Scrums is the best possible way of clearing doubts and questions raised among teams. It must not be merged or confused with a bigger standup meeting (as I’ve heard it…) because it is something brought on by the teams’ representatives – the Scrum Masters.

Its scope is to get a clear understanding of the problem’s domain and provide a solution – as the Scrum Master is there to remove impediments.

And yes: a Scrum of Scrums can have its own backlog, Jeff Sutherland defines the Scrum of Scrums as “…an operational delivery mechanism”, so having a backlog is perfectly reasonable.

Thursday, 10 July 2014

Why is the new VSO Stakeholder Plan a game changer?

Yesterday Brian Harry announced the new Visual Studio Online Stakeholder Plan – basically, full access to Work Items only in Visual Studio Online (and on-premise Team Foundation Server) for everybody, free of charge.

I believe this is a true game changer: it’s at least four years that we talk about ‘involving stakeholders in the process’, ‘synergy among the parts in the organization’, Product Owners, etc. We could do that, for a fee (the Visual Studio Online plan or the on-premise TFS CAL) but it was perceived as a bit unfair against who could use that CAL/plan at full power (a developer would use all the features provided by the platform, a stakeholder certainly wouldn’t, 99% of the time).

Right now there are no excuses anymore Smile as you can involve as many stakeholders as you wish without paying a penny.

As there are evidences of how involving stakeholders in the development process is a staggering improvement compared to other methodologies, it is a great opportunity to push hard on the quality pedal and starting to achieve great results!

Tuesday, 8 July 2014

Test Suite and Test Plan customizations in TFS 2013 Update 3 – synergic work between development and testing

IMHO the most exciting feature of Team Foundation Server 2013 Update 3, among all its goodness, is the migration of Test Suites and Test Plans to plain Work Item Types – and the reason is pretty simple.

Despite all the effort spent, developers and testers still had a tiny line which kept splitting them and their worlds:


Which eventually led to limited shared information (pinned items on the Web Access) between them. Which was a cause of pain and frustration, especially among the testers. Using Tags was a way of sorting it, but to be fair not properly the best…

But right now all the testing artefacts are Work Item Types – Test Plans, Suites and Cases – so you can query them and, mostly important, you can easily add custom fields, rules and workflows like with the existing WITs.

For example, I might have Test Suites with a specific Feature Area (potentially reused across other Work Item Types) as well as a Planned Release field. I can easily add them to the Test Suite Work Item Type:


The cool stuff is that all of these are now queryable!


…and obviously, pinnable to the team’s home page:


That’s why it is way easier for testers now to access and share relevant information.

Monday, 7 July 2014

TFS Audits – how to create reports on your TFS usage in five minutes or so…

Some months ago I wrote about the TFS Audit Log, because a big part of my daily job is about governance, regulation and access management.

This log is very, very, very verbose as it is a flat list of every single user and group into the Team Foundation Server’s ACLs. How to get some more meaningful information from it?

The basic Sort functions, together with the Text to Columns of Excel are a must in order to format it in the best possible way. You can then create a PivotTable and mix/match your data and the criteria you want to show:

image  This fairly basic PivotTable is going to give you this result: image

It is basic, but it is something you can do in zero time. Add a chart to the mix and you have a nice (reusable, as you just need to replace the datasource, which is the whole original Audit Log. So in case you need to do it monthly you just need to replace the appropriate sheet and you’re done) report for understanding the ratio between users and group, without the need of complex SSRS reports or even PowerPivot.

Then for instance…if I want to get a text document with all the users contained in each TFS group, the only command I need to launch is tfssecurity /imx. As I have hundreds of groups it is quite…long for a manual interaction. So, I’d create a text file with all the groups - copy, paste from the original audit log, one for each line – and then launch the following command from the Visual Studio Command Prompt:

for /f "tokens=* delims=," %l in (<path to groups.txt>) do tfssecurity /imx "%l" /server:http://<tfs>:8080 >> <path to mygroupaudit.txt>

this simple command is going to execute tfssecurity /imx for each group and, thanks to the >> sign it is going to append the tfssecurity’s output to the mygroupaudit.txt file. I usually launch it on an unattended machine and keep it running on the background until it finishes.

Then in order to get a basic but polished report, open the resulting file in Word, and change the font setting to Bold for these four lines, except for the very first on top which are IMHO useful for a nice presentation:

Microsoft (R) TFSSecurity - Team Foundation Server Security Tool
Copyright (c) Microsoft Corporation. All rights reserved.
The target Team Foundation Server is http://<tfs>:8080/.

Word has a very useful feature for this needs: select text with similar formatting. Do that and wipe those lines away! You’ll get something neat and polished – change fonts, and add whatever else you need and you’ll get an Audit Report in five minutes :)

Of course it’s possible to use that file in a better way, but these basic tips will give you something in a near-to-none time!

Going slightly deeper in the reporting technologies – PowerPivot is perfect for that. You just need to load the .csv file and you have a dynamic model perfect for drill-down queries. With this:

image you’re going to get this chart: image

which is pretty basic. But what if you want to know how many users with Full Access (which require a CAL as we know) accessed the server on a specific date…well, you can create a chart having Last Accessed UTC on the Axis as well as on a Slicer, so you can filter your timeframe – and Sum of Full on the Values:


But as it is PowerPivot, you can drill down as you wish…so if from my dates selection I select just today at 13:09 (where this is the only access for today on this test instance, by me) and I drill down by Display Name what I get is …


…a big pie with just me as a value:


These are just easy samples, but as soon as you get that this csv data is a data source…the whole reporting world will welcome you!

Tuesday, 1 July 2014

Visual Studio Online and Service Hooks!

Despite Visual Studio Online is a Cloud Service – so something you do not have on-premise and where you have limited room for customization – it has been recently updated with a critical feature: Service Hooks.

A Service Hook is, like the name describes, a way to integrate 3rd party services with Visual Studio Online. They are based on the REST APIs provided by VSO.

Let’s say we want to leverage on customers’ feedback like Microsoft does, using UserVoice. It is a great way of interacting with our users – so why not? We are using Visual Studio Online as our ALM platform: how can we accomplish this mission?


It is easy actually, but you’d be stopped up front by Visual Studio Online when you try to create a new Service Hook to UserVoice:


“The Next button is blocked? Why? I thought it was easy!”

Again: it is! But if you read, it says “Subscriptions for this service must be created and managed at uservoice.com.” which means “Service Hooks can be bidirectional, and this service isn’t.” No big deal anyway, because once we logon to UserVoice we are going to find this under Settings –> Integrations


Easy peasy. Just link your Visual Studio Online account…

image image image

Once you are authenticated you can define which Work Item Types are going to be mapped to UserVoice ideas, and in which Team Project of course:

image image

…and that’s all!

Refreshing the Visual Studio Online Project Administration page will show the new subscription – it is managed on UserVoice so VSO is just a client, but of course you can check it from VSO as well!


It just means that in case you’d try to edit the Subscription, you’re going to get this error:


because you need to manage it from UserVoice. Nothing serious though.

As soon as we start receiving feedbacks, we can promote them to Work Items:

image image


And eventually we are going to get them in our selected Team Project. I can open it straight from UserVoice as well!

image image

And keep in mind – you can extend it even more as Visual Studio Online is already set for Web Hooks, which means your own service.