Presentation is loading. Please wait.

Presentation is loading. Please wait.

Team Foundation Server Overview

Similar presentations


Presentation on theme: "Team Foundation Server Overview"— Presentation transcript:

1 Team Foundation Server Overview
Evgeny Zlobin Developer Solution Sales Manager

2 What we will cover Short Overview of Team System
Team Foundation Server Architecture Clients Work Items Source Control Reports TFS Proxy overview

3 Visual Studio Team System
9/14/2018 9:27 PM Visual Studio Team System New! Visual Studio Team Suite Software Architects Software Developers Software Testers Database Professionals Visual Studio Team Explorer Visual Studio Industry Partners Application Modeling Code Analysis Performance Testing Database Change Management Infrastructure and Deployment Modeling Performance Tuning Manual Testing Database Testing Test Case Management Database Deployment Security Analysis Unit Testing Code Coverage MSF Process and Guidance Class Modeling Visio and UML Modeling Visual Studio Professional Edition Load Test Agent Visual Studio Team Foundation Server Change Management Reporting Integration Services Work Item Tracking Project Site Project Management © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

4 Team Foundation Server
9/14/2018 9:27 PM Team Foundation Server Integrated Platform for Collaborating on Software Development Projects. Work Item Tracking Version Control Reporting Build Automation Team Communications TFS provides the infrastructure for team members to collaborate successfully to deliver a software project. It’s built on Windows Server 2003 and SQL Server. It leverages core technologies like ASP.NET web services and SharePoint to provide services. It’s composed of four cornerstones. The first is Work Item Tracking which is very fundamental to TFS. WI are our generic name for any piece of information related to a project that require further action or input. So it can be a Feature, Bug/Defect, Task, Requirement, etc. WIs are used by all parts of TFS. Version Control is the name of our enterprise class source code Change Management feature that we’ll be talking about in depth shortly. Build Automation makes it simple for teams to set up a regularly scheduled build. Performing regular builds will increase quality by catching defects when code is integrated. TFS makes it dead simple to set this up. Team Communication is important to ensure the team is in sync. TFS supports this by aggregating all project related data in a single repository and making that easily accessible to anyone related to the project. Good communication increases the transparency of the project. Finally, TFS’s extensive Reporting capabilities increase the predictability of a project by gathering and presenting important information. Out of the box we have over 20 predefined reports and it’s really simple to extend existing reports as well as create new reports. © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

5 TFS Technical Architecture
The client tier contains the following important components Client Tier Team Foundation Server object model. This is the public API used to interact with TFS. You can use the object model to create your own client-side applications that interact with TFS. Visual Studio Industry Partners (VSIP) components. These are third-party tools, add-ins and languages for use within Visual Studio. Microsoft Office integration. This consists of a set of add-ins for Microsoft Office Excel® and Microsoft Office Project that enables you to query and update work items in the TFS Work Item Tracking database. This is particularly useful for project managers who already use these tools extensively. Command-line tools. These are the tools that enable you to interact with TFS from the command line. The majority of these tools provide source control functionality and they are useful for automating repetitive tasks and for scheduling tasks. Check-in policy framework. This supports the check-in policy feature, which is an extensible mechanism that enables you to validate code during the check-in process. Application Tier The application tier exposes the following ASP.NET Web services accessed by the client tier. These Web services are not intended for third-party integrators to program against, but are described here for completeness. Web services are grouped into the following collections: 􀂃 Team Foundation Data Services 􀂃 Team Foundation Integration Services Team Foundation Data Services This set of Web services is primarily concerned with manipulating data in the data tier. These services include: Version Control Web service. The client tier uses this Web service to execute various TFS source control features and to interact with the source control database. Work Item Tracking Web service. The client tier uses this Web service to create, update and query work items in the Work Item Tracking database. Team Foundation Build Web service. The client tier and the MSBuild framework use this Web service to execute build processes. Team Foundation Integration Services This set of Web services provides integration and automation functionality. These services do not interact with the data tier. The Team Foundation Integration services include: Registration Web service. This service is used to register various other TFS services. It maintains information in a registration database. The information is used by the services to discover and determine how to interact with one another. Security Web service. This service consists of the Group Security Service and the Authorization Service. The Group Security Service is used to manage all TFS users and groups. The Authorization Service provides an access control system for TFS. Linking Web service. This service enables tools to establish loosely coupled relationships (or "links") between the data elements they hold. For example, the relationship between a defect work item and the source code that was changed to fix the defect is held by TFS using a link. Eventing Web service. This service enables a tool or service to register event types. Users can subscribe to those events and receive notification through or by invocation of a Web service. For example, you can use a check-in event to trigger a continuous integration build. Classification Web service. This service works together with the Linking Web service to enable TFS artifacts to be classified according to predefined taxonomies. This helps support cross-tool reporting even for artifacts that do not share a common taxonomy to organize their data. For example, if work items are normally organized by team, while tests are normally organized by component, you can also organize tests by team so that they can be reported alongside work items. Data Tier TFS does not support direct access to data stored on the data tier from client applications. Instead, all requests for data must be made through the Web services on the application tier. The TFS data tier consists of the following data stores corresponding to data services on the application tier. Work item tracking. This stores all the data related to work items. Version control. This stores all the data related to source control. Team Foundation Build. This stores all the information related to the TFS Team Build feature. Reporting warehouse. This stores information related to all the TFS tools and features. The reporting warehouse simplifies the creation of reports that combine data from multiple tools.

