Friday 22 April 2016

A look at the new Work Item Tracking features in VSTS

I usually don’t do this, but the VSTS teams are overhauling this area at such a pace that makes a knowledge refresh really needed Smile

Aside from the cards layout a few months ago, there are really compelling features added to the platform. It isn’t easy to define what compelling is for WIT, as it is much of user interaction scenarios more than pure technical stuff doing magic, but I find them very, very interesting.

First of all, how many times during a planning meeting you create a Work Item and you then realise you chose the wrong type? Believe it or not, it happens all the times. Now you can just change the type from the UI, easy as that:

image

image

image

Another feature worth mentioning is the possibility of moving a Work Item between Team Projects. There might be a ton of reasons behind this need, I even heard of a Team Project used for support and escalation requests for multiple products.

Anyway, it is just like this, and you can also change the type here:

image

 image

You can also create a new branch from a Work Item (very handy for feature-based development):

image

image

This is a fantastic way of keeping the planning aligned with development, IMHO.

Eventually, you can now follow a Work Item.

image

This means you’ll get an email whenever this Work Item is updated by other members of the team – I can already see Product Owners’ hands clapping!

Tuesday 12 April 2016

Considerations on HockeyApp and exception management strategy for apps

I started to look at HockeyApp recently, and I reckon it is quite an impressive piece of software. Microsoft acquired it in 2014, and now they are pitching it as the solution for Application Monitoring for apps, regardless of the platform, while Application Insights is the APM solution for web application and services.

With that in mind, the first thing we need to know is that we need to join HockeyApp’s Preseason program – it is an early access program (they are quite into hockey over there Smile). With that you will get access to the UWP support but also to another key feature: custom events.

The thing with HockeyApp is that being an app-centric tool the main usage scenario they developed the product around is when the app crashes in an unmanaged way.

image

Unmanaged is key here: without Preseason SDK (NuGet package actually) you can only gather crash data at the next application launch. And what if I would like to collect data from exceptions I manage on my own?

image

That is where Custom Events come around. They are not as descriptive as unmanaged exceptions (HockeyApp collects stack trace data, device information, etc.) but they are a very handy way of keeping track of this important data distribution.

The exception management strategy here becomes two-folded: unhandled exceptions go straight to HockeyApp with all the trimmings, while instead you need to separately log the exception data you need when you manage to catch them, and then send the relevant event to HockeyApp.

image

In the future I am expecting features to be added from both Application Insights and Xamarin Insights to HockeyApp. The latter two teams merged as of a few weeks ago, and this can only reinforce an already very good platform.

Saturday 9 April 2016

Getting started with Kusto a.k.a. Application Insights Analytics

Last week Brian told us about Kusto, an internal data analytics tools which then became a component of Application Insights.

You can start using it right away, there is nothing to configure. You’ll find an Analytics button in the Application Insights blade on the Azure portal:

0

1

There are lots of samples ready to go – let’s take the first one (distribution of response times in the last 24 hours, by response code):

2

The language is very straightforward – there is also a guide here. The result will be charted at the bottom:

3

4

This is another good one – application requests comparison over a 24 hours period:

5

6

Data like this is critical for proactive monitoring as well, you can periodically monitor this dashboard and understand where the bottlenecks are in your application.

It is really a great tool!