100% found this document useful (1 vote)
373 views56 pages

Team Foundation Server Overview

Team Foundation Server (commonly abbreviated to TFS) is a Microsoft product that provides source code management (either with Team Foundation Version Control or Git), reporting, requirements management, project management (for both agile software development and waterfall teams), automated builds, lab management, testing and release management capabilities. It covers the entire application lifecycle, and enables DevOps capabilities.[1] TFS can be used as a back-end to numerous integrated development environments (IDEs) but is tailored for Microsoft Visual Studio and Eclipse on all platforms.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
373 views56 pages

Team Foundation Server Overview

Team Foundation Server (commonly abbreviated to TFS) is a Microsoft product that provides source code management (either with Team Foundation Version Control or Git), reporting, requirements management, project management (for both agile software development and waterfall teams), automated builds, lab management, testing and release management capabilities. It covers the entire application lifecycle, and enables DevOps capabilities.[1] TFS can be used as a back-end to numerous integrated development environments (IDEs) but is tailored for Microsoft Visual Studio and Eclipse on all platforms.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

Team

Foundation Server
Visual Studio Team Services

Hans-Petter Halvorsen, M.Sc.


Team Foundation Server (TFS) is an Application Lifecycle Management (ALM) system
The Software Planning
Development Deployment
Lifecycle (SDLC) Maintenance
SDLC Management Project
Testing
Team Management
Bug Tracking
MS Project Foundation Requirements
Visual Studio Analysis
MS Excel
Implementation
Server
Collaboration Platform
Source Code Control Scrum
Agile
(SCC)
Design
Visual Studio Online
Team Foundation Server (TFS)
Server Clients
Others
LabVIEW
MSSCCI Provider Eclipse
Web Access
TFS MS Excel

Services MS Project
Repository
SQL Server Git File
(TFVC) Visual Explorer
Team Foundation Server (TFS) is an Application
Studio Power Tools
Lifecycle Management (ALM) system Team Explorer
The diagram demonstrates that team members on different
platforms can collaborate by using Team Foundation Server 4
What is TFS?
Team Foundation Server (TFS) is an Application Lifecycle
Management (ALM) system,
i.e., the system takes care of all aspects in software development
from planning, requirements, coding, testing, deployment and
maintenance.
TFS is a Source Code Control (SCC), Bug Tracking, Project
Management, and Team Collaboration platform
Tightly integrated with Visual Studio as Microsoft is the vendor
of both Visual Studio and TFS
Cloud based edition (Hosting Service): Visual Studio Online
(former: Team Foundation Service)
5
Application Lifecycle Management,
ALM
ALM Tools: Tools that facilitate and integrate:
Requirements Management,
Architecture,
Coding,
Testing,
(Bug) Tracking,
And Release Management (-> Software Development!)
There exist a lot of such tools (TFS, Jita, etc)
We will use Team Foundation Server (TFS) from Microsoft, since it is
tightly integrated with Visual Studio
http://en.wikipedia.org/wiki/Application_lifecycle_management 6
Visual Studio Team Services
TFS is a Source Code Control (SCC), Bug Tracking, Project
Management, and Team Collaboration platform
Integrated with Visual Studio
TFS in the Cloud (This means you don't need to host the server
yourself)
Free for up to 5 users
www.visualstudio.com
Team Foundation Server
SDLC Management (SDLC Software Development Life Cycle)
Software Team Collaboration
Source Code Management
Supports Agile, Scrum, CMMI
Bug Tracking
Integrated Test Tools
Automated Builds
Built in Team Foundation Version Control (TSVC) + Support for Git
repositories
Built-in support for TFS in Visual Studio (Team Explorer)
Plug-in for Eclipse (Team Explorer Everywhere)
MSSCCI Provider for other IDEs like LabVIEW, etc.
8
TFS Technical Overview
It uses a 3 tier/layer architecture
Client tier (Web Services (used by Visual Studio,
etc.))
Application tier
Web Services
Web Portal, Team Web Access (TWA)
Document repository using SharePoint Services
Data tier (SQL Server)
9
TFS Client Tools
Team Explorer (integrated with Visual Studio)
MS Excel Add-in (part of Team Explorer installation)
MS Project Add-in (part of Team Explorer installation)
Windows Explorer Integration (part of Power Tools)
Very useful when working with Team Foundation Server outside of Visual Studio or Eclipse
TFS MSSCCI Provider (makes it possible to use TFS within tools that do
not support TFS, such as e.g., LabVIEW, SQL Server, etc.)

