Apr 262012
 

Earlier this month some very useful guidance documentation was published on Codeplex
The topic?  Build and versioning guidance, from Microsoft’s ALM Rangers group.

The guides are broken down into a number of PDF files.  In the main documentation archive (which you can download from Codeplex) are a number of files:

  • Branching and Merging Guide – Cheatsheet Advanced Plan.pdf
  • Branching and Merging Guide – Cheatsheet Basic Branch Plan.pdf
  • Branching and Merging Guide – Cheatsheet Picking a Strategy.pdf
  • Branching and Merging Guide – Cheatsheet Standard Branch Plan.pdf
  • Branching and Merging Guide – Cheatsheet Terminology.pdf
  • Branching and Merging Guide – Illustrations.pdf
  • Branching and Merging Guide – Illustrations.pptx
  • Branching and Merging Guide.pdf

Which, all said, cover a fair amount of material. 
Also packaged are some Hands on Labs which provide a useful set of demonstration examples, and can be used with the Beta version of TFS.

According to the main PDF (Branching and Merging Guide.pdf) the following bullet points describe the new content covered in the beta documentation:

  • The guidance will have some new verbiage and recommendations around some of our existing branching
    plans, as well as add some coverage for new branching plans.
  • This guidance introduces you to local workspace which is a new concept in Team Foundation Server 11.
    Local workspace enables you to continue working even when network access is intermittent or
    unavailable thereby providing increased bandwidth availability and client optimizations. 
  • We provide new guidance around effectively managing shared resources in source control by discussing
    various common scenarios and describing the pros and cons with each approach.  This guide lays a solid
    foundation for implementing sharing for your development efforts in your Team Foundation Server
    environment.  
  • Branching and merging with database projects is discussed in detail. 
  • There is in-depth coverage of merge improvements in Team Foundation Server 11. There has been
    enhancements made to the product that brings a whole set of improvements in the area of merging,
    primarily fewer conflicts that require user interaction when merging, new merge tool for conflict
    resolution in merging, new file comparison tool, baseless merging from the UI, and merging available on
    unshelving. 
  • Different scenarios for baseless merging are discussed in this release of the guidance. Baseless merges are
    not ideal but may be required on occasion.  The Pros and Cons of baseless merging are pointed out with
    coverage on the enhancements made in Visual Studio 11 around baseless merging. You can now perform

There are separate diagrams within the “Branching and Merging Guide – Illustrations.pptx” PowerPoint side deck, enabling ease of access for reuse. 

You might recall, I published my own (similar) version of this diagram here on Sanders Technology not that long ago:

image

 

This diagram is an excellent representation of how to branch and merge for multiple feature sets, keeping the main trunk in synch, as well as the features in release order. 

The diagrams get quite a bit more sophisticated, here is another which illustrates my own rules for dev/branch and patch management:

image

What I quite like about these diagrams is that it underscores how important merging and branching are to a mature development lifecycle.

This model allows parallel development as well as maintenance on the released product.

I won’t go into too much detail – there’s a lot to read – suffice to say that if you have a vested interest in learning or understanding application lifecycle management (be it on Team Foundation Server or an alternative), this isn’t a bad place to start.

The guidance could easily be applied to other source control and lifecycle management tools.

Handy Links:

Download the Team Foundation Server 11 Branching and Merging Guidance
Download the Visual Studio 11 Beta
Download the Team Foundation Server 11 Beta
Download the Team Foundation Server 11 Beta Power Tools

Sep 192011
 
Part 1 Setting up TFS Azure
Part 2 Configuring Visual Studio to use TFS Azure
Part 3 Registering Team Build controllers for TFS Azure
Part 4 Builds in the Cloud

Introduction

Continuing on from Part 1, we’re taking an early look at TFS Azure, Microsoft’s first service offering of Team Foundation Server backed on top of the Azure Cloud service.

The Continuing Saga

By now you have probably registered with TFSPreview.com and created an initial Team Project.  Using the same Windows Live credentials, now we’ll look at connecting to and consuming resources from Visual Studio 2010.

I’m assuming that you already have Team Explorer installed (if not, you’ll need it) and that you’ve applied Visual Studio 2010  Service Pack 1 and the KB Hotfix.  I encountered a plethora of issues getting the hotfix applied, but hopefully you will have had less issues.

Connecting and Authenticating

Start Visual Studio 2010 and, once loaded, go to Team (Menu) –> Connect to Team Foundation Server.

