, , , , , , , ,

Team Foundation Server is something I’ve come across only fairly recently while getting stuck into Microsoft’s enterprise developer stuff, and I decided to play around with my own personal installation. Anyone can download the Express edition or register an account with visualstudio.com to access the managed service.
TFS is primarily an extension of Visual Studio, something that connects a project team’s developer tools to a central collaboration server.


In our case, we use it partly for ‘regression testing’ where different teams are involved in the continual patching and testing of applications. It’s also being used for code reviews, where projects are uploaded straight from Visual Studio to TFS.

Installation and Setup
On installation, the Team Foundation Server Administration Console is made available. One of the first steps is to start the Build Configuration ‘wizard’. This sorts the installation and basic server features (authentication, controllers, backups, etc.) that enable it to run.


The initial ‘Team Project Collections‘ can be created to segregate the developer teams’ projects, but apart from that, the user interface applications are required for managing the projects themselves. The Administration Console is also required for removing TFS ‘collections’.

So, what could be done with this? How is it useful? Well, this is where the web portal, Visual Studio and Microsoft Test Manager are used. A small team will find itself juggling between the three a lot, even though they’re part of the same thing here.

The Web Portal
TFS Express provides a limited version of the portal users get with the full version and visualstudio.com. In particular, the Express version doesn’t have the testing features. The portal is hosted using IIS, so the Internet Information Services Manager is also installed on the system.

Connect to the local TFS web portal at http://localhost:8080/tfs. The following screen will appear.


After projects have been uploaded from Visual Studio, they can be managed in the web portal. As you can see, there are sections laid out following the typical software development workflow, from design to testing.

Active Directory
While running the server Build Configuration, there is the option to set Kerberos or NTLM as the authentication method and use the developers’ Active Directory accounts. This also enables the TFS administrator to add users from whatever domain the server is on.

Creating Projects
For some reason, this must be done within the Team Explorer window in Visual Studio and in the Test Manager application, obviously by the person designated as the project admin. Click the drop-down near the top, and create the new project under the ‘Projects and Teams‘ option. Visual Studio then downloads the project templates for creating the new project.
With this done, the full Team Explorer menu options are enabled, and the Visual Studio environment and Microsoft Test Manager can be used for connecting to the server.


The full project features also become available in the web portal, which is actually called ‘Team Web Access‘.

Existing projects in Visual Studio can be added to TFS, by entering the Source Control Explorer (within Team Explorer), creating a new folder and adding items to it. To make the project available, the code must be ‘checked in’.
Right-click on the project folder in Source Control Explorer, and select ‘Check In Pending Changes‘. In the Team Explorer, add a comment and click the ‘Check In‘ button.


The project will appear in the web interface.


Microsoft Test Manager Application
For the life of me I can’t remember how this got installed on my laptop. Maybe it came with Visual Studio. Microsoft Test Manager is an independent application that functions as another front-end to TFS. What you can do with this is access the stored test scripts and launch them as a side panel while the tested application is running. It doesn’t do much with TFS Express.


This is just a basic overview of getting started. There are many other features that can be of use in project management, and I think it’ll be more widely used by developer teams over the coming years. It’s worth installing TFS Express and getting as much exposure to it as possible.