By Tarun Arora


In this blog post, I’ll be talking about the Sprint burndown+ ‘the visual studio extension’ and I’ll also be giving you a deep dive into all the features of the the visual studio SDK that were used to build this extension. The extension is already live on visual studio gallery, so, if you haven’t already, download the extension & read on for how it was put together…

Figure 1 – First look… Sprint burndown+

A Primer…

Wouldn’t it be cool if you could see all sprint burn down charts that your team worked on plotted on one single timeline! That’s what Utkarsh & I thought a few months back when we started work on the Sprint Burndown+ extension. And here we are… Sprint burn down plus not only shows you all your team sprint burn down charts plotted on one time line, but it offers you the ability to slice and dice this data.

Download from Visual Studio Extensions Gallery -

Release announcement –

VSIX Sprint burndown+…  1 minute introduction

Read more about the features that the Sprint burn down + extension offers, this is also covered in the video…

Video 1 – Sprint Burndown+ Introductory video

Deep Dive aka… The how we did it?

There is lots of guidance on how to write a visual studio extension. I’ll break the deep dive into 4 sections,

  1. Get sprint burn down data from TFS using the API
  2. Why & How to use the Visual Studio toolbar window
  3. Getting access to the TFS context from Team Explorer
  4. Using the Visual Studio Status bar

1. Get the sprint burn down data from TFS using the TFS API

You can’t do much if you can’t get the data that constitutes the sprint burn down. Well the good news is that this isn’t too difficult if you know which API’s to call. John has a great 3 part blog series on how to use the TFS API to get the

More on as-of queries – 

Figure 2 – Sprint burn down chart created via the API

2. Why & How to use the Visual Studio toolbar window

Tool windows are most common and widely used inside Visual Studio. If you are wondering what are tool windows inside Visual Studio, think about Solution Explorer, Immediate Window, Output Window and even Property Window. These windows are most flexible allowing you to dock, auto-hide and even support multiple monitors.

Figure 3 – Examples of Visual Studio toolbar window

3. Getting access to the TFS context from Team Explorer

To give the users the best experience when they use the visual studio extension is to pick the TFS context i.e. what team project collection the user is already connected to, what project the user already has selected and the team selected in the team explorer.

Your tool window should query for info when it starts up,  this way it'll support being started from multiple entry points if needed. The easiest way to do this is to get the TF context from ITeamFoundationContextManager.CurrentContext.  ITeamFoundationContextManager is available globally, so you can query for it in your tool window when it spins up.

var contextManager = _serviceProvider.GetService(typeof(ITeamFoundationContextManager)) as ITeamFoundationContextManager;
if (contextManager != null)
      var context = contextManager.CurrentContext;

4. Using the Visual Studio Status bar

It is important to keep the user up to date on any long running processes you are planning to run as a background task. Visual Studio toolbar went through a major over haul with Visual Studio 2012. The visual studio 2012 status bar also exposes an API you can use to publish your extension updates to the status bar. This is easy and effective, at least the user does not have to learn to look somewhere else to see what’s happening with the status. A few screen shots of the visual studio extension bars below…

Figure 4 – Examples of Visual Studio status bar

Video 2 – Visual Studio Status Bar demo

In Summary…

We really enjoyed working on this extension and will be keen to hear your feedback…

Utkarsh Shigihalli | @onlyutkarsh

Tarun Arora | @arora_tarun



We would love for you to try out the extension and let us know what works and what you would like to see next….

I hope you found this useful. Thank you for taking the time out and reading this blog post. If you enjoyed the post, remember to subscribe to

View all your #sprints on a single timeline using #Sprintburndownplus #VSIX. #Avanade @arora_tarun @onlyutkarsh