Team Explorer Everywhere


3.party software that integrates with TFS (using available
web services)
10
Source Code Control/Revision Control
With TFS you may use different source code repositories:
TFVC
Team Foundation Version Control (TFVC) uses a single, centralized
server repository to track and version files. Local changes are
always checked in to the central server where other developers
can get the latest changes.
Git (open source alternative)
Git is a Distributed Version Control System (DVCS) that uses a local
repository to track and version files. Changes are shared with other
developers by pushing and pulling changes through a remote, shared
repository.
11
Visual Studio Team Services
(VSTS)

Hans-Petter Halvorsen, M.Sc.


Visual Studio Team Services
TFS in the Cloud (This means you don't need to host
the server yourself)
Free for up to 5 users
www.visualstudio.com
We will learn to
Create an Visual Studio Team Services Account
Create Projects and Add Team Members
Create a good Folder structure
Create Areas and Iterations
Create Work Items (Bug, Task, ...)
Create Queries
Use TFS inside Visual Studio
VSTS- Getting Started
1. Create an Account
2. Create a New Team Project
3. You are ready to start
1. Connect to Visual Studio Team Services from Visual Studio (similar as
connection to a Team Foundation Server)
2. Or use the Web-based interface provided (except for SCC)
4. Assign Team Members
5. Add Areas, Iterations, etc.
6. Add your Source Code
7. Check-in/Check-out
15
Create New Team Project
!!!

Select what kind of


development process
you want to follow
(Agile, Scrum, ...)
Select TFVC or
Git Repository

16
The Project Start Page

17
Exercise Visual Studio Team Services
Sign up for Visual Studio Team Services
www.visualstudio.com
You need a Windows Live ID
Create a proper URL
Create a New Project
Add Team Members
Give Access to the
Supervisor
Team Projects
Different templates exists
Agile
Scrum
etc.

19
Source Code Control
Select between
Team Foundation Version Control (TFVC)
Git

Visual Studio: Team Explorer


From Team Explorer: Source Control Explorer
20
Create a good structure
Open the Source Code Explorer in Visual
Studio
Define proper folders inside your project

21
Areas
The different software modules could be divided
into different Areas

22
Iterations
Create Iterations for the different releases,
milestones (internal and external); e.g., Alpha,
Beta, RC, RTM

23
Exercise TFS
Create the following for your Project:
Team Project
Assign Team Members
Areas
Iterations
Create a good folder structure for your
Documents and Source Code
Work Items
In TFS you can create different Work Items, such as:
Task
Bug
Feature
Scenario
Issue
User Story
Test Case
etc.
These Work Items will be used at different level in your development cycle.
When the Testers reports bugs, they will use the Bug Work Item, etc.
25
Work Items New Bug

26
Queries
Used to find existing Work Items
You may create different Queries to make it easy to find the Work
Items you need
Queries may be personal or visible for everybody in the project
(Team Queries)

27
Exercise TFS Work Items
Create different kind of Work Items for your
Project (Task, Bug, Feature)
Create different Queries to make it easy to
find your Work Items of interest at any given
time.
Task Board

29
Burndown Chart

30
Team Foundation Server
Client Tools

Hans-Petter Halvorsen, M.Sc.


Team Foundation Server (TFS)
Server Clients
Others
LabVIEW
MSSCCI Provider Eclipse
Web Access
TFS MS Excel

Services MS Project
Repository
SQL Server Git File
(TFVC) Visual Explorer
Team Foundation Server (TFS) is an Studio Power Tools
Application Lifecycle Management (ALM) Team Explorer
system
TFS Client Tools
Team Explorer (integrated with Visual Studio)
MS Excel Add-in (part of Team Explorer installation)
MS Project Add-in (part of Team Explorer installation)
Windows Explorer Integration (part of Power Tools)
Very useful when working with Team Foundation Server outside of Visual Studio or Eclipse
TFS MSSCCI Provider (makes it possible to use TFS within tools that do
not support TFS, such as e.g., LabVIEW, SQL Server, etc.)

