The Ins and Outs of Team Foundation Server (TFS)

Introduction

When working in a team on one or more projects, your project or projects can very quickly become quite messy. Keeping track of source code changes or minor tweaks on a certain form’s design can quickly get lost in translation. Apart from making regular backups, using a product like Team Foundation Server will save you a lot of unintended headaches.

Team Foundation Server

Team Foundation Server provides source code management, requirements management, project management, automated builds, testing, and release management for all your projects.

Source Control Management

Source Control Management provides coordination and services between members of a software development team. This includes version control and file management. These two options form the whole core of Team Foundation Server because it is deeply integrated into Team Foundation Server. Version control and file management ensures that each member of the software development team always gets the latest version of the particular file that has been worked upon.

Requirements Management

Requirements management is the process of analyzing, documenting, prioritizing, tracing, and agreeing on requirements. It is a continuous process throughout a project. Here is a great article series on Requirements Management and Team Foundation Server.

Project Management

Team Foundation Server and Microsoft Project Server can be configured so that the synchronization engine can maintain the scheduling of scheduling data and resource usage for the configured data in the mapped enterprise project plan and the team project. Here is a great article explaining how to enable this capability in Team Foundation Server.

Release Management

Release Management in Team Foundation Server allows you to manage the release of your app by deploying it to a specific environment for each separate release step. Here is a step-by-step guide on how to do this in Team Foundation Server.

Working with Team Foundation Server

Team Foundation Server is always connected to the project(s) you have assigned it to. When you open a project (C#, VB), you will notice that you will have a new tab displayed. This is the Team Foundation Server tab; it is usually quite close to your Solution Explorer. The Team Foundation Server resembles Figure 1.

TFS
Figure 1: Team Foundation Server tab

Pending Changes

Any changes you make to the files in your projects will be placed in a queue as a ‘Pending Change.’ While working, you can organize, manage, and get details about what you’ve changed.

Included Changes contains all the items that will be saved. Excluded Changes will, well obviously, be items that you can exclude. These changes might be incomplete classes or forms, or items that still need a bit of final tweaking. More details can be found here.

Source Control Explorer

Source Control Explorer manages version control such as team projects, folders, and files. The benefits of using Source Control Explorer are as follows:

  • View all pending changes.
  • Browse team projects and workspaces.
  • Determine whether or not items are synchronized, or copied to your local PC’s workspace.
  • Undo or check in pending changes.
  • Check out folders and files for editing.
  • Determine whether you have the latest version of an item.
  • Get the specific or latest version of a folder or a file.
  • Lock and unlock folders and files.
  • Shelve source control items.
  • Delete, undelete, rename, and move folders and files.
  • Resolve source control conflicts.
  • View the history associated with source control folders and files.
  • Compare versions of folders or files.
  • Branch and merge source control team projects, folders, and files.
  • Apply labels to changesets.
  • View the properties associated with folders and files.

Conclusion

When working in a team, having Team Foundation Server at your disposal is essential. Until next time, cheers!

Hannes DuPreez
Hannes DuPreez
Ockert J. du Preez is a passionate coder and always willing to learn. He has written hundreds of developer articles over the years detailing his programming quests and adventures. He has written the following books: Visual Studio 2019 In-Depth (BpB Publications) JavaScript for Gurus (BpB Publications) He was the Technical Editor for Professional C++, 5th Edition (Wiley) He was a Microsoft Most Valuable Professional for .NET (2008–2017).

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read