6 Team Foundation Server Clients
Teamprise Team Foundation Server Clients Teamprise Eclipse Plugin Teamprise Explorer Teamprise Command Line Client Visual Studio 2005 Team Explorer Microsoft MSSCCI Provider - Visual Studio 2003 / Visual Studio 6 etc Teamprise On Linux Microsoft Command Line Client Team Foundation Server Visual Studio 2003 / Visual Studio 6 Teamprise On Sun / SPARC Teamprise On Mac 6 © 2006 Teamprise. All rights reserved. This presentation is for informational purposes only. Teamprise makes no warranties, express or implied, in this summary.

7 9/14/2018 9:27 PM Work Items A work item is a generic term for information that drives the development process. Examples: Bugs, Project Tasks, Service Level Agreements, Requirements Integrated into the IDE Customizable to include information an organization needs to collect Provides customizable workflow and notification to support an organizations process Included with process templates to ensure consistency across multiple projects. Work Item Tracking Work Items provide a lot of value to our customers. They instrument the process by documenting and communicating what the team needs to do. They also keep the team focused in doing work that is in-scope to the project. Plus the workflow of work items ensure the proper people are notified of task/requirement/bug/etc changes. Without this communication teams work by passing around project plans, Excel spreadsheets, or s trying to communicate in an in-efficient manner. This is how we help the ever growing virtual teams communicate and work like they were in the same building. From a project managers perspective, they can communicate their plan with the hassle of constant status meetings. Not communicating their plan, but also getting a grasp on where the project stands at that point in time. 7 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

8 Assign work items to resources using Microsoft Project
Author work items in Microsoft Excel Work items show up in Visual Studio View project status in Microsoft Excel or Microsoft Project

9 Project Management: Predictability & Visibility
9/14/2018 9:27 PM Project Management: Predictability & Visibility Link project plan tasks to Work Items PM can get updates when WI status changes. PM can manage WI via Project: assign, add/delete/modify tasks Analyze data instead of collecting it PM can devote more time to actually managing the project and make strategic decisions. TFS is integrated with the software you and your team uses every day Visual Studio, Office, Project & SharePoint makes projects more predictable Reduces risk by alerting you to problems earlier in the lifecycle Encourages communication between members of the development team A PMs job is to ensure the successful outcome of the project. A PM can choose the team process, assign roles and rights. She can activate polices so process rules are enforced. Additionally, TS aids the PM by alleviating her of much of the mundane work she used to do. As activity occurs during the project (bugs are fixed, features added, code is checked in, etc), TS collects data. This data is available to the PM so that she can make the right decisions. For example, she can see if a developer is overloaded and if so, shift work to another developer. she can determine if the codebase is stabilizing so that a release can be made. she if tasks are being completed according to schedule This kind of information makes the project more predictable. The PM can concentrate on making strategic project decisions instead of collecting data. This data is available to everyone on the team as well so that everyone is on the same page. TS makes information available in a variety of formats and applications so the PM can use whatever tool fits. All of this reduces risk and increases the chances of success. 9 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

10 Process Templates: MSF Agile, MSF CMMI
Built-in software development methodology. Supports a lightweight (Agile) and rigorous (CMMI) process. Provides “rules of engagement” for a project. Process can be customized to meet the team’s needs. Each project on TFS can follow a different process. Third party process templates available.