Team Explorer Everywhere


3.party software that integrates with TFS (using available
web services)
Team Explorer
The main tool for communication with TFS
Integrated with Visual Studio
Add Source Code
Add Areas and Iterations
Add Work Items (Bugs, Tasks, User Stories, etc)
Add, Edit and Use Queries
34
MS Excel Add-in
Export a work Items (Tasks, Bugs, etc.) to Excel
Publish Work Items from Excel to TFS

35
MS Project Add-in
Combine Gantt Charts and TFS
The Tasks in the Gantt Chart will be created/updated
in TFS as well

36
Windows Explorer Integration
Part of the TFS Power
Tools package
Very useful when working
with Team Foundation
Server outside of Visual
Studio or Eclipse (using
tools with no TFS
integration)
37
TFS MSSCCI Provider
Use TFS in e.g. LabVIEW, SQL Server, etc. that
dont have built-in support for TFS

38
TFS in LabVIEW - Configuration

39
TFS in LabVIEW Check In/Out
You need to use the
Project Explorer

40
Team Foundation Server
Visual Studio
How-To use TFS/Visual Studio Online Features inside Visual Studio

Hans-Petter Halvorsen, M.Sc.


Using TFS with Visual Studio
Connect to TFS
Add Source Code to TFS
Check In/Check Out
Team Explorer
Source Control Explorer
42
TFS in Visual Studio

43
Add Source Code

Check In 44
Scrum in TFS
Product Backlog, Sprint Backlog, Task
board, Burndown Chart

Hans-Petter Halvorsen, M.Sc.


Using TFS to create the Backlog

http://msdn.microsoft.com/en-us/library/ee518933.aspx 46
Sprint Backlog in TFS

47
Break items down into Tasks
In the sprint backlog, add a task:

Give the task a name, and


estimate the work it will take:

48
Final Results:

49
Use the Taskbord to update Tasks
The task board is at the heart of daily standups. Move tasks on the task board to
reflect their current state.

50
Use the Taskbord to update Tasks
You can assign a task to a specific person:

51
Use the Taskbord to update Tasks
Update the remaining work by either using the drop-down list or typing a specific value:

52
Burndown Chart
Review overall progress by opening the burndown chart for the sprint:

53
Summary
We have lots of different SCC systems
We have lots of different ALM systems
If you are using Visual Studio, Team Foundation
Server is a good choice
Team Foundation Server is tightly integrated into
Visual Studio
TFS can be used with other IDEs as well, e.g. Eclipse
(Team Explorer add-in), LabVIEW (MSSCCI Provider), etc.
SCC Source Code Control
ALM Application Lifecycle Management 54
References
E. Blankenship, M. Woodward, G. Holliday, and B. Keller, Professional
Team Foundation Server 2012: Wiley, 2013.
M. Gousset, B. Keller, and M. Woodward, Professional Application
Lifecycle Management with Visual Studio 2012: Wiley, 2013.
I. Sommerville, Software Engineering: Pearson, 2010.
S. Adams. Dilbert. Available: http://dilbert.com
O. Widder. (2013). geek&poke. Available: http://geek-and-poke.com
B. Lund. (2013). Lunch. Available: http://www.lunchstriper.no,
http://www.dagbladet.no/tegneserie/lunch/
55
Hans-Petter Halvorsen, M.Sc.

University College of Southeast Norway


www.usn.no

E-mail: [email protected]
Blog: http://home.hit.no/~hansha/

Common questions

Powered by AI

In TFS, "Areas" and "Iterations" are essential for organizing projects and ensuring effective management of tasks and timelines. Areas allow teams to categorize work items by different modules or features within a project, facilitating better focus and responsibility assignment. Iterations, on the other hand, represent time-bound periods within the project lifecycle, such as releases or sprints. They help teams structure their work around milestones and deliveries, enabling progress tracking and deadline management. Together, areas and iterations provide a framework for organizing tasks and ensuring the structured progression of project objectives .