Since this it the first time you’ll be connecting, click on the Servers.. button, and then click on the add button in the next dialog.  Use the URI listed on your TFSPreview administration page (in the form .tfspreview.com">.tfspreview.com">.tfspreview.com">.tfspreview.com">.tfspreview.com">https://<yoursite>.tfspreview.com):

image image

If all goes well, you’ll get an authentication page pop up and ask you to select the federated security model of choice (as of writing, only Live IDs are supported).

Selecting the default provider, we’re taking to Live to sign in – use the same credentials you registered your TFS service with (for best results).  You can create or assign other IDs later on.

Once authentication is complete, you should find your server has been successfully added to the list of TFS servers.  Select your server and you should be prompted with the available Team Projects:

image image

Victory is Mine

Once opened, Team Explorer should populate as if the TFS service was not cloud based, which means we should be able to use TFS more or less as we would normally, i.e. source control, work items etc..

image image

Limitations

A few things to note, from my first glance:

  • No Team Portal (SharePoint) or Team Web Access
  • Team Members (from TFS Power Tools) doesn’t seem to work/populate
  • No Reporting (SSRS)
  • No Process Guidance
  • Can’t create a new Team Project from inside Visual Studio:

image

    • You’ll need to create Team Projects from the browser/admin site
  • Group Membership/Security is managed via the website, even if you use the context menu in Visual Studio

Next Steps

In the next part, we’ll add a sample solution and define a build controller, and define a build definition or three, and see how well TFS responds.  We’ll also allocate some extra users, and play with permissions, groups and work items.

Part 1 Setting up TFS Azure
Part 2 Configuring Visual Studio to use TFS Azure
Part 3 Registering Team Build controllers for TFS Azure
Part 4  
Sep 182011
 

Part 1 – Setting up TFS Azure (this article)
Part 2 – Configuring Visual Studio to use TFS Azure
Part 3 – Registering Team Build controllers for TFS Azure
Part 4 – Builds in the Cloud

Introduction

At the recent BUILD convention in the US, Microsoft announced a series of new Cloud-based services, one in particular being Team Foundation Server.  Although we’ve heard rumours about such an offering for a long time, and that some services (such as TFSNow) actually were offered by third parties, this represents the first major push from Microsoft directly.

In order to drum up some initial interest, Microsoft launched http://www.tfspreview.com and an early beta period with invites sent to BUILD attendees and select members of the Microsoft development community.  Although there are already a spate of blogs with video and image walkthroughs, I decided to give TFS Preview the Sanders Technology treatment.

I’ve been building or administering TFS installations for over six years now, since the early betas of Team Foundation Server 2005 back when I was an Associate Consultant at Readify.  I’ve deep experience in all versions of TFS to date, so I expect I’m in a decent position to evaluate and discuss this new service and how it integrates into the development process.

Let’s start at the beginning..

Signing Up

Before we go any further.. have you got an invite code?  They are rather hard to come by, and a lot of the early multi-use codes are now exhausted.  I, personally, have a few activations left on an invite code (or two) so to those lucky readers who get in first, I’m happy to email you a TFS Preview invite code while I can – while stocks last!

Once you have your invite code, browse to http://www.tfspreview.com and click on the “Create Account” button.

image image

On the next page, select a name for your TFS URL, paste your invite code and agree to the ToS.  You’ll need a valid Live Account (which is used for all valid users of TFS in the cloud).

Assuming it all goes smoothly, your account will be created, and you’ll appear at the main console page.  What to do next, is to examine all your software and make sure you have applied the hotfix (for Visual Studio 2010) if you wish to get your hands dirty.  However, there’s still some initial configuration to be done in your browser first.

Creating a Team Project

image

Everything in TFS revolves around a Collection and a Team Project.  In normal TFS, you can have multiple collections and multiple Team Projects – in the cloud, it seems that we have just the default collection (if anyone can figure out how to create multiple, please let me know).

From the account page, click on the “Administration” link in the upper right hand corner of the screen.  You’ll enter the Administration console which has a number of options:

image

Our immediate priority is to create a Team Project – clicking on “create team project” will provide us with this nifty pop up window – fill in the details as you desire, and proceed by clicking on “Create Project”:

image

Administration

Once the project has been successfully created, you’ll also notice that a default collection has been created, and your team project is now a child of that default collection.  The console now provides more functionality – click on the Project drop list and select “Browse all Projects”:

image

Select your Team Project and then click “Navigate”.  I’ve circled the main page navigation as each should be worthy of a bit of investigation.  Each link provides access to security, group membership and key team project configuration (such as Areas and Iterations) which essentially represent their approximate siblings in TFS 2005, 2008 and 2010 respectively.  Little has changed here, except that instead of adding Active Directory accounts to groups, you add users according to their Live Accounts instead.

image

From the main page you can view all the traditional options which we would find in Team Foundation Server, I’ve taken screen captures of the most interesting windows:

image image
Areas                                                     Iterations

image image
Security                                                 Group Membership

image image
Member Details                                      Project Groups

By default, the user who creates the Team Project is an administrator, which means complete access to all settings and functionality.  Now that a Team Project has been created, you will want to consume TFS from within Visual Studio.

If you haven’t already, download and install the hotfix located here.  When I ran the hotfix I received this:

image

If you hit a wall, probably best to reapply Visual Studio 2010 Service Pack 1.  Last of all, you can also hit the TFS Azure forums which are located here: http://social.msdn.microsoft.com/Forums/en-US/TFService/threads

Check back son for Part 2, where we’ll look at some practical ways to use this new TFS cloud service!

Downloads

Software Downloads for the Team Foundation Service Preview:
http://blogs.msdn.com/b/visualstudioalm/archive/2011/09/14/tfs-preview-downloads.aspx

Microsoft® Visual Studio® 11 Developer Preview:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27542