TFS and VSO guidance – Teams

I often get questions along the lines of “How do we do this in TFS?” It can be anything from setting up teams to choosing the best process template or how to structure a useful area path tree. My answer is always “Well, it depends…” because that is the truth. It really does depend on quite a lot of things. Fortunately, most of the time, you can change how you do things as you gather more and more experience from working with TFS in your organization. On the other hand, if you start out wrong it might require quite a lot of work to rectify that mistake. This realisation quickly turns the original question into “Ok, so how are we supposed to do this in TFS? Are there any recommendations or best practices? What does Microsoft say?”

Well, if you take a quick look at MSDN Library you will quickly realize that Microsoft actually has quite a lot to say. But over the years they have become less and less prescriptive. Which is good. Unless you are looking for some solid pointers… As far as recommendations and best practices goes these golden nuggets of information can sometimes be difficult to find.

So, this is the first post in a series where I will try to give you some solid guidance on TFS/VSO or point you towards existing solutions and recommendations. These posts will be based on my experience from working with TFS over the last 10 years.

Setting up Teams

What you need to know here is that the default way of setting up Teams in a Team Project is flawed. It works, but it is flawed and it will often cause grief down the road. Why? Because it uses the Area Path field to define your teams. This is not what the field was originally intended for. The Area Path field is intended to categorize work into product areas. The team is not a product area. Having multiple purposes for one field is bad design and this will quickly become apparent when you want two teams to work on the same product as you suddenly find yourself maintaining two identical area path structures in TFS, one for each team.

A much much better way to set up teams in TFS is to add a separate Team field, which is actually fully supported by Microsoft and opens up a hidden Team settings interface in WebAccess. It will require some customization of your TFS but it is definitely worth the effort.

Team field settings page

Unfortunately, for those of you who are using VSO it is currently not possible to do the necessary customizations in VSO. You’re stuck with the default. This might change in the near future though as VSO process customization is coming.

TFS 2013 is here!

 

 

 

Microsoft announced yesterday that Visual Studio and TFS 2013 will be released on November 13th, 2013. You can already download it.

 

What’s new then?

There is a lot of new stuff, here are the main parts:

 

Agile Portfolio Management

With the new agile features we can breakdown our backlog in different levels of granularity, a backlog of business initiatives can be broken down into a backlog of scenarios and then into a backlog of user stories and so on. Multiple Scrum teams can manage their own backlog of user stories/tasks that then contributes to the same higher-level backlog.

 

GIT support

Git will be available for the on premises version of TFS

 

Team Explorer

There is a new Team Explorer “home page” with direct access to the Task Board, Team Room and your latest solutions.

The pending changes windows is now detachable as in older versions of Visual Studio.

 

Test Management

You can now create and manage test plans from the Web Access environment.

 

Cloud Load testing

Load testing has been part of Visual Studio from Visual Studio 2005 but with the new Team Foundation Service based load test solution, you can load test your apps without configuring any infrastructure!

 

Release Management

Microsoft has acquired InRelease a release management product from InCycle Software. InRelease is a Continuous Delivery solution for .NET teams that automates the release process from Team Foundation Server up to production for faster and simpler deliveries

 

Team Collaboration

A Team Room is a space that records everything happening in your team. You can configure what to record: notifications, checkins, builds, code reviews, and so on and it becomes a living record of the activity in the project. You can also have conversations with your Team members. It’s always “on” and “permanently” recorded.

 

Work Item Charting

There is a new light weight reporting/charting where you can create charts based on your queries. These charts are automatically updated when the data is updated

TFS 2013 chart

How about upgrading?

Earlier versions of TFS can be upgraded from TFS 2010 (with or without SP1) and any Go-Live version of TFS 2012 to the TFS 2013 RC. If you want to upgrade from TFS 2005 or TFS 2008 you first have upgrade to TFS 2010.

 

What about hardware requirements

Here are the new hardware requirements:

 

  • Windows Server 2008 R2 and higher
  • SQL 2012 SP1 (CU2 recommended) and higher.
  • SharePoint 2010 and higher

Read more here

 

What about older clients?

To connect to TFS 2013 you need to have Visual Studio 2010 with SP1 or later, if you have earlier versions of Visual Studio use the MSSCCI provider

 

How do I get it?

Here are the download links for Visual Studio and TFS 2013

If you want a complete Virtual environment everything preinstalled download Brian Kellers Virtual Machine here, its so far based on the TFS 2013 Preview.

 

Microsoft includes InRelease deployment tool in TFS 2013

Microsoft has acquired InRelease a release management product from InCycle Software. InRelease is a Continuous Delivery solution for .NET teams that automates the release process from Team Foundation Server up to production for faster and simpler deliveries

This means that you in a simple way can release your applications to different environments automatically or semi automatically.InRelease1