TFS supports various software development methodologies such as Agile and Scrum by providing customizable process templates and tools that align with these practices. For instance, TFS offers templates for Agile and Scrum that include features like user stories, tasks, and sprints, which are essential for managing agile workflows. It also provides a task board for daily stand-ups and burndown charts to track progress and remaining work during sprints. These tools help teams organize and prioritize tasks, ensuring alignment with Agile and Scrum principles .

Visual Studio Online, the cloud hosting service for TFS, enhances accessibility and collaboration by eliminating the need for physical server infrastructure, allowing teams to connect from anywhere. It provides a web-based interface that facilitates tasks such as project management, source control handling, and work item tracking, making it easier for distributed teams to work together seamlessly. The cloud service offers scalability, adapting to team size and project needs, and enables easy integration with existing development tools. Additionally, its security and availability features ensure reliable access for team members, promoting efficient and collaborative project workflows .

TFS supports integration with non-Microsoft development environments through its plug-ins and web services, enabling cross-platform collaboration and project management. For instance, TFS provides "Team Explorer Everywhere," a plug-in for Eclipse, allowing developers working in Java or other platforms to connect and use TFS features such as source control and work item tracking. Additionally, the MSSCCI Provider enables TFS integration with environments that lack built-in TFS support, such as LabVIEW. These integration offerings ensure that TFS can be utilized in diverse development settings, promoting consistency and collaboration across varying technological landscapes .

TFS can be extended and customized through several means, allowing it to adapt to various development environments and tools. The MSSCCI Provider facilitates the use of TFS with tools that do not natively support it, such as LabVIEW and SQL Server. Additionally, TFS supports integration with third-party tools using available web services. Custom process templates can be created to match specific project methodologies or workflows, and the TFS Power Tools package allows for enhanced functionality, such as integration with Windows Explorer. These customization and extension capabilities enable TFS to fit a wide range of project requirements and development environments .

Team Foundation Server (TFS) facilitates collaboration among team members on different platforms through its integration with various tools and services. TFS provides extensions like Team Explorer for Visual Studio, MS Excel, and MS Project, and it supports integration with other IDEs such as Eclipse and LabVIEW using MSSCCI Provider. It also offers web-based interfaces and cloud hosting through Visual Studio Online, making it accessible without the need for local server hosting. This cross-platform support ensures that team members can collaborate effectively regardless of their development environment .

The integration of TFS with Microsoft SQL Server offers several advantages, enhancing data management and accessibility. TFS uses SQL Server as its data tier, which facilitates efficient data storage, retrieval, and backup. This integration allows TFS to leverage the robust data management capabilities of SQL Server, including support for large datasets, complex querying through SQL language, and advanced analytics. Additionally, it provides a secure and scalable infrastructure for managing application data, ensuring that project data is reliable and consistently available for all team members .

Work Items in TFS are a vital component for managing and tracking tasks, bugs, features, scenarios, issues, and user stories throughout the software development lifecycle. They help teams organize and prioritize work by defining what needs to be done and by whom. Each work item type suits a different purpose, such as tasks for development activities or bugs for testing feedback. Work items are linked to iterations and areas, providing a structured approach to manage different aspects of the project. Additionally, queries can be created to retrieve and analyze these work items, making project tracking efficient and insightful .

TFS handles source code management by offering options for both centralized and distributed version control systems. It includes Team Foundation Version Control (TFVC), a centralized system where all changes are checked into a single server, and Git, a distributed system allowing local repositories on developer machines. These options enable teams to choose a version control system that fits their workflow, providing flexibility in how code changes are shared, tracked, and managed. Both systems support the integration of source control management directly into Visual Studio through Team Explorer .

Team Foundation Server (TFS) supports Application Lifecycle Management (ALM) through various components such as Source Code Control (SCC), Bug Tracking, Project Management, and Team Collaboration. It integrates tightly with Visual Studio and offers tools for Requirements Management, Coding, Testing, Bug Tracking, and Release Management. TFS provides built-in support for both Team Foundation Version Control (TFVC) and Git repositories, facilitating version control and collaboration. Additionally, TFS includes integrated test tools and automated build processes, supporting agile methodologies like Scrum and CMMI .

You might also like