In September 2011, the Team Foundation Service Preview (TFS-P) became available on an invitation-only basis. In a nutshell, it’s the beta version of Team Foundation Server (TFS) 11, but hosted in Azure (Microsoft’s cloud-based storage, computing and networking infrastructure services). While popularity for TFS has grown over the years as an on-premise server technology, the idea of a hosted version of TFS has taken a little longer to materialize.
As a SharePoint developer who focuses on application lifecycle management, I’m a big fan of doing SharePoint development using TFS. So I decided to get a TFS-P account to see what it was like to work with SharePoint and TFS in the cloud.
MySharePoint environment is hosted by CloudShare, and it was very easy to download and install to my virtual environment the software necessary to connect Visual Studio to my hosted TFS account. In just a few clicks, I had connected to my TFS-P account in a manner almost identical to working with a local TFS instance. I should point out that this first attempt described here is with Visual Studio 2010 (as opposed to Visual Studio 11 Developer Preview), which means some features (like the enhanced Team Explorer) weren’t available. Nor did I install the necessary Build Controller/Agent bits in order to explore TFS-P Build Server features (expect to see more details on these features in future posts).
I figured I’d create a simple HelloWorld-style application by building a simple 1-button visual web part, with code-behind to change the button text when clicked:
In true SharePoint 2010 fashion, I quickly built my visual web part, then F5-deployed it to my CloudShare SharePoint farm for testing:
All is well. I was then able to add my code to source control to TFS-P as I normally would with any application code:
I decided to add a Bug work item and a couple of Product Backlog items in order to see what managing/viewing work items and source control version history would look like. (TFS-P includes the new & shiny TFS11 version of Team Web Access):
I created a Bug regarding the need for a second button on my overly simple visual web part solution, and assigned it to myself. But I decided to shelve my work on Button #2 to see what the experience was like. After associating my changeset to the Bug work item, I could see my shelveset displayed neatly in the web interface:
After finishing the feature, I saw my version history neatly displayed as well:
There is certainly more to explore, and I will try to continue to post future articles on my ongoing experience. But my biggest takeaway so far is this – as someone who has worked with/installed/administered TFS since its early days, I’m pleasantly surprised with how much everything so far “just works” with my cloud-based TFS experience.