Team Foundation Server Overview Randy Pagels Developer Technology Specialist Developer Platform & Evangelism | Heartland District Microsoft Corporation | Detroit, MI Streamline the Process OVERVIEW OF PRODUCT What is Team Foundation Server? Development Roles and Responsibilities Requirements Management • QoS Management • Requirements Analysis Portfolio Management • Project Organization • Stakeholder Communication Customer Support • Infrastructure Arch • Infrastructure Deploy Test Cast Management • Manual • Load • Automated BA Architecture Design • Analysis & Design • Design for Deployment Project Planning • Task Assignment • Bug Tracking CIO PM Dev Arch UI Layout • Design • Prototyping • Flow Modeling Programming • Code Analysis • Unit Testing • Version Control Test Oper Design DBA Database Design • Source Control • Test Data Generation • Schema Management Process Focused Version Control Process Templates Work Item Tracking Integrated SharePoint Check-in Build Automation Manage work Customizable Check-in Reporting Bugs, Tasks, Policies Shelving Continuous Requirements, Integration Stories, Risks, Scheduled etc. Very Extensible Ad Hoc Shelveset Decision Support Track Project Progress Dashboards Team Foundation Server Team Foundation Server Componets Team Foundation Server Focus Areas Plan and Manage Your Project Work Item Tracking Process Guidance & Automation Understand Parallel Development Version Control Branch Visualization Build Management No More “No Repro” Bugs Test Case Management IntelliTrace Microsoft Test Manager (MTM) Report on Your Portfolio Dashboards Reports Lab Management TFS Version Control Fundamentals Changesets Check-in policies Workspaces Shelving Identifying Code Changes Branching & Merging Pillar #1 - Manage Your Code VERSION CONTROL Changesets Logical container of data related to check-in • • • • • • • File and branch information Links to work items Check-in notes Comments Policy compliance Metadata (date, time, user) Unit of atomic checkin Uniquely identified • Numeric identifier • Incremental Represents a point in time of source repository Check-in Policies • Soft requirements for check-in • Extensible • Can be overridden • …but tracked Work Item Association Testing Clean Build Comments Code Analysis Shelving − Set aside pending changes without checkin − Optionally revert to unmodified files − Restore shelved changes by “unshelving” − Unshelve other user’s changes − Power of task branching with less overhead Task switching Peer reviews Backup WIP Sharing WIP Identifying Code Changes Compare/Diff Files (instance or different) Trees (folder structures) Custom Diff Tools Per workstation Per file type Annotate Intra-file historical comparison Branches Integration with other TFS Components • Create various build scenarios • Build reports show associated changeset • Gated check-in • Automatically reports velocity, code churn • Easily associate code to work items • Provides traceability Build Work Item Tracking Portal & Reporting Process Guidance & Automation • Influences version control structure Pillar #2 - Work Manage Your Work Plan Your WORK ITEM TRACKING Work Item Tracking Track any “Item of Record” • Bug, task, user story, requirement, scenario, change request, issue, etc. Customizable • Dialog, fields, workflow, states, transitions, etc. Accessible • Visual Studio, MS Excel, MS Project, Team Web Access Related • Link to work items, version control, test results, etc. Pillar #3 – Automating your builds Health of the Project and Heartbeat of the Team BUILD MANAGEMENT & AUTOMATION Build Automation Extension of MS Build Several scenarios supported Provides build reporting back to TFS Integrated testing • Integrated Windows Workflow • • • • Continuous Integration Scheduled Gated / Shelveset Ad-hoc • Pass / Fail • Trend data • Any automated test Gated Check-in • • • • • Intercepts check-ins Queues a server build to validate changes Only changes that build successfully get committed Definition of a “success” is customizable Users can also queue a build of a shelveset for “opt-in” validation Edit Code Check in Build and Test Fix available? Yes Find root cause Did build succeed? No Yes No Team blocked Edit code Gated check-in Automate d build Ready for test Commit Changes Did build succeed? Yes No Streamline the Process ARCHITECTURE TFS Architecture Team Foundation Server (Farm) Data Tiers Load Balancer TFS Application Configuration DB Application Tiers Collection 1 Team Project X TFS Application Collection 2 Team Project Y TFS Application Application Tiers SharePoint Server Report Server Build Servers Team Project Collections • Team Project Collections • • • • Server Consolidation • • • • Tightly coupled group of related software assets Acts as a container providing the needed isolation The movable and administrable unit Upgrade in Place Detach the Team Project Collection Attach the Team Project Collection Manage Complexity / Achieve Agility • • • • • Scale out Application Tier resources Scale out Data Tier Resources Team Project Encapsulation Project Mobility Lower cost of Administration High Availability Deployment Primary Site Build Servers Secondary Site Application Tier Application Tier Warm Standby Data Tier SQL Cluster Mirroring SAN Warm Standby Data Tier SQL Cluster SAN Build Servers Streamline the Process DEPLOYMENT OPTIONS Team Foundation Service Terms of the TFS Preview • We provide the service, you provide the feedback • You can “go live” • Support via the MSDN forums • Data is upgraded automatically • Best effort uptime – we are learning Server vs. Service Work Items, Source Control, & Build Agile Product/Project Management Test Case Management Heterogeneous Development Near-zero setup and administration Collaborate with anyone, from anywhere Virtual Test Lab Management SharePoint Integration Data Warehouse & Reporting Server Service Streamline the Process SECURITY CAPABILITIES Security and Permissions • • • Active Directory support Fine-grained permission sets Set permissions on • Team Project Collections • Team Projects • Build Definitions • Version Control • Areas and Iterations • Folder level • File level • Branch Level • …etc. Secure Extranet Deployment TFS Data Tier Internet Internal Network Run As Internal Domain User DMZ TFS App Tier Internal Clients ISAPI Filter for Basic Auth External Client TFS requires specific trust relationships between the computers that host its logical tiers. External User Accounts Extranet Domain Trust Internal User Accounts Internal Domain Streamline the Process SUPPORTED PLATFORMS TFS Architecture Business User Tester Dev Team (Local) Dev Team (Remote) Build Servers Win 2008/2012 Server IIS 7.0 DT AT Version Control Proxy (Remote) Active Directory SQL Server 2008/2012 Team Foundation Server HTTP / S TCP/IP Streamline the Process INTEGRATION CAPABILITIES For Non-.NET Development Visual Studio Team Everywhere enables enterprise companies to standardize on Application Lifecycle Management that covers the needs of both .NET and Java development teams. Eclipse plug-in for TFS ~ Rich client (Java-based) ~ Command-Line Integration with Project Server • Provides bi-directional data synchronization between TFS and PS by linking tasks and work items • Supported, Localized and Documented Integration with HP Quality Center Bug History & Updates Quality Center QC<->TFS Sync Tool TFS Bug History & Updates Testers • Developers work in TFS • Testers work in Quality Center • They collaborate via bug reports (defects) Developers Visual SourceSafe Upgrade Wizard • • • • New with Team Foundation Server 2012 Tool built into the TFS 2012 Administration Console Wizard-based tool to walk through the upgrade process One-time, one-way upgrade of VSS codebase to TFS • Upgrade your code projects, files, version history, labels, and user information from Visual SourceSafe to Team Foundation Server (TFS) Resources • VSS Upgrade Wizard • • Understand How VSS Upgrade Tools Convert Your Data • • http://msdn.microsoft.com/en-us/library/vstudio/jj612883.aspx http://msdn.microsoft.com/en-us/library/vstudio/ms253166.aspx Prepare to Upgrade from Visual SourceSafe • http://msdn.microsoft.com/en-us/library/vstudio/ms253127.aspx Conversion Streamline the Process INTEGRATION WITH SCOM (SYSTEM CENTER OPERATIONS MANAGER) Demo Project Visibility Streamline the Process REPORTING CAPABILITIES Reporting Structure Configuration DB Collection 1 Team Project X Team Project Y Collection 2 Team Project X Team Project Y Collection 3 Team Project X Team Project Y Data Warehouse Relational Warehouse Analysis Services Cube Visualizing the Cube Task Test Case Bug Active Resolved Closed Ready Work Items User Story State Streamline the Process EXCEL REPORTS Simplified Reporting • Reports using SQL Server Reporting Services • Detailed and thorough • Workbook queries with Microsoft Office Excel • Fast and flexible Excel Reporting • Included Excel Reports – Project Management – Bug Backlog Management – Build Management – Test Management • Excel Report Generation Excel Reports - Project Management • Burndown • Task Progress • User Story Progress • Issue Trends Excel Reports – Bug Backlog Management Bug Progress Bug Trends Bugs by Priority Bugs by Assignment • Bug Reactivations • • • • Excel Reports – Build Management • Code Coverage • Code Churn • Build Status Excel Reports – Test Management • • • • • Test Plan Progress Test Case Readiness User Story Test Status Test Activity Failure Analysis Excel Report Generation • Create directly from Work Item query • Generates – Table of contents – PivotTable & PivotChart reports • Report options – Current reports – Trend reports Excel Report Generation • Current – Work Item Count • Work item Type • Assigned To • State • Trend – Work Item Count • Work Item Type • Assigned To • State Streamline the Process SQL SERVER REPORTING SERVICES TFS Reporting Experience SQL REPORTING SERVICES REPORTS Reports Available Based on Process Template Agile & CMMI • Bugs • Bug Status • Bug Trends • Reactivations • Builds • Build Quality Indicators • Build Success Over Time • Build Summary • Project Management • Burndown and Burn Rate • Remaining Work • Status on All Iterations • Unplanned Work • Tests • Test Case Readiness • Test Plan Progress Agile • Project Management • Stories Overview • Stories Progress CMMI • Project Management • Requirements Progress • Requirements Overview Scrum • Release Burndown • Sprint Burndown • Velocity Bug Status Report • • • • Is the team fixing bugs quickly enough to finish on time? Is the team fixing high priority bugs first? What is the distribution of bugs by priority and severity? How many bugs are assigned to each team member? Bug Trends Report • • • How many bugs is the team reporting, resolving, and closing per day? What is the overall trend at which the team is processing bugs? Are bug activation and resolution rates declining toward the end of the iteration as expected? Reactivations Report • • • How many bugs are being reactivated? How many user stories are being reactivated? Is the team resolving and closing reactivated bugs at an acceptable rate? Build Quality Indicators Report • • • What is the quality of the software? How often are tests passing, and how much of the code is being tested? Based on the code and test metrics, is the team likely to meet target goals? Build Success Over Time Report • • • What parts of the project have produced software that is ready to be tested? What parts of the project are having trouble with regressions or bad checkins? How well is the team testing the code? Build Summary Report • • • • • What is the status of all builds over time? Which builds succeeded? Which builds have a significant number of changes to the code? How much of the code was executed by the tests? Which builds are ready to install? Burndown and Burn Rate Report • • • Is the team likely to finish the iteration on time? Will the team complete the required work, based on the current burn rate? How much work does each team member have? Remaining Work Report • • • • • What is the cumulative flow of work? Is the team likely to finish the iteration on time? Is the amount of work or number of work items in the iteration growing? Does the team have too much work in progress? How is the team doing in estimating work for the iteration? of Items Work # Hours of Work Status on All Iterations Report • • • • Is steady progress being made across all iterations? How many stories did the team complete for each iteration? How many hours did the team work for each iteration? For each iteration, how many bugs did the team find, resolve, or close? Stories Overview Report (Agile) • • • • How much work does each story require? How much work has the team completed for each story? Are the tests for each story passing? How many active bugs does each story have? Stories Progress Report (Agile) • • • How much progress has the team made toward completing the work for each story? How much work must the team still perform to implement each user story? How much work did the team perform in the last calendar period? Requirements Progress Report (CMMI) • • • How much progress has the team made toward completing the work for each requirement? How much work must the team still perform to implement each requirement? How much work did the team perform in the last calendar period? Requirements Overview Report (CMMI) • • • • How much work does each Requirement require? How much work has the team completed for each Requirement? Are the tests for each Requirement passing? How many active bugs does each Requirement have? Release Burndown (Scrum) • • How much work remains in the release? How quickly is your team working through the product backlog? Sprint Burndown (Scrum) • • • • How much work remains in the sprint? Is your team on track to finish all work for the sprint? When will your team finish all work for the sprint? How much work for the sprint is in progress? Unplanned Work Report • • How much work was added after the iteration started? Is too much work being added during the iteration? Test Case Readiness Report • • • • When will all the test cases be ready to run? Will all the test cases be ready to run by the end of the iteration? How many test cases must the team still write and review? How many test cases are ready to be run? Test Plan Progress Report • • • • • • How much testing has the team completed? Is the team likely to finish the testing on time? How many tests are left to be run? How many tests are passing? How many tests are failing? How many tests are blocked? Streamline the Process DASHBOARDS Dashboards • Quickly find important information about team projects • Show project data, support investigation, & help teams perform common tasks more quickly. • Leverage SharePoint products through Web Parts – Excel Web Access – Team Web Access Dashboards • • • • • • • My Dashboard Project Dashboard Progress Dashboard Quality Dashboard Test Dashboard Bugs Dashboard Build Dashboard My Dashboard • What is the next set of Tasks, Bugs, or Test Cases that I should act on? • What is the status of the team's most recent builds? Project Dashboard • Is the team likely to finish the iteration on time? • Will the team complete the planned work based on the current burn rate? • What were the most recent check-ins? Burn Rate Work Item Breakdown Burndown Progress Dashboard • • • • • Is the team likely to finish the iteration on time? Will the team complete the planned work based on the current burndown? How much progress has the team made on implementing user stories in the past four weeks? How quickly is the team identifying and closing Issues? What were the most recent check-ins? Quality Dashboard • • • • • • Is the test effort on track? Is the team testing the appropriate functionality? Are the team's bug fixes of high quality? Are tests stale? Does the team have sufficient tests? Are any bottlenecks occurring? Test Dashboard • • • • • • Is the authoring of Test Cases on track? Has the team defined Test Cases for all User Stories? What are the proportions of Test Cases that are passing, failing, and blocked? Do test failure metrics indicate a problem that requires further investigation? What is the status of last night's build? What are the most recent check-ins? Bugs Dashboard • • • • • How quickly is the team resolving and closing bugs? Is the team fixing bugs quickly enough to finish on time? How many bugs is the team reporting, resolving, and closing per day? Is the team resolving priority 1 bugs before priority 2 and 3 bugs? Does any team member have a backlog of priority 1 bugs that warrant redistribution? Build Dashboard • • • • • • How volatile is the code base? How much of the code is the team testing? How high is the quality of the builds? Is the quality increasing, decreasing, or staying constant? Which builds succeeded? Which builds have a significant number of changes to the code? Streamline the Process MICROSOFT TFS USAGE Microsoft TFS Environment Servicing organizations such as MSIT, DevDiv, Windows, SQL, AdCenter, MSN/Windows Live, Bing Mobile, Windows Azure, MEDPG, and HED Northern Ireland Redmond Scotland Fargo France Hawaii North Carolina Visual Source Safe migration Internal Usage Instances Team Project Collections Team Projects Active Unique Users Work Items Source Code Files Shanghai as of June 2012 52 313 10,101 42,687 15,502,244 191,608,280 Builds Per Month 3,023,416 Test Cases 3,023,416 Availability 99.83% uptime 6 proxy servers configured serving a load of 100,000,000+ requests per week. 700 GB SAN ea. Hyderabad Hardware-64-Bit Server 2008 R2 App Tier: 8-way, 2x HP ProLiant with 16GB of RAM running on 64-Bit Windows Server 2008 R2 Data Tier-Single Instance: 24-way, 2x HP with 128GB of RAM Failover cluster configuration 400 dedicated spindles equaling 60 TB Summary • Use familiar tools for planning & tracking project status – – – – Project Project Server Excel Web – – – – Visual Studio Excel Reporting website SharePoint • Reporting available to everyone • Comprehensive, powerful, flexible reporting mechanisms System Requirements Team Foundation Client Tier Windows 7 SP1 (x86 and x64) Windows 8 (x86 and x64) Windows Server 2008 R2 SP1 (x64) Windows Server 2012 (x64) Team Foundation Application Tier 64-bit version of Windows Server 2008 SP2 64-bit version of Windows Server 2008 R2 SP1 64-bit version of Windows Server 2012 64-bit or 32-bit versions of Windows 7 with SP1 64-bit or 32-bit versions of Windows 8 Version Control Proxy Build Machine 32-bit versions of Windows Server 2003 SP2 Windows Server 2003 R2 Windows Server 2003 R2 SP2 64-bit version of Windows Server 2008 Windows Server 2008 R2 64-bit version of Windows Server 2012 Windows Server 2008 with SP2 Windows Server 2008 R2 Team Foundation Data Tier SQL Server SQL Server SQL Server SQL Server 2008, R2 Express or Standard 2008, R2 Enterprise Edition with SP 1 CU1 2012, Express or Standard 2012, Enterprise Edition HTTP/HTTPS .NET remoting
© Copyright 2024