TFS Blog Series: Introduction to Team Foundation Server
About TFS Blog Series
This blog post is part of a blog series to introduce Team Foundation Server to new users. The blog series will also contain articles targeting intermediate and expert users. I will be using Team Foundation Server 2012 Update 1 and Visual Studio 2012 Update 1 throughout the series. If you have any questions or you want me to cover a specific topic, please don’t hesitate to contact me.
Sometimes when I introduce Team Foundation Server (TFS) to clients, they often try to compare it to Visual Source Safe or any other code repository database. My answer would usually be that TFS is not another code repository database. TFS is an Application Life Cycle Management (ALM) suite that allows team members, such as Project Managers, Business Analysts, System Analysts, Developers, Testers and even the client, to contribute to the project in a collaborative manner.
TFS provides project manager a way to enter and monitor the progress of Sprints and Tasks. Project managers can also take advantage of the SharePoint portal to upload documents and give permissions to certain groups in the team to access or modify them. Project managers can also leverage the out of the box reports to monitor the backlog and the health of the project. In TFS 2012 Update 1, project managers can also take advantage of the added Kanban board to the project dashboard.
With the introduction of TFS 2012, Business Analysts can now capture user requirements using a new tool called PowerPoint Storyboarding which allows them to capture user stories. Storyboards can be linked to backlog items, hence storyboards can be view from the linked backlog item. BA’s can also create User Story Work Items, add attached to them, add requirements tasks, and add them to the backlog. Moreover, BA’s can leverage SharePoint to upload other documentations.
Development team can break down user stories tasks and subtasks which can then be assigned to specific developers. Each task has a status to monitor its progress. The code repository or source control in TFS is primarily used by the developers of the team. Source control gives the developers the ability to host code, keep track of history of changes applied to the code, checkin or save code changes back to the repository, get latest changes of the code, branch the code into releases or versions, use the continuous integration builds to verify checkedin code, associate checkedin code to a task and many other features associated to the source control portion of TFS. Developers can write unit tests and run them manually or part of the continuous integration or the scheduled builds to verify that the code hasn’t been broken because of the latest code changes. In TFS 2012, the Code Review feature has been added as part of the workflow.
The Quality Assurance team tests the builds created by the developers or the deployment team to verify the quality of the application. TFS comes with a tool dedicated to the QA team called Microsoft Test Manager (MTM). MTM helps the QA team in creating test cases, run manual tests, record tests, save them, and then play them later on. QA team can then log bugs to TFS with the recording or the steps taken to reproduce the bug.
TFS can integrate with many tools that are used on daily basis by the team, such as MS Project, Excel, SharePoint, Outlook, Word and others. TFS also provides a set of API to allow developers to write their own tools to integrate with TFS.
As we can see, TFS is not only a source control repository but also provides a collection of tools to build a robust ALM suite to help whole team to collaborate and work together to deliver the product.
In the next blog posts, I will be writing about the TFS configurations and features to give you a better understanding of the product.