Team Foundation Server 2012 (TFS 2012) is the latest version of Microsoft's Application Lifecycle Management (ALM) system. This article by Jakob Ehn and Terje Sandstrom, authors of Team Foundation Server 2012 Starter, covers all the aspects of managing a software product over its complete lifecycle, from inception, through development and the subsequent maintenance phase for as long as it is in use.
(For more resources related to this topic, see here.)
What is Team Foundation Server 2012?
TFS 2012 governs all the aspects of software development, including requirement management, project management, development, testing, deployment and quality assurance. It has four major traits that make this very valuable:
An important aspect is the multiple ways of accessing TFS 2012. It can be accessed using the brilliantly new Agile Web Access, using Visual Studio, or a multitude of other development IDEs, Microsoft Office products, or even through Java development platforms such as Eclipse. There is also a rich ecosystem of third-party tools available, which integrates into TFS 2012. Some examples include inteGREAT from eDevTech, TeamCompanion from Ekobit, and InRelease from InCycle Software.
TFS 2012 has four major operational parts or stores, namely the work item system, the version control system, the build system, and the test system. In addition, it has a reporting data warehouse and a SharePoint project portal; the latter can be used for both document management and for accessing reports. It is a multi-role system, so that all the major roles in an organization can use TFS 2012 for their own purpose.
TFS 2012's major advantage lies in its internal integration. All the stores are coupled together so that information is automatically linked together as the different operations take place.
A typical case story for how different roles work together using TFS 2012 is as follows:
A Stakeholder adds a requirement to the work item system using the Agile Web Access.
An Architect sits down with the stakeholder and enters test cases as the acceptance criteria into the work item system using the test manager, and in doing so, connects the requirements with the test cases.
The Product Owner moves the requirements into the upcoming sprint.
The Scrum Master sits down with the team and breaks down the requirement in tasks using Excel.
The Developer receives the task in Visual Studio and develops the source code. He/she checks in the source code to the version control system of TFS 2012, and in doing so connects the task work item with that source code.
The TFS 2012 build system detects the check in and starts an automated build. The build is connected to both the source code and the task work item.
The tester detects a new build in his test manager, and starts running a new test run based on the test cases entered earlier and the compiled code based on the new build.
A Bug is detected, and the Test Runner collects information from the Test System with all its Test Results, connects this to the bug, and the bug to the test case and the build.
The circle is now complete—all these artifacts are all stored in TFS 2012 and what is so great—the artifacts are all linked together! Anyone can now access this information from any point, and drill down into any other part of connected items.
This story showed a scenario with many roles and many processes in place, but you can start much simpler. You can even start without nearly anything. For example just start with testing, run an exploratory test session with nothing else in place; just run the test and create bugs as you find them. From there you can, if you like, use the bugs to create test cases, and collect the test cases together to form user stories.
These are just some examples of the flexibility you have. TFS 2012 can support nearly any process you have, and you can choose for yourself how much or how little you want to use. Then, as time goes on, you can add more features, without compromising anything you have done earlier.
TFS 2012 can be installed in multiple ways. We will cover the most common ones, which are as follows:
Basic installation: This is an install on any local computer you have, and installs on Windows 7, Windows 8, or any of the server operating systems from Windows Server 2008 and upwards. It's a great way to try out TFS, but can be used in production for single developers or small teams, and is covered under the TFS Express license.
The Basic installation gives you Source Control, Work Items, Build automation, and Test Management. There is no Data warehouse, reports, or SharePoint portals included.
Standard/advanced installation: The solution for larger companies is the server installs or Advanced configurations. There are multiple ways to configure this, and we will cover a fundamental single server install with the build server separately.
Team Foundation Service: This is the hosted version of TFS. You only need to sign up to the service. The offering is currently free, but Microsoft will charge for this service at some time in the future.
Option A — Basic installation
Basic installation is well suited when you want to try out the core functionality of TFS. You can install and configure TFS Basic on your local machine in less than ten minutes.
Step 1 — Running the setup
Start by running the installation (Setup.exe) from the TFS installation media. The installation itself just installs all the binaries; it doesn't require you to configure anything. It will install the .NET 4.5 Framework, which might require a machine restart as part of the installation.
The interesting things happen afterwards when you run the Configuration Center. This wizard launches automatically and lets you choose what kind of installation of TFS 2012 you want.
Step 2 — Configuration
In the Configuration Center window, select the Basic option and press the Start Wizard button. On the Welcome page that follows, press Next.
Step 3 — Setting up the database
Now, you need to choose which database server you want to use. You have the following two options:
Let TFS install SQL 2012 Express for you
Point to an existing SQL Server instance, which must be SQL 2008 R2 or SQL Server 2012
If you already have an existing SQL Express instance on your machine, then the first option is disabled, as shown in the following screenshot:
If you do point to an existing SQL instance, then you need to supply a name for SQL Server Instance. Note that the SQL server must be located on the same machine; the Basic installation does not support remote SQL servers.
Also note that if the existing SQL instance Express is not a SQL 2012 Express instance, then it will be automatically upgraded to SQL 2012 Express. However, if your installation is not at least SQL 2008 SP2 Express, then you will be asked to upgrade to that level first.
Step 4 — Reviewing
The next page will run through a set of review steps, making sure that everything is configured correctly. If any errors are shown here, you need to correct them and then you can re-run the reviews. Press Next to start the configuration.
Step 5 — Performing the configuration
Now, the configuration wizard will perform the configuration to complete the installation of TFS 2012:
The installation is now complete. The information shown on the final screen includes the URL, which all users will use for connection, and some information about what changes were made by the configuration wizard on external resources, such as IIS and the Firewall:
You are now ready to start using TFS 2012! Check out the Quick Start section for how to quickly get started on a new project.
Option B — Standard server installation
For the production server, a full TFS server install should be used. This includes, in addition to the core TFS components, SQL Reporting Services for the reports, SQL Analysis Services for the data warehouse, and Windows SharePoint Foundation for the team project portals. When using the Standard installation option, everything will be installed on the same machine. If you need to scale out your TFS installation from the beginning (for example, by using a separate server for the data tier) then you must choose the Advanced installation option. Note that you can always scale out your deployment later.
The Standard installation and configuration has three main differences compared to the Basic installation:
You need to supply a Windows account that is used as the service account for SharePoint Products and for the read-only account, for accessing the SQL Server Reporting Services reports. It does not need to have any special permission; a normal workgroup/domain user is enough:
SQL Server will not be installed; there must be a SQL Server running on the machine before you configure the TFS installation. Note that the SQL Server must have been installed with both SQL Reporting Services and SQL Analysis Services.
The Standard installation option will install Microsoft SharePoint Foundation 2010 as part of the installation process, unless already installed:
Option C — Team Foundation Service
Another great option, not only for quickly trying out TFS but also for use in production, is the hosted version of TFS. This is TFS running in Windows Azure. Team Foundation Service fully supports Source Control, Work Items, Test Management, and Build Automation. It does not (currently) include support for data warehouse, reports, and a SharePoint portal.
Step 1 — What do I need
All you need to sign up to TFS Service is a Live ID account. If you don't have one, sign up at https://signup.live.com .
Step 2 — Signing up to the TFS service
Go to http://tfs.visualstudio.com, and click on the get started for free link:
Create your TFS account using your Live ID:
There is currently only the Windows Live ID identity provider that works for TFS Service, so leave this screen as it is.
This article will give you an overview of what Team Foundation Server 2012 is, and explain about its four main features: Traceability, Visibility, Automation, and Flexibility.
Resources for Article :
- Visual Studio 2008 Test Types [Article]
- Manual, Generic, and Ordered Tests using Visual Studio 2008 [Article]
- Visual Studio 2010 Test Types [Article]
About the Author :
Jakob Ehn is currently a Microsoft Visual Studio ALM MVP and also a Visual Studio ALM Ranger. Jakob has 15 years experience in the IT industry, and currently works as a solution architect at Inmeta Crayon ASA, specializing in Visual Studio ALM.
He actively participates in the MSDN forums and contributes to different open source projects, such as the Community TFS Build Extensions and the Community TFS Build Manager.
Jakob's blog: http://geekswithblogs.net/Jakob
Jakob's Twitter: @JakobEhn
Terje Sandstrøm is a Microsoft Visual Studio ALM MVP for four years. He works as Chief Software Architect at Inmeta Crayon ASA, specializing in Visual Studio ALM.
He loves the community, works with the Community TFS Build Extensions, participates in the forums, and has free extensions uploaded to the Visual Studio Gallery.
More about Terje: http://about.me/TerjeS
Terje's blog: http://geekswithblogs.net/Terje
Terje's Twitter: @OsirisTerje