A Django site.
December 19, 2008
» New Visual Studio 2010 Video Podcast 10-4

10-4 Brian Keller (of This Week on Channel 9 fame) has just announced a new weekly show on Channel 9 called 10-4 where you can learn about what's coming in Visual Studio 2010 and the .NET Framework 4.0.

http://channel9.msdn.com/shows/10-4/

Each week, Brian promises to drag in various technical evangelists from the teams including Drew Robbins, Jonathan Carter and Jason Olson to help you learn more about what's coming in Visual Studio 2010 and the .NET Framework 4.0.

Be sure to subscribe to the RSS feed to catch new shows each week. I have the iPod version subscribed in iTunes right now which will hopefully allow me to keep up with all the new information about the next release of Visual Studio and the .NET Framework in bite sized chunks.

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 29, 2008
» TFS 2010 Teamprise integration demonstrated at PDC 2008

Brian Harry demonstrating TFS integration in Eclipse using Teamprise During Brian Harry's "Team Foundation Server 2010 Cool New Features" presentation at PDC, he demonstrated Teamprise working with TFS 2010 (codenamed "Rosario").  Not often you get one of the most senior technical people in Microsoft using Eclipse on stage at the premiere Microsoft conference!  Not only did Brian show some of the work we have been doing in talking with TFS 2010 but he also demonstrated the latest version of the Teamprise Build Extensions that make it very easy to run Ant based builds from Team Foundation Build, but also now publish the results of the JUnit tests into the TFS Data-warehouse for inclusion in reports etc.  Take a look at his session if you would like to see more - available from Channel 9.

As we progress along the road to Rosario and get closer to the TFS 2010 betas and the eventual ship date we will working hard to use of more and more of the Rosario functionality in our Teamprise clients.  As well as thanking Brian for taking the time during his packed session to talk about our integration, I'd also like to take this opportunity to thank the various TFS teams at Microsoft who have been incredibly helpful and supportive in all the discussions we have had with them about TFS 2010 over the past year (and more).  Now that the latest CTP is out, it is great to see what were specs and mock-ups until recently realised into bits that we can play with.  TFS 2010 is shaping up to be a great "V3" release from Microsoft and I am very excited about what the coming months will bring. 

Stay tuned - it's nice to be able to talk about some of this stuff now!

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
» Visual Studio Team System 2010

If you haven’t heard the news already, Microsoft have officially announced the name of the next version of Team System, previously known by the codename of “Rosario”.  For Microsoft developers, this will be delivered on top of Visual Studio 2010.  While Team Foundation Server is already very mature, there will be a new version of TFS in the 2010 release with significant improvements and enhancements.


It is fantastic that the lid is starting to open on the 2010 release in the build up to PDC and that we can start talking publically about all the great stuff in the next version.  Like most developers I love talking about cool new stuff and it has been a nightmare watching what I say for the past couple of years.  Here at Teamprise we have been working closely with Microsoft for some time now on Rosario.  I’ve been trying to remember exactly when our first meeting was about it, however it is all a bit of a blur.  I remember one particular meeting in April 2007 were we had the majority of the Teamprise team on-site with Microsoft but that was to discuss issues and get more detail on some Rosario feature stuff so we were already aware well before then.  Suffice to say that we’ve been in close contact and we are working on it.  We’ve had releases of Teamprise with-in weeks of the major TFS launches to-date and I would expect that trend to continue.

In fact, I already have my first bug fix included in the 2010 release! I was recently notified that a bug I submitted for the .NET base class libraries has been fixed and will be included in .NET 4.0.  This actually had some important implications with cross-platform compatibility, so not only does it demonstrate how seriously Microsoft take community feedback, it also highlights their commitment to making Team System suitable for the management of your entire enterprises software development.

So, where can you learn about all the great new stuff in VSTS 2010?  First, keep your eye on Brian Harry’s blog and on Channel 9.  Also, over at RadioTFS we have been working on a series of podcasts highlighting Rosario and interviewing members of the team.  We will be releasing these over the next few weeks so if you haven’t subscribed to RadioTFS then do so now so that you don’t miss a thing (RSS Feed, Subscribe in Zune, Subscribe in iTunes). 

As CTP’s for the 2010 release start to come out, please do take a look and send feedback over to the Rosario MSDN Forums for Team System and TFS.  The Team System team at Microsoft are incredibly responsive to the community and take all our feedback very seriously, so now is the time for action from us so that they here our feedback loud and clear.

As with all these things it will take me a while to get used to calling “Rosario”, “2010” but I’ll get there in the end.  I am really looking forward to great new functionality and seeing what news PDC brings.