11 Team Foundation Source Control
9/14/2018 9:27 PM Team Foundation Source Control Built new from the ground up 3-tier ASP.NET web service SQL Server 2005 data store Totally New Version Control System Integrated check-in Shelving Source Control Explorer More… Lots of New Features Built for the Enterprise Support for distributed teams Secure, Reliable, Scalable © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

12 Source Control Feature Support
Yes No Atomic Checkin Work Item Integration Checkin Policies Shelving Delta File Storage Delta Binary File Storage Large File Support (>4GB) Distributed Team Support

13 Source Control Feature Support
Yes No Checkin Notification Non-Windows Support Diff Tool Extensibility Shared Checkout VS 2003 Integration Keyword Expansion Pinning & Sharing Shadow Folders Pinning: Shadow Folders: A shadow folder is an optional centralized directory on the Visual SourceSafe server that contains copies of the most recently checked-in files for a specific project. Every time the users of the shadowed project check in new files, the files are automatically copied to the shadow folder. Security Note It is recommended to create your shadow folder on a different share from the Visual SourceSafe database so that users with read-only sharing permissions for the shadow folder do not have permissions for the share that contains the database. You are also recommended to create a shadow folder for a specific Visual SourceSafe project only, not for the root project ($/), to confine shadow folder users to just that one project. As the database administrator, you will most often use a shadow folder in a team environment to: Allow users to view, but not modify, files. These users have not been granted access to the Visual SourceSafe database. For example, you might use a shadow folder if you want members of a test team to be able to view source code to assist with the testing process. Prevent each user's working folder from containing a local compilable copy of a software development project. To make sure that every user has the most recent version of files, it might be desirable for all users to compile source code out of the shadow folder, instead of in personal working folders. In this case, shadow folders are frequently used in conjunction with the Remove local copy after Add or Check In option in the SourceSafe Options dialog box, Local Files tab.

14 Shelvesets Shelvesets are collections of pending changes, comments, and associated work items Scenarios Backup tf shelve /i MyWork Temporarily move changes to work on a different issue tf shelve /i MyWork /move Remote code reviews tf unshelve CoolStuff;joe Buddy builds or coordinate changes tf unshelve CoolStuff;joe 14

15 Check-in policies Restrictions on submitted changes
3 policies in the box Work items associated Check-in tests pass Static analysis is clean Extensible through plug-in model Build your own!

16 Change Management Work item check-in policy
Require WI association for any checkin

17 Change Management Work item check-in policy
Associate work items with source changes Transition work items through a workflow

18 Change Management Work item check-in policy
Review source changes later from the work item

19 Team Explorer Access work items, project documents, reports, builds and source control from one location

20 9/14/2018 9:27 PM Project Portal Provides a way to communicate information and documents to other team members through the web. Gives easy access to members who do not play a direct role in software development. Members who contribute documents can use the web instead of a client Provide a consolidated view of reports Drives communication across the direct and indirect teams. Provides an interface into the project for indirect team members. With the project portal, users can have quick access to project artifacts. It is also another form of communication, as the portal can be configured to provide reports on the current status of the project. Project plans, requirement documents, business plans can be added through the portal, and as they are added, can be accessed through the TFS explorer at the developer level. © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

21 Key Benefits for Other Stakeholders
9/14/2018 9:27 PM Key Benefits for Other Stakeholders Numerous reports graphically represent current status of project Reporting is powerful, scalable and extensible Based on SQL Server 2005 Reporting Services Fully populated Data Warehouse and Multidimensional Cube supports detailed custom queries and pivot tables Team portal provides web based collaboration interface So we’ve seen how TS supports project managers, architects, developers and testers. What about people who are peripherally involved with the project, like business sponsors and executive stakeholders? How does TS help them? TS exposes it’s data via the reporting site that’s created for each project. At any time, any person who has been given permission can view the data that’s on the sharepoint site. And remember that this portal site is customizable per user. So a stakeholder can see exactly the date she wants at any time. This is a great way to keep people in the loop. © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

22 Reports 9/14/2018 9:27 PM © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

23 Remaining Work

24 Bugs By Priority