InRelease includes a TFS build process template that triggers a release at the end of a build according to a predefined flow.

To handle what do in the actual release there is a workflow editor that enables you to decide what to do in each environment.

 InRelease2

There are a lot of predefined activities that you can use and it’s easy to add activities of your own.

You can follow each step in a release.

 InRelease3

What does it cost?

InRelease will be included without cost in TFS/VS 2013. However the deployment agents needed on each server included in each environment will cost something, what this will cost in not yet decided.

Can I try it?

Yes, download a preview of TFS 2013 here

Do you want to test InRelease in a Hyper-V environment, download it from Microsoft here

TFS 2013 Preview installation

 

As I wrote in an earlier blog Microsoft announced a Visual Studio 2013 Go-Live preview at the Build summit at the end of June. I decided to try the upgrade one of our TFS 2012 servers.

 

Hardware requirements

 TFS 2013 has new hardware requirements:

  • Windows Server 2008 R2 and higher
  • SQL 2012 SP1 (CU2 recommended) and higher. 
  • SharePoint 2010 and higher

Download TFS 2013

I downloaded the preview here:

The upgrade

Before you start make sure that you have backed up your databases

1. Start the upgrade by clicking tfs_server.exe, accept the license terms and get started.

 

2. The installation starts and after short time I have to do a restart of the machine. After the restart the installation continues.

3. After the installation is complete it continues with configuration. Click next and start the wizard.

4. Confirm that you have a current backup and click next.

5. Enter the password to your service account, always click test if you have the option. Click next.

6. Click next twice and verify your reporting services settings (if you use it).

7. Verify your database settings and Analysis Services settings

8. Enter your Report Reader account.

9. Verify your SharePoint settings (if you use it).

10. Check the review and click verify. If you have missed any prerequisites you will get a message showing that otherwise just continue with the upgrade.

11. The upgrade was in my case complete in less than 20 minutes.

 

Team Explorer

I think it’s a good practice to install Team Explorer on the TFS server. You will find Team Explorer on the TFS ISO/DVD in the Team Explorer folder.

Upgrading to a new version of a process template

If you want to use the new Portfolio backlogs in TFS 2013 you have to configure them for each project. To do this…

1. Click on Administer Server in TFS Web Access for your project.

2. Click on Configure Features. If you have pre TFS 2010 process templates this will probably don’t work and you have to do it manually.

 

3. Select verify

4. If everything is OK select Configure

5. Start using the new features.

 

TFS 2013

 

Microsoft announced Visual Studio 2013 Go-Live preview at the Build summit at the end of June. By doing this they have increased the speed between their releases from two years to one year.

 

What’s new then?

 There is a lot of new stuff, here are the main parts:

 

Agile Portfolio Management

 With the new agile features we can breakdown our backlog in different levels of granularity, a backlog of business initiatives can be broken down into a backlog of scenarios and then into a backlog of user stories and so on. Multiple Scrum teams can manage their own backlog of user stories/tasks that then contributes to the same higher-level backlog.

 

GIT support

 Git will be available for the on premises version of TFS

 

Team Explorer

 There is a new Team Explorer “home page” with direct access to the Task Board, Team Room and your latest solutions.

 The pending changes windows is now detachable as in older versions of Visual Studio.

 

Test Management

 You can now create and manage test plans from the Web Access environment.

 

Cloud Load testing

 Load testing has been part of Visual Studio from Visual Studio 2005 but with the new Team Foundation Service based load test solution, you can load test your apps without configuring any infrastructure!

 

Release Management

 Microsoft has acquired InRelease a release management product from InCycle Software. InRelease is a Continuous Delivery solution for .NET teams that automates the release process from Team Foundation Server up to production for faster and simpler deliveries

 

Team Collaboration

 A Team Room is a space that records everything happening in your team. You can configure what to record: notifications, checkins, builds, code reviews, and so on and it becomes a living record of the activity in the project. You can also have conversations with your Team members. It’s always “on” and “permanently” recorded.

 

How about upgrading?

 Earlier versions of TFS can be upgraded from TFS 2010 (with or without SP1) and any Go-Live version of TFS 2012 to the TFS 2013 Preview. If you want to upgrade from TFS 2005 or TFS 2008 you first have upgrade to TFS 2010.

 

What about hardware requirements

 Here are the new hardware requirements:

 

  • Windows Server 2008 R2 and higher
  • SQL 2012 SP1 (CU2 recommended) and higher. 
  • SharePoint 2010 and higher

 Read more here

 

What about older clients?

 To connect to TFS 2013 you need to have Visual Studio 2010 with SP1 or later, if you have earlier versions of Visual Studio use the MSSCCI provider

 

How do I get it?

 Here are the download links for Visual Studio and TFS 2013 Preview

 If you want a complete Virtual environment everything preinstalled download Brian Kellers Virtual Machine here.