A Django site.
December 29, 2008
» Radio TFS #15: A Chat with Jeff Beehler

Radio TFS Over the holidays we sat down for the last time of 2008 and had a relaxed chat with Jeff Beehler, Team System Chief of Staff.  We talked about the history of Team System, how the teams in Microsoft go about shipping the Team System product and Jeff throws in some teasers about what will be coming along in the near future.

Play Now: A Chat with Jeff Beehler, Team System Chief of Staff

For links from the show, head on over to the Radio TFS site.  As usual please send any feedback to radiotfs@gmail.com and if you got a shiny new MP3 player for Christmas then don’t forget to subscribe to Radio TFS so it magically appears on your iPod or Zune.

December 12, 2008
» Getting Started with the TFS Data Warehouse

Whenever I talk about TFS, one of the things I always mention is the fact that because all the data about the software project is now being tracked in a SQL Server database, Microsoft were able to stick a Data Warehouse over the top of all that raw data to give you a really good view on reporting.  This is where the real benefits of standardizing on a single ALM solution can really reap rewards and Microsoft in their wisdom give us these reporting features in all versions of TFS including the 5-user limited TFS Workgroup edition that is included with most peoples MSDN subscription.

The only problem with the reporting side is that many people think that this means they have to go learn SQL Server Reporting Services to write reports.  While you might want to figure out Reporting Services to provide custom reports automatically to your team and customers, I personally get the most value out of using my trusty old bedfellow, the tool that got me my first paid “programming” gig and is probably the most abused software package on the planet – Excel.

Excel is a great tool for doing ad-hoc data analysis and digging into some numbers to try and figure something out.  It also makes a great prototyping tool to help you figure out exactly what the regular report is that you want to see and then you can go figure out  in SQL Reporting Services.  Another great feature about Excel is that many managers are very happy to fiddle around in Excel so rather than having them bother you with questions about how the project is going you can simply point them at Excel and it will keep them quiet for days as they slice and dice the data :-)

Let’s get started with doing TFS Data Analysis in Excel by trying to dig into which projects are active in our TFS instance – let’s see which Team Projects are having files checked in over time.

Connecting Excel 2007 to the TFS Data Warehouse

The first thing that we need to do is set up a connection to the TFS Data Warehouse from Excel.  Go to Data, From Other Sources, From Analysis Services.

Showing the import options in Excel 2007

Then enter the details for your TFS Warehouse.  This is usually the server running SQL for your TFS instance (i.e. your TFS Data Tier).  I am connecting to a TFS Server instance that has the database and the TFS application tier installed on the same machine.  My SQL Administrator has given me permissions to access the TFS Data Warehouse so I log in using my Windows credentials.

Connecting to TFS

We then want to connect to the TFS Warehouse, so just press next.

Chosing the Team System cube

And then we save out this connection so that we can use it again, or share with others by pressing Finish.

Save Connection Details wizard page

Next we get to choose how we want to import the data.  In this example, I’m going to choose a simple pivot table, but you might want a pivot chart if you really want to please your managers by giving them pretty pictures to look at :-)

Import Data dialog

Play with all that Lovely Data

Now we get an empty pivot table, and we get to see all the things that we can report on.  This is where the magic begins and if you have never seen this before you will not believe how easy it is to get data out.

Excel showing a pivot table

In the PivotTable Field List on the right hand side you get presented with a list of the facts that you would like to report on.  Commonly we need the date going across the top of our report, so lets scroll down in the field list until we find the Date section and we’ll drag the Date.Year Week Date down to the column labels.

The Pivot Field List

The other dimension that we typically want to have is by Team Project.  So let’s scroll down to the Team Project area and drag the Team Project field onto our Row Labels.  Now we have our dimensions configured, you should have a spreadsheet that looks something like this.

Our dimenions ready for some data

Note that the dates at the top are actually expandable so that you can drill down onto the weeks of the year that you are after.  Also – if there is an area that you want to exclude from the report for some reason you can right click on the value, select Filter, Hide.  So far so good – but this doesn’t tell us much yet.  We want the stuff that we actually want to report on.  We said that we wanted to see where code was being checked in, so lets scroll up to the Code Churn fields and drag the Code Churn Count into our Values area.  The Code Chrun Count tells us how many files are being checked in for each area.

File modifed by Team project

As you can see, we already have the beginning of a useful report.  By Team Project is a bit of a broad area though.  For version control stuff like this, we may well want to drill down further and look at folder inside of version control.  Not a problem at all – simply scroll down and add the Filename.Parent_ID field to the Row Labels and remove the Team Project label now as it is not that necessary.  You can now drill down as much as you like – getting a summary of the files changes in each area as you go.

Our finished report

I hope that gives you a quick taste as to the power and ease of use of the TFS Data Warehouse.  Once you know how to connect Excel to TFS, the rest is all very easy and quite intuitive.  It will take you some time to poke about in the fields available for you to know what they all are and how they can be used.  It takes a little while to get your head around the fact that all this data is available and accessible but the power, depth and yet the simplicity of it all is game changing and is one of the reasons why I became a TFS Fan.

TFS 2010 sees some huge improvements in the reporting areas, with very nice looking and easy to customize sample reports, but also more advanced examples of Excel report speadsheets.  However, you don’t have to wait for TFS 2010 to come along to start drilling into your data.  Go fire up Excel and do it today!

October 28, 2008
» Teamprise Remote Accelerator Released

Teamprise Remote Accelerator At PDC last night Ed Thomson announced our latest product, the Teamprise Remote Accelerator.  This is a single user Team Foundation Server proxy designed for use by lone remote developers working off-site.  The product was initially developed for internal use as we have quite a few developers that work off site most of the time, like myself.  However when talking with a number of our customers we realised that other people would also get great benefit so we decided to release it as a product.

How Does it Work?

The Teamprise Remote Accelerator looks to Visual Studio or Teamprise clients just like any other Team Foundation Proxy Server.  The notion of a download proxy is part of the Team Foundation Server version control protocol.

TFS Version Control Proxy Protocol Explained

Basically, when you want to know the latest version of something the TFS client talks to Team Foundation Server and asks what the latest version of something is and requests a download token.  If a TFS proxy server is configured then the file with that download token is downloaded from the local proxy server.  If the file has already been cached by the proxy server then it can be downloaded immediately over the local network rather than having to wait for the file to be downloaded over the wide area network.

How is this different to the TFS Proxy Server from Microsoft?

Microsoft allow you to purchase TFS Proxy Servers for remote your remote offices.  This software lives on a Windows Server machine in the same domain as the Team Foundation Server and is running IIS.  It is a great solution when you have more than a couple of people at the remote site.  The Microsoft TFS proxy server will get the requested file the first time that someone requests it from the proxy server and when the second person requests the same version of that file they will get it instantly from the local network.  The problem is that the initial user does not see any real performance gain - therefore you need more than one person to make the product worthwhile - unless you seed the cache (see my blog post to explain how to do that with the Microsoft TFS Proxy Server).

Remote Accelerator ConfigurationThe Teamprise Remote Accelerator runs as a process in the notification area of your local machine, so does not need a dedicated server.  It can also be configured to "seed" the cache - i.e. you tell the Remote Accelerator what areas of the version control repository that you are interested in and it will poll the server for changes periodically and download the latest versions of any changed files for you.  That way, the file is more likely to exists locally the first time you ask for it.

Additionally, the Teamprise Remote Accelerator connects to TFS using your TFS credentials - regardless of if your machine is on a domain or not.  Please note that the remote accelerator only connects to TFS with a single set of credentials and these credentials much match those that you are using to connect to TFS.  The Teamprise Remote Accelerator is therefore limited to a single user connection and is not suitable for workgroups.

That said - if you have multiple machines on your network, either physically or you are running Virtual Machines, then you can configure them to point to your local remote accelerator if you wish.

What sort of productivity improvements are we talking about here?

Like everything, it depends on your use.  If you would like to see detailed benchmarks, then take a look at the Remote Accelerator pages on the Teamprise website.  Inside Teamprise we are pretty heavy users of branching and we also run quite a few machines to test access to TFS from lots of different operating systems.  Therefore we are always creating new TFS workspaces and downloading source so we see huge productivity improvements (which was the main reason why we wrote this product in the first place). 

As part of our beta-testing we made early versions of the Remote Accelerator available to a few Team System MVP's and select customers, and they too have been seeing pretty impressive performance.  Fellow Team System MVP (and all-round community legend), Willy-Peter Schaub has been blogging about his experiences here.  Since this version we have made several major performance improvements to the code as part of our release process.

Basically, if you think the Remote Accelerator is of use, then I would encourage you to sign up for a free trial and take it for a spin for 30-days on us.

Sounds nifty - how much is it?

$99 USD per person.

Ok, how do I sign up?

First, I would encourage you to download the Remote Accelerator and then sign up for a free 30-day trial license.  If you have any feedback or comments on the product then let us know.  Once you have decided if the remote accelerator works for your scenario then you can purchase from our store.

What next?

This first release concentrated on performance and functionality.  While we are continually looking to improve the performance of the Remote Accelerator and improve the remote TFS experience, we are also looking to make the product both easier to use and easier to tell how well it is working for you.  If you have anything you would like to see in the next version of the Remote Accelerator then please let us know.

October 27, 2008
» Teamprise at PDC 2008

PDC2008 In case you hadn't heard, this week is Microsoft PDC 2008 in LA.  Sadly I'm not able to make it over this time due to some health issues, however the Teamprise team will be out in full force.  We have quite a few new things to show people this week including:

  • Integration with TFS 2010
  • Publishing JUnit test results into TFS (2005, 2008 and 2010)
  • A brand new product!!

So if you happen to be at PDC then please stop by the Teamprise booth at the Partner Expo. Also, Brian the Build Bunny will be making an appearance at the ShowOff event tonight so if you are a fan of Brian's work, then stop by and give him some votes.

If, like me, you are stuck back at the office wishing you'd managed to get out to PDC then don't forget to keep an eye on my blog for Teamprise news through the week and on the Microsoft PDC site to follow the conference virtually.

September 30, 2008
» Radio TFS on Check-in Policies

We just released a new Radio TFS episode on check-in policies.  You can listen to the show here, but don't forget that you can subscribe to the show using the RSS Feed in iTunes or Zune (http://feeds.feedburner.com/radiotfs).  As we mention in the show, we have a set of special episodes coming up that you really won't want to miss so now is the time to subscribe.

September 2, 2008
» Live On .NET Rocks...

.NET Rocks The other week Brian Randall and I sat down with Carl and Richard to record a .Net Rocks episode.  Honestly, you wait years for a Brian Randall podcast and then three come along at once!

In this episode we talked about what's been happening in the Team System world since 2005, share some best practice war stories and look forward to some the new goodies coming up in the next release.  You can get the episode here.

Don't forget that if you like listening to podcasts about Team System and Team Foundation Server, then hopefully you'll love Radio TFS :-)

August 15, 2008
» Radio TFS is back with Version Control 101

Radio TFS In this first episode back from the summer break we talk about the features available in TFS Version Control and talk about some of the fundamental concepts that you should understand to make your life easier.  Don't forget to stay tuned all the way to the end when I offer up a brainteaser for everyone and Paul goes crazy and offers a FULL copy of Microsoft Visual Studio 2008 Team Suite to a lucky listener drawn at random who provides a correct answer to radiotfs@gmail.com before the end of August 2008.

If that is not enough for you, Mickey is running a competition over at Team System Rocks where you could win a years MSDN Premium Subscription with Visual Studio Team Suite.

Don't forget that you can subscribe to the show using the RSS Feed in iTunes or Zune. You can also listen to the show direct.

For feedback or suggestions for future shows please contact us at radiotfs@gmail.com or leave a comment over at the Radio TFS web site.

» Brian the Build Bunny Backgrounds

Brian the Build Bunny Wallpaper It turns out that the little video I posted yesterday has taken on a bit of a life of it's own.  Last time I checked, it was in the top 10 Science and Technology posts for YouTube in Ireland.  It's funny how it is always the posts that you do more for your own entertainment that take off. 

Anyway, there is no doubting that Brian is a bit of a character, he's already recorded his first TV appearance as a guest on this weeks, "This Week in Channel 9" (to be broadcast soon).  I wish that Nabaztag had an affiliate program as it sounds like I may have sold a few rabbits for them. 

Anyway, if you can't afford your own bunny, then you can have the next best thing for free.  Your very own Brian the Build Bunny Background on the desktop of a computer near you (standard and widescreen versions available).  Click here to chose a image size that suits you.

» Brian the Build Bunny

I'm always keen try new and novel ways to keep in touch with the status of my software projects.  Fortunately, Team Foundation Server provides many ways to do this.  While the Build Wallboard is fun if you have a spare monitor and machine lying around, I wanted to experiment with some inexpensive dedicated devices, and so Brian the Build Bunny was born.

Brian is a Nabaztag smart rabbit.  He reads out details of check-ins and builds.  If a build has failed then his ears go down to show how sad he feels, but if you fix the build his ears will soon pick up again.

I've had Brian for about a year now waiting to do this project, but when I tried it in the past I always found the response times from the rabbit to be too slow.  However earlier this year, the Nabaztag developers updated the code running the rabbits so that they are now using the XMPP (Jabber) protocol to receive updates and the service now seems pretty good.

Brian is now sitting on my desk chattering away and letting me know what is happening in TFS.  If you want to find out more about how he works and see him in action then take a look at the video. If your company blocks YouTube but you have Silverlight installed then you can view a higher quality version of the video courtesy of the Windows Live Streaming service.  I'll go through the code behind Brian in a later post if there is any interest, but it is pretty much a standard TFS event listener that then sends text to the rabbit using the Nabaztag API.

» Radio TFS 05: Common Team System Questions

radiotfs I've just posted the latest installment of Radio TFS.  I'm actually a show behind on editing so expect to see episode 6 up soon.  However, in episode 5 Paul, Mickey and I attempt to answer some of the common questions we hear people ask about Team System including:

  • What is Team System?
  • Which edition is right for me?
  • Why can't I find Team Foundation Server on MSDN?
  • What is Team Foundation Server Workgroup Edition?
  • Is VSTS 2005 compatible with TFS 2008?
  • Why can't I see Team Foundation Server when I install Team Suite?
  • What are my options for migrating from my old system(s) to TFS?
  • Can I use TFS with VB6, .NET 1.1, Eclipse etc?
  • What is a Team Project - how should it be scoped?
  • I deleted a file locally, I do a "Get Latest" and TFS doesn't download it - why?

As well as the usual sprinkling of tangents along the way.

Click here for a direct link to this episode.

If you have any questions that you would like answered, or if you have any comments and feedback about the show then please contact us at radiotfs@gmail.com or visit the website at http://radiotfs.com for quick links to subscribe to the feed in iTunes, Zune etc.