25 Proxy Overview Issue: Downloading files to a user’s workspace is very common and bandwidth intensive operation In a distributed development environment, team members might be in geographical locations with different bandwidth speeds Solution: TFS Proxy – Improves download experience over low bandwidth/high latency networks Solution: The Proxy can deployed at the remote Proxy works by caching files and resolving the files in their cache. If its not there, it will download it from the TFS App Tier, add it the local cache, and serve the file to the client. Any request for the file now will come from the cache. Proxy can cache multiple versions of the same file. In TFS, each version of the file is assigned a unique file ID. Client compresses the file in GZIP format, transmits it in compressed format, and stores it in the compressed format. Some files aren’t compressed, like JPG files for example.

26 Sample Proxy Deployment
Main Office Remote Office Two clients that are configured to use Proxy Server for TFS Version Control TFS Client LAN WAN TFS Data Tier TFS App Tier TFS Proxy TFS Client Cached Files One client that is not configured to use Proxy Server for TFS Version Control TFS Client One proxy server can be used against multiple TFS servers. Per Brian Harry and James Manning, a proxy could connect to as many TFS servers as you’d like. Check-out time testing. Per an conversation I had with Brian Harry, I asked the following question on the VSTSTalk DL: “I know this might not be a fair comparison, but I’ve heard from customers that are running ClearCase that checking out their projects can take aware between 45 to 60 minutes. Looking through the compete document on Clearcase v. TFS, I can see how our method of transmitting data can be more efficient, but do we happen to have any metrics on how long it would take to check out really large projects from TFS (somewhere between 10, ,000 artifacts)?” Brian’s response: Partially it depends on what you mean by checkout.  I ran some tests this morning just for kicks. I created a workspace that mapped in 55,745 files.  My test was done with a client in North Carolina using a server based in Redmond with a 10Mb/s connections.  We do have a proxy in NC, so that’s going to help but I’d expect the #s over a 100Mb/s or 1Gb/s LAN to be noticeably better. My initial get, which included downloading all of the files to my local machine, took 34 minutes Checking out all of the files (as if I were going to modify them) took 14 minutes Doing a get when the workspace was up to date took about 10 seconds TFS Client TFS Client TFS Client

27 Operations That Use Proxy
All VersionControl Operations that involve file download will go through Proxy. Get Unshelve Compare (Diff) Undo View Branch

28 Steps for Downloading a File Using Proxy
TFS App Tier TFS Client GetRequest GetResponse TFS Proxy FileDownloadRequest FileDownloadRequest Requested File Requested File UpdateLocalVersion

29 Sample Proxy Performance Results
9/14/2018 9:27 PM Sample Proxy Performance Results Scenario Difference between Proxy CacheHit and No Proxy 3500 files ( KB, KB, KB) 6X 10 10MB files 25X 1 Large File (1.9 GB file) 28X 1) Noticed 50X difference between CacheHit and CacheMiss for a scenario where 1773 small files (48.8MB) were downloaded using a 56Kbps connection between Client, Proxy to AT. We don’t recommend using such a low bandwidth connection, but downloads over such networks will work (though it will be very slow) The above results are based on the following test environment Client and Proxy deployed on the same LAN Client and Proxy connect to AT over a 3Mbps connection © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

30 © 2005 Microsoft Corporation. All rights reserved.
9/14/2018 9:27 PM © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

31 Capacity Planning Team Size TFS Config Model CPU Memory Disk Teamprise
100 Single Server Dell PowerEdge 1850 1 x 3.4Ghz 1GB 1 x 10k rpm SCSI 200 2GB 400 2 x 3.4Ghz 800 Dual Server HP Proliant DL580 G2 AT: 1 x 2.8Ghz DT: 2 x 2.7Ghz AT: 1GB DT: 4GB 12 x 15k SCSI Raid 0 2000 DT: 4 x 2.7Ghz DT: 16GB 3500 Unisys ES7000/600 AT: 2 x 2.8Ghz DT: 8 x 2.8Ghz AT: 4GB DT: 32GB XIOTech SAN (2TB, RAID 10) Many variables that affect performance, but these are the results of internal testing inside Microsoft. Based on numbers from studying how TFS is used internally during dogfooding. Request load averages about 0.1 peak requests per second per user. From, Size of disk space needed = 1.25 * (# of files/folders * avg. content size * # of workspaces * avg. # of files in workspace + # of work items * average size of work item) Source: 32 © 2006 Teamprise. All rights reserved. This presentation is for informational purposes only. Teamprise makes no warranties, express or implied, in this summary.


Download ppt "Team Foundation Server Overview"

Similar presentations


Ads by Google