dev463 microsoft visual studio 2005 team system: maximizing collaboration with team foundation...

49

Upload: marjorie-haynes

Post on 22-Dec-2015

226 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team
Page 2: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

DEV463DEV463Microsoft Visual Studio 2005 Team Microsoft Visual Studio 2005 Team System: Maximizing Collaboration System: Maximizing Collaboration with Team Foundation Serverwith Team Foundation Server

Dennis MiniumDennis MiniumProgram ManagerProgram ManagerVisual Studio Team SystemVisual Studio Team SystemMicrosoft CorporationMicrosoft Corporation

Page 3: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

TopicsTopics

Team Foundation TourTeam Foundation Tour

Technical ArchitectureTechnical Architecture

Conceptual ArchitectureConceptual Architecture

Extending Team FoundationExtending Team Foundation

Page 4: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Visual Studio Team FoundationVisual Studio Team Foundation

Change Management

Work Item Tracking

Reporting

Project Portal

Visual StudioTeam Foundation Server Integration Services

Project Management

Pro

cess

an

d A

rch

itect

ure

Pro

cess

an

d A

rch

itect

ure

G

uid

an

ceG

uid

an

ce

Dynamic Code Analyzer

Visual Studio Team Edition

Software Architects

Static Code Analyzer

Code Profiler

Unit Testing

Code Coverage

Visual Studio Professional Edition

Load Testing

Manual Testing

Test Case Management

Application Designer

System Designer

Logical Datacenter Designer

Visual Studio Team Edition

Software DevelopersVisual Studio Team Edition

Software Testers

Vis

ual S

tud

io In

du

stry

V

isu

al S

tud

io In

du

stry

Part

ners

Part

ners

Team Build

Class Designer (in Visual Studio Standard Edition and higher)

Deployment Designer

Visio for Enterprise Architects (in MSDN Premium Subscription)

Team Explorer (includes Team Foundation Server CAL)

Page 5: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Build Build AutomationAutomation

Team Foundation TourTeam Foundation Tour

Integrated Platform for Collaborating on Software Integrated Platform for Collaborating on Software Development Projects.Development Projects.

Version Version ControlControl

Work Item Work Item TrackingTracking

Project Project ManagementManagement

ReportingReporting

Page 6: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Team Foundation TourTeam Foundation Tour

Version Version ControlControl

Work Item Work Item TrackingTracking

Build Build AutomationAutomation

Project Project ManagementManagement

ReportingReporting

Page 7: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Project PortalProject Portal

Page 8: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Work Item Tracking andWork Item Tracking andOffice IntegrationOffice Integration

Page 9: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Dramatis PersonaeDramatis Personae

DarrenDarren – A – A DeveloperDeveloper

a keen mind but slightly a keen mind but slightly confusedconfused

DarrylDarryl – – A Business AnalystA Business Analyst

shrewd but well-meaningshrewd but well-meaning

DariusDarius – – A Development ManagerA Development Manager

gruff but lovablegruff but lovable

Page 10: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Team Foundation TourTeam Foundation Tour

Version Version ControlControl

Work Item Work Item TrackingTracking

Build Build AutomationAutomation

Project Project ManagementManagement

ReportingReporting

Page 11: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Source Control and Work Item Source Control and Work Item TrackingTracking

Page 12: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Team Foundation TourTeam Foundation Tour

Version Version ControlControl

Work Item Work Item TrackingTracking

Build Build AutomationAutomation

Project Project ManagementManagement

ReportingReporting

Page 13: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

TopicsTopics

Team Foundation TourTeam Foundation Tour

Technical ArchitectureTechnical Architecture

Conceptual Architecture Conceptual Architecture

Extending Team FoundationExtending Team Foundation

Page 14: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Technical ArchitectureTechnical Architecture

Win 2000 (>=SP4)Win 2000 (>=SP4)Win XP (>=SP2)Win XP (>=SP2)Win 2003 Server (>=SP1)Win 2003 Server (>=SP1)

.Net FX 2.0.Net FX 2.0Microsoft Office 11 – SP1Microsoft Office 11 – SP1MDAC 9.0MDAC 9.0Internet Explorer 6.0 – SP1Internet Explorer 6.0 – SP1Visual Studio 2005 Team ExplorerVisual Studio 2005 Team Explorer

Win 2003 ServerWin 2003 ServerASP.Net / IIS 6.0ASP.Net / IIS 6.0

Win 2003 ServerWin 2003 ServerSQL Server 2005SQL Server 2005

Win XP (>=SP2)Win XP (>=SP2)Win 2003 Server (>=SP1)Win 2003 Server (>=SP1)

.Net FX 2.0.Net FX 2.0

MDACMDAC

Win 2003 ServerWin 2003 ServerASP.Net / IIS 6.0ASP.Net / IIS 6.0

Maximally factored configurationMaximally factored configuration

Page 15: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Custom reportingCustom reportingtoolstools

MS ExcelMS Excel

Technical ArchitectureTechnical Architecture

Team Foundation Data Tier

Team Foundation App Tier

Version ControlProxy

Report Client

Team Foundation Client Tier

CoreCoreDataData

VersionVersionControlControlWork ItemsWork Items Team Build Team Build

DataData

SQLSQLReportingReportingServicesServices

WindowsWindowsSharePointSharePoint

ServicesServices

SQLSQLReportingReportingServicesServices

WindowsWindowsSharePointSharePoint

ServicesServices

Work ItemWork ItemTrackingTrackingServiceService

VersionVersionControlControlServiceService

TeamTeamBuildBuild

ServiceService

CoreCoreServicesServices

WarehouseWarehouse

AdaptersAdapters

Team Foundation App Tier

WSS WSS ProxiesProxies

SQL RS SQL RS ProxiesProxies

Team Foundation Object ModelTeam Foundation Object Model

MS ExcelMS ExcelPlug-InPlug-In

MS ProjectMS ProjectPlug-InPlug-InVisual Studio PackagesVisual Studio Packages

Internet ExplorerInternet Explorer

BuildBuildProcessProcess

VersionVersionControlControlProxyProxy

ServiceService

VSTFVSTFClients of VSTFClients of VSTFVSTF AdjunctsVSTF Adjuncts

Build Machine

Page 16: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Basic ConfigurationsBasic Configurations

Dual ServerDual ServerLarge TeamLarge Team

ClientClient

Data TierData Tier

App TierApp Tier

Requires Active DirectoryRequires Active Directory(2003 or 2000)(2003 or 2000)

BuildBuildMachineMachine

VersionVersionControlControlProxyProxy

1 machine1 machineDemo/EvaluationDemo/Evaluation

• ClientClient• BuildBuild• App TierApp Tier• Data TierData Tier

1 user 1 user 50 - 500 users 50 - 500 users

Single ServerSingle ServerSmall TeamSmall Team

Supports:Supports:• WorkgroupWorkgroup• Active DirectoryActive Directory

(2003 or 2000)(2003 or 2000)

• ClientClient• Build (opt)Build (opt)

• App TierApp Tier• Data TierData Tier• Build (opt)Build (opt)

2 - 50 users 2 - 50 users

Page 17: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Administrative FeaturesAdministrative Features

Compatibility verificationCompatibility verificationDatabases match?Databases match?

Web services match databases?Web services match databases?

Clients match Web services?Clients match Web services?

All SQL server All SQL server SQL backup/restoreSQL backup/restore

DB MirroringDB Mirroring

Failover clusteringFailover clustering

App tier standby serverApp tier standby server

Convenience utilitiesConvenience utilities

Page 18: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

TopicsTopics

Team Foundation TourTeam Foundation Tour

Technical ArchitectureTechnical Architecture

Conceptual ArchitectureConceptual Architecture

Extending Team FoundationExtending Team Foundation

Page 19: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Meta Data RepositoriesMeta Data Repositories

Work Work ItemsItemsWork Work ItemsItems TestsTestsTestsTests

SourceSourceCodeCode

SourceSourceCodeCode

BuildBuildConfigsConfigs

BuildBuildConfigsConfigs

ThirdThirdPartyPartyToolTool

ThirdThirdPartyPartyToolTool

FRAGILE

FRAGILE

Page 20: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

ProjectProjectStructureStructure

ProjectProjectStructureStructureIterationIteration

StructureStructure

IterationIterationStructureStructure

TestTestResultsResults

TestTestResultsResults

BuildBuildBuildBuildLabelLabelLabelLabelVersionedVersionedItemItem

VersionedVersionedItemItem

LatestLatestItemItem

VersionVersion

LatestLatestItemItem

VersionVersionChangesetChangesetChangesetChangesetWorkWork

ItemItem

WorkWorkItemItem

TFS “Virtual Repository”TFS “Virtual Repository”

Version ControlVersion ControlVersion ControlVersion Control Core DataCore DataCore DataCore DataWork ItemsWork ItemsWork ItemsWork Items Team Build Team Build Team Build Team Build

TFS EnablementTFS EnablementTFS EnablementTFS Enablement TFS EnablementTFS EnablementTFS EnablementTFS Enablement TFS EnablementTFS EnablementTFS EnablementTFS Enablement TFS EnablementTFS EnablementTFS EnablementTFS Enablement

**

** **

** **

** ** ** **

**

** **

**

ProjectProjectStructureStructure

ProjectProjectStructureStructure

IterationIterationStructureStructure

IterationIterationStructureStructure

WorkWorkItemItem

WorkWorkItemItem

LabelLabelLabelLabel VersionedVersionedItemItem

VersionedVersionedItemItem

LatestLatestItemItem

VersionVersion

LatestLatestItemItem

VersionVersionChangesetChangesetChangesetChangeset

BuildBuildBuildBuild TestTestResultResult

TestTestResultResult

Page 21: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

TeamTeamFoundationFoundation

ServerServer

TeamTeamFoundation Foundation CoreCoreServicesServices

How It Happens:How It Happens:Team foundation core servicesTeam foundation core services

VersionVersionControlControl

Inte

gra

tio

nIn

teg

rati

on

Inte

rfa

ce

Inte

rfa

ce

Team Foundation Object ModelTeam Foundation Object Model

Visual Visual Studio Studio IDEIDE

External toolExternal tool(Partner or MS)(Partner or MS)

WorkWorkItemsItems

Inte

gra

tio

nIn

teg

rati

on

Inte

rfa

ce

Inte

rfa

ce

TeamTeamBuild Build

Inte

gra

tio

nIn

teg

rati

on

Inte

rfa

ce

Inte

rfa

ce

Page 22: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

TeamTeamFoundationFoundation

ServerServer

TeamTeamFoundation Foundation CoreCoreServicesServices

How It Happens:How It Happens:Team foundation core servicesTeam foundation core services

LinkingLinkingServiceService

UserUserGroupsGroupsServiceService

NotificationNotificationServiceService

RegistrationRegistrationServiceService

CommonCommonStructureStructureServiceService

Team Foundation Object ModelTeam Foundation Object Model

Visual Visual Studio Studio IDEIDE

External toolExternal tool(Partner or MS)(Partner or MS)

VersionVersionControlControl

Inte

gra

tio

nIn

teg

rati

on

Inte

rfa

ce

Inte

rfa

ce

WorkWorkItemsItems

Inte

gra

tio

nIn

teg

rati

on

Inte

rfa

ce

Inte

rfa

ce

TeamTeamBuild Build

Inte

gra

tio

nIn

teg

rati

on

Inte

rfa

ce

Inte

rfa

ce

Page 23: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Work ItemWork ItemTrackingTracking

Work ItemWork ItemTrackingTracking

Reporting WarehouseReporting Warehouse0

50100150200250300350400450

0%10%20%30%40%50%60%70%80%90%

Defects OpenTest Cases RunDefects/TC

Defect Trends

Weekly Executive Summary

MyHICPortal - Microsoft Internet Explorer

http://humongous/myprojectportal/default.aspx

Home Project Counsel Discussions Documents Policy

Project Portal

Home

Modify My Page

Home

Create New Project

Documents

Create a new report

Standard Reports

Reports

Workflow

Project Schedule

Roles Manager

Project Portal web site provides role-based views of the development project. In addition to providing usefulinformation directly (such as the plan of record, defect trends, and other reports), it also serves as a launchingpoint for various other tools.

Links

Project Management Console

Defect Tracking Tool

MSWord Requirements Template

Humongous Project Guidelines

Add New Link

Projects Status

Contacts

Jacqueline Ackerman - Project Manager

Endicott Smith - VP Sales, Project Sponsor

Anna Jones - Business Analyst

Bert Lewis - Development Manager

Barbara Baker - Test Manager

Add New Link

Envisioning

Planning

FX Hander

FX Ticker

Transfer ASP

Specs Defects Issues Risks Due Date Signoff

4 / 4 1 /12 / 2 6/5/03 Yes

7/15/03 No

7/25/03 No

8/1/03 No

0

Developing 9/1/03 No

Stabilizing No

Deploying No

10/1/03

11/1/03

Recently updated Documents

Name

Vision Document

Business Requirements

MyHIC Functional Requirements

Customer Interviews

Modified By

Fiona

Betty

Paula

Betty

Type

Add New Document

PortalSearch -- select from list --I need to...

Qu

ick

La

un

ch

Project X

Standard Forms

Vision Document

Business Requirements

Feature Specifications

Status Reporting

Create a new Form

Functional Requirements

Public Reports

Status ReportsPresentations

Requirements

4 of 12 7 of 83 of 3

21 of 55

9 of 92 of 4

5 of 7

1 of 10

9 of 10

8 of 9 8 of 1017 of 20

0 of 0 0 of 00 of 06 of 7

2 of 2

3 of 3

3 of 4

1 of 9

6 of 7

3 of 3

12 of 15

8 of 8

Projects Overview

Over the past few weeks, teams have done extraordinary work getting bugs resolved, triaging hard, andconsistently getting closer and closer to meeting our milestone exit criteria. Ask mode has helped in keeping thebuilds working, and we're ready to start group checkins, after the mass integration last week (Lab21, Lab22 andLab25 RI'ed in one day!). However, this is about a week and a half behind the original schedule.

Given our active bug count and incoming rates, it's become apparent that we are not ready to start our final testpass today (6/16). Therefore, our new M2 exit path is as follows:

M2 Fork: TBD (see below) Final test pass start: 6/30 (see below) Sign off: 7/11

Team

Alias

Members

Communications

Subscription

Status reports

SQL ServerSQL ServerReportingReportingServicesServices

SQL ServerSQL ServerReportingReportingServicesServices

Source CodeSource CodeControlControl

Source CodeSource CodeControlControl

Work Item Work Item AdapterAdapter

Work Item Work Item AdapterAdapter

Source CodeSource CodeAdapterAdapter

Source CodeSource CodeAdapterAdapter

Partner ToolPartner ToolAA

Partner ToolPartner ToolAA

Add-onAdd-onAdapterAdapterAdd-onAdd-onAdapterAdapter

Reporting WarehouseReporting WarehouseObject ModelObject Model

ExcelExcelExcelExcel

CustomCustomReportingReportingCustomCustom

ReportingReporting

BuildBuildDatabaseDatabase

BuildBuildDatabaseDatabase

Test/BuildTest/BuildAdapterAdapter

Test/BuildTest/BuildAdapterAdapter

Page 24: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

TopicsTopics

Team Foundation TourTeam Foundation Tour

Technical ArchitectureTechnical Architecture

Conceptual Architecture Conceptual Architecture

Extending Team FoundationExtending Team Foundation

Page 25: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Customization vs. ExtensionCustomization vs. Extension

Customization:Customization:What?What? Tailor Team Foundation to your Tailor Team Foundation to your

environmentenvironmentWho? Who? End users, project managersEnd users, project managersWhy?Why? Adjust basic Team Foundation Adjust basic Team Foundation

capabilities to your needscapabilities to your needsHow?How? Config through UI, author XML, Config through UI, author XML, maybe maybe

some automationsome automation

Extension/IntegrationExtension/IntegrationWhat?What? Add new functionality to Team Add new functionality to Team

FoundationFoundationWho?Who? Partners, internal IT orgsPartners, internal IT orgsWhy?Why? Deeply integrate complementary Deeply integrate complementary features features into the Team Foundation platforminto the Team Foundation platformHow?How? WS development, database WS development, database development, development,

VSIP integration, etc.VSIP integration, etc.

Page 26: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Example CustomizationsExample Customizations

Process TemplateProcess TemplateModify / clone oursModify / clone ours

Build your ownBuild your own

Work Item TypesWork Item TypesModify oursModify ours

Build your ownBuild your own

Automate using Automate using WIOMWIOM

Source Code Source Code ControlControl

Select policies to Select policies to enforceenforce

ReportingReportingModify our SQL RS Modify our SQL RS reportsreports

Add your own SQL Add your own SQL RS reportsRS reports

Use a different Use a different reporting tool reporting tool (Excel, OWC, …)(Excel, OWC, …)

Project PortalProject PortalCustomize the Customize the templatetemplate

Add your own Add your own librarieslibraries

Page 27: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Example ExtensionsExample Extensions

Core servicesCore servicesAdd a new tool with new Add a new tool with new artifact types, link types, artifact types, link types, database, WS’sdatabase, WS’s

Link to other tools’ Link to other tools’ artifactsartifacts

Raise, subscribe to Raise, subscribe to eventsevents

Integrate into Team Integrate into Team ExplorerExplorer

Add pages to Project Add pages to Project Creation WizardCreation Wizard

Work Item TrackingWork Item TrackingWrite against OMWrite against OM

Respond to eventsRespond to events

Link to Work ItemsLink to Work Items

Integrate with WI PickerIntegrate with WI Picker

Source ControlSource ControlWrite against OMWrite against OM

Add new file type Add new file type support (keyword support (keyword expansion, diff/merge)expansion, diff/merge)

Participate in integrated Participate in integrated check-incheck-in

Define new policieDefine new policie

Respond to eventsRespond to events

ReportingReportingExtend warehouseExtend warehouse

PortalPortalBuild new web partsBuild new web parts

BuildBuildAdd new Build tasksAdd new Build tasks

Page 28: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Visual StudioVisual Studio

Data TierData Tier

Application TierApplication Tier

TF DataTF Data Your DataYour Data

ReportingWarehouse

Version Control ServiceVersion Control Service

Warehouse AdapterWarehouse Adapter

Changeset / Source FileChangeset / Source File

Work Item Tracking SvcWork Item Tracking Svc

Warehouse AdapterWarehouse Adapter

Work ItemWork Item

Team Build ServiceTeam Build Service

Warehouse AdapterWarehouse Adapter

BuildBuild

Your ServiceYour Service

Warehouse AdapterWarehouse Adapter

Your ArtifactsYour Artifacts

Your VSIP PackageYour VSIP Package

Your TE NodeYour TE Node

Your PCW plug inYour PCW plug in

Version Control OMVersion Control OM

Team Foundation OMTeam Foundation OM

Work Item OMWork Item OM

YourYour.NET App.NET App

ClientClient

Team Foundation ExtensibilityTeam Foundation Extensibility

Policy FrameworkPolicy Framework Eventing Service ProxyEventing Service Proxy

Registration Svc ProxyRegistration Svc Proxy

Security Service ProxySecurity Service Proxy

Classification Svc ProxyClassification Svc Proxy

Linking Service ProxyLinking Service Proxy

Eventing ServiceEventing Service Security ServiceSecurity ServiceLinking ServiceLinking Service Classification ServiceClassification ServiceRegistration ServiceRegistration Service

TF FactsTF FactsYour FactsYour Facts

TF FactsTF Facts

Common ControlsCommon Controls

Page 29: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Example Partner IntegrationExample Partner IntegrationDo you use Automated Build Studio?Do you use Automated Build Studio?

AutomatedQA’s Automated Build Studio is a powerful build and AutomatedQA’s Automated Build Studio is a powerful build and release management system. release management system.

It provides an easy way to automate and simplify the whole It provides an easy way to automate and simplify the whole cycle of build, test, delivery and deployment.cycle of build, test, delivery and deployment.

On the client, ABS is integrated with Visual Studio .Net.On the client, ABS is integrated with Visual Studio .Net.

ABS will integrate with Visual Studio 2005 Team System.ABS will integrate with Visual Studio 2005 Team System.

Page 30: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Example IntegrationExample IntegrationAutomated QA’s Automated Build System (ABS)Automated QA’s Automated Build System (ABS)

ABS integrates with:ABS integrates with:Team Foundation Version ControlTeam Foundation Version ControlTeam Foundation Work Item TrackingTeam Foundation Work Item Tracking

Mechanism for integration:Mechanism for integration:Web servicesWeb servicesCommand line scriptingCommand line scripting

AutomatedQA’s Test Complete product AutomatedQA’s Test Complete product integrates with Team Test tools, toointegrates with Team Test tools, tooVisit AutomatedQA at Visit AutomatedQA at booth 1044.booth 1044.

Page 31: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

The Extensibility Kit SampleThe Extensibility Kit Sample

Example “tool” – Example “tool” – CollectiblesCollectibles

One One collectorcollector can point to other artifacts can point to other artifacts via a via a holdsholds relationship relationship

via a via a points topoints to relationship relationship

A user can subscribe to receive e-mails A user can subscribe to receive e-mails when a when a collectorcollector changes changes

CollectorsCollectors are organized by team project are organized by team project

RegistrationRegistrationServiceService

RegistrationRegistrationServiceService

Work ItemWork ItemPickerPicker

Work ItemWork ItemPickerPicker

ClassificationClassificationServiceService

ClassificationClassificationServiceService

RegistrationRegistrationServiceService

RegistrationRegistrationServiceService

LinkingLinkingServiceService

LinkingLinkingServiceService

EventingEventingServiceService

EventingEventingServiceService

ProjectProjectPickerPicker

ProjectProjectPickerPicker

Page 32: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Visual StudioVisual Studio

Data TierData Tier

Application TierApplication Tier

TF DataTF Data Your DataYour Data

ReportingWarehouse

Version Control ServiceVersion Control Service

Warehouse AdapterWarehouse Adapter

Changeset / Source FileChangeset / Source File

Work Item Tracking SvcWork Item Tracking Svc

Warehouse AdapterWarehouse Adapter

Work ItemWork Item

Team Build ServiceTeam Build Service

Warehouse AdapterWarehouse Adapter

BuildBuild

Your ServiceYour Service

Warehouse AdapterWarehouse Adapter

Your ArtifactsYour Artifacts

Your VSIP PackageYour VSIP Package

Your TE NodeYour TE Node

Your PCW plug inYour PCW plug in YourYour.NET App.NET App

ClientClient

The Extensibility Kit SampleThe Extensibility Kit Sample

Eventing ServiceEventing Service Security ServiceSecurity ServiceLinking ServiceLinking Service Classification ServiceClassification ServiceRegistration ServiceRegistration Service

TF FactsTF FactsYour FactsYour Facts

TF FactsTF Facts

CollectiblesCollectiblesClientClient

Collectibles Collectibles Web SvcWeb Svc

Collector Collector ArtifactArtifact

CollectiblesCollectiblesDBDB

Version Control OMVersion Control OM

Team Foundation OMTeam Foundation OM

Work Item OMWork Item OM

Policy FrameworkPolicy Framework Eventing Service ProxyEventing Service Proxy

Registration Svc ProxyRegistration Svc Proxy

Security Service ProxySecurity Service Proxy

Classification Svc ProxyClassification Svc Proxy

Linking Service ProxyLinking Service Proxy

Common ControlsCommon Controls

Page 33: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

ScenarioScenarioTake OrderTake Order

A more realistic sampleA more realistic sampleWork item spawningWork item spawning TaskTask

Take Order:Take Order:Write SpecWrite Spec

TaskTaskTake Order:Take Order:

Test PlanTest Plan

TaskTaskTake Order:Take Order:

UI DesignUI Design

TaskTaskTake Order:Take Order:Dev ScheduleDev Schedule

Page 34: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Example ExtensionsExample Extensions

Core servicesCore servicesAdd a new tool with new Add a new tool with new artifact types, link types, artifact types, link types, database, WS’sdatabase, WS’s

Link to other tools’ Link to other tools’ artifactsartifacts

Raise, subscribe to Raise, subscribe to eventsevents

Integrate into Team Integrate into Team ExplorerExplorer

Add pages to Project Add pages to Project Creation WizardCreation Wizard

Work Item TrackingWork Item TrackingWrite against OMWrite against OM

Respond to eventsRespond to events

Link to Work ItemsLink to Work Items

Integrate with WI PickerIntegrate with WI Picker

Source ControlSource ControlWrite against OMWrite against OM

Add new file type Add new file type support (keyword support (keyword expansion, diff/merge)expansion, diff/merge)

Participate in integrated Participate in integrated check-incheck-in

Define new policiesDefine new policies

Respond to eventsRespond to events

ReportingReportingExtend warehouseExtend warehouse

PortalPortalBuild new web partsBuild new web parts

BuildBuildAdd new Build tasksAdd new Build tasks

Page 35: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

A more realistic sampleA more realistic sampleWork item spawningWork item spawning

ScenarioScenarioTake OrderTake Order

TaskTaskTake Order:Take Order:Write SpecWrite Spec

TaskTaskTake Order:Take Order:

Test PlanTest Plan

TaskTaskTake Order:Take Order:

UI DesignUI Design

TaskTaskTake Order:Take Order:Dev ScheduleDev Schedule

• Listen for WorkItemChanged Listen for WorkItemChanged event for new Scenario.event for new Scenario.

• Use work item object model to Use work item object model to create new Taskscreate new Tasks

• Use work item object model to Use work item object model to link new Tasks to original link new Tasks to original ScenarioScenario

• Listen for WorkItemChanged Listen for WorkItemChanged event for new Scenario.event for new Scenario.

• Use work item object model to Use work item object model to create new Taskscreate new Tasks

• Use work item object model to Use work item object model to link new Tasks to original link new Tasks to original ScenarioScenario

• Listen for WorkItemChanged Listen for WorkItemChanged event for Completed Task.event for Completed Task.

• Use work item object model to Use work item object model to update parent Scenarioupdate parent Scenario

• Listen for WorkItemChanged Listen for WorkItemChanged event for Completed Task.event for Completed Task.

• Use work item object model to Use work item object model to update parent Scenarioupdate parent Scenario

Page 36: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Async CommunicationAsync CommunicationTFS eventing serviceTFS eventing service

Web services-based pub/subWeb services-based pub/sub

Tools register event typesTools register event types

Send SOAP messages to interested Send SOAP messages to interested subscriber servicessubscriber services

Send e-mail messages to interested Send e-mail messages to interested peoplepeople

Page 37: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Registering and SubscribingRegistering and Subscribing

RegistrationRegistrationAPIAPI

RegistrationRegistrationAPIAPI

SubscriptionSubscriptionAPIAPI

SubscriptionSubscriptionAPIAPI

At setup time, a tool registers the At setup time, a tool registers the types of events it will raise.types of events it will raise.TFS Work Item Tracking raises TFS Work Item Tracking raises a WorkItemChanged Eventa WorkItemChanged Event

Another tool may subscribe to Another tool may subscribe to receive events of that type when receive events of that type when they are raised.they are raised.We’ll use a utility that is We’ll use a utility that is delivered with Team delivered with Team Foundation.Foundation.

Through UI (purpose-built or Through UI (purpose-built or general) a person can subscribe to general) a person can subscribe to receive e-mail notifications.receive e-mail notifications.Not used in this demoNot used in this demo

• subscribesubscribe• unsubscribeunsubscribe

TFSTFSWork ItemWork ItemTrackingTracking

TFSTFSWork ItemWork ItemTrackingTracking

Work ItemWork ItemSpawnSpawnDemoDemo

Work ItemWork ItemSpawnSpawnDemoDemo

EventEventTypesTypesEventEventTypesTypes

SubsSubsSubsSubs

Page 38: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Raising an EventRaising an Event

EventEventTypesTypesEventEventTypesTypes SubsSubs

TFS Event EngineTFS Event EngineTFS Event EngineTFS Event Engine

SubsSubsSubsSubs

Events matched to subscriptionsEvents matched to subscriptionsNote: Server-side sinks only in V1.Demo “WorkItemSpawn” WS Demo “WorkItemSpawn” WS invoked.invoked.

Notifications Notifications delivered through delivered through

e-maile-mail

TFS Event TFS Event ClientClient

TFS Event TFS Event ClientClient

• fireAsyncEventfireAsyncEvent • callback method callback method specified in specified in subscribe subscribe callcall

Rules Rules ProcessorProcessor

Rules Rules ProcessorProcessor

Events matched to subscriptionsEvents matched to subscriptionsTFS Work Item Tracking raises a TFS Work Item Tracking raises a WorkItemChanged EventWorkItemChanged Event

TFSTFSWork ItemWork ItemTrackingTracking

TFSTFSWork ItemWork ItemTrackingTracking Work ItemWork Item

SpawnSpawnDemoDemo

Work ItemWork ItemSpawnSpawnDemoDemo

Page 39: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Dramatis PersonaeDramatis Personae

DarrenDarren – A – A DeveloperDevelopera keen mind but slightly a keen mind but slightly

confusedconfused

DarrylDarryl – – A Business AnalystA Business Analystshrewd but well-meaningshrewd but well-meaning

DariusDarius – – A Development ManagerA Development Managergruff but lovablegruff but lovable

DenisDenis – – Process Expert / Programmer Process Expert / Programmer ExtraordinaireExtraordinaire

Page 40: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Work Item SpawningWork Item Spawning

Page 41: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Artifacts and LinksArtifacts and Links

ArtifactsArtifacts

Artifact Identifiers (URIs):Artifact Identifiers (URIs): vstfs:///<toolType>/<artifactType>/<toolSpecificID> vstfs:///<toolType>/<artifactType>/<toolSpecificID>

Example: vstfs:///WorkItemTracking/WorkItem/16723Example: vstfs:///WorkItemTracking/WorkItem/16723

The target of a link can be ignorant of any The target of a link can be ignorant of any sources that point to itsources that point to it

For intimate collaboration, tight coupling For intimate collaboration, tight coupling is supportedis supported

Each ArtifactType and (outbound) LinkType Each ArtifactType and (outbound) LinkType managed by a tool are registered to the managed by a tool are registered to the Registration serviceRegistration service

Page 42: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Linking APILinking API

You supply:You supply:Artifacts[] yourService.GetArtifactsArtifacts[] yourService.GetArtifacts

(string[] artifactUris)(string[] artifactUris)

Artifacts[] yourService.GetReferencingArtifactsArtifacts[] yourService.GetReferencingArtifacts(string[] artifactUris)(string[] artifactUris)

void ExecuteDefaultActionvoid ExecuteDefaultAction

(string artifactUri, string contextinfo)(string artifactUri, string contextinfo)

We supply:We supply:Artifacts[] ILinking.GetArtifactsArtifacts[] ILinking.GetArtifacts

(string[] artifactUris)(string[] artifactUris)

Artifacts[] ILinking.GetReferencingArtifactsArtifacts[] ILinking.GetReferencingArtifacts(string[] artifactUris)(string[] artifactUris)

Helper methods:Helper methods: EncodeUri, DecodeUri, ExtractLinks, EncodeUri, DecodeUri, ExtractLinks, GetArtifactUrl, GetArtifactUriGetArtifactUrl, GetArtifactUri

Page 43: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

(unt

yped

)

found in

checkin

1.1. Call Call GetArtifactsGetArtifacts with Uri for with Uri for WorkItem 107462WorkItem 107462

2. 2. Call Call GetArtifactsGetArtifacts with Uris with Uris for:for:

• ChangeSet 142562ChangeSet 142562• Doc “WhatHappened.Doc”Doc “WhatHappened.Doc”• Build 20031012.352Build 20031012.352

Work ItemWork Item107462107462

Work ItemWork Item107462107462

Attached DocumentAttached DocumentWhatHappened.doc?WhatHappened.doc?

Attached DocumentAttached DocumentWhatHappened.doc?WhatHappened.doc?

Build Build 20031012.35220031012.352

Build Build 20031012.35220031012.352

Change SetChange Set142562: Lollipop Fix142562: Lollipop Fix

Change SetChange Set142562: Lollipop Fix142562: Lollipop Fix

Work ItemWork Item170472170472

<artifactData><artifactData><links><links>

Work ItemWork Item170472170472

<artifactData><artifactData><links><links>

Test PassTest Pass20031014.805420031014.8054

<artifactData><artifactData><links><links>

Test PassTest Pass20031014.805420031014.8054

<artifactData><artifactData><links><links>

3.3. Call Call GetReferencingArtifactsGetReferencingArtifacts with Uri for with Uri for WorkItem 107462WorkItem 107462

Work ItemWork Item107462107462

<artifactData><artifactData>

Work ItemWork Item107462107462

<artifactData><artifactData>

ChangesetChangeset142562: Lollipop Fix142562: Lollipop Fix

<artifactData><artifactData><links><links>

ChangesetChangeset142562: Lollipop Fix142562: Lollipop Fix

<artifactData><artifactData><links><links>

Build Build 20031012.35220031012.352

<artifactData><artifactData><links><links>

Build Build 20031012.35220031012.352

<artifactData><artifactData><links><links>

Attached DocumentAttached DocumentWhatHappened.doc?WhatHappened.doc?

<artifactData><artifactData><links><links>

Attached DocumentAttached DocumentWhatHappened.doc?WhatHappened.doc?

<artifactData><artifactData><links><links>

related to

tested by

Page 44: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

(unt

yped

)

found in

checkin

1.1. Call Call GetArtifactsGetArtifacts with Uri for with Uri for WorkItem 107462WorkItem 107462

2. 2. Call Call GetArtifactsGetArtifacts with Uris with Uris for:for:

• ChangeSet 142562ChangeSet 142562• Doc “WhatHappened.Doc”Doc “WhatHappened.Doc”• Build 20031012.352Build 20031012.352

Work ItemWork Item107462107462

Work ItemWork Item107462107462

Attached DocumentAttached DocumentWhatHappened.doc?WhatHappened.doc?

Attached DocumentAttached DocumentWhatHappened.doc?WhatHappened.doc?

Build Build 20031012.35220031012.352

Build Build 20031012.35220031012.352

Change SetChange Set142562: Lollipop Fix142562: Lollipop Fix

Change SetChange Set142562: Lollipop Fix142562: Lollipop Fix

Work ItemWork Item170472170472

<artifactData><artifactData><links><links>

Work ItemWork Item170472170472

<artifactData><artifactData><links><links>

Test PassTest Pass20031014.805420031014.8054

<artifactData><artifactData><links><links>

Test PassTest Pass20031014.805420031014.8054

<artifactData><artifactData><links><links>

3.3. Call Call GetReferencingArtifactsGetReferencingArtifacts with Uri for with Uri for WorkItem 107462WorkItem 107462

Work ItemWork Item107462107462

<artifactData><artifactData>

Work ItemWork Item107462107462

<artifactData><artifactData>

ChangesetChangeset142562: Lollipop Fix142562: Lollipop Fix

<artifactData><artifactData><links><links>

ChangesetChangeset142562: Lollipop Fix142562: Lollipop Fix

<artifactData><artifactData><links><links>

Build Build 20031012.35220031012.352

<artifactData><artifactData><links><links>

Build Build 20031012.35220031012.352

<artifactData><artifactData><links><links>

Attached DocumentAttached DocumentWhatHappened.doc?WhatHappened.doc?

<artifactData><artifactData><links><links>

Attached DocumentAttached DocumentWhatHappened.doc?WhatHappened.doc?

<artifactData><artifactData><links><links>

related to

tested by

found in

checkin

Relationship Item type Item Modified By

Work Item 107462 is involved in these relationships:

checkin changeset 142562: Lollipop fix 10/15/2003 6:42pm dev1

tested by test pass 20031014.8054 10/14/2003 2:15am qa1

related to Work Item 170472 10/5/2003 3:13pm gematthew

found in build 20031012.352 10/12/2003 9:52pm qa1

involves attachment WhatHappened.doc 10/13/2003 10:00am pm1

Page 45: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Permissions in TFSPermissions in TFS

Group ServicesGroup ServicesLightweight user groups / roles for security Lightweight user groups / roles for security and policyand policy

Default groups for common rolesDefault groups for common roles

Group resolution includes AD groups, local Group resolution includes AD groups, local SAM groups and TFS groupsSAM groups and TFS groups

TFS-Enabled tools include these user groups TFS-Enabled tools include these user groups when they perform authorizationwhen they perform authorization

Authorization servicesAuthorization servicesTool-specific object classes and permissionsTool-specific object classes and permissions

Register objects, ACEs at run timeRegister objects, ACEs at run time

Inheritable permissionsInheritable permissions

Page 46: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

SummarySummary

Rich feature setRich feature setWork item trackingWork item tracking

Version controlVersion control

Team buildTeam build

Warehouse and reportingWarehouse and reporting

Extensibility and integration from the Extensibility and integration from the ground upground up

Object modelsObject models

Web servicesWeb services

Core integration servicesCore integration services

You can use what we useYou can use what we use

Page 47: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

ResourcesResources

Team System Extensibility Kit: http://www.vsipdev.com/downloads/

General Team System Info: http://msdn.microsoft.com/teamsystem

More into on AutomatedQA’s products:http://www.automatedqa.com/

Page 48: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

Your FeedbackYour Feedbackis Important!is Important!Please Fill Out a Survey forPlease Fill Out a Survey forThis Session on CommNetThis Session on CommNet

Page 49: DEV463 Microsoft Visual Studio 2005 Team System: Maximizing Collaboration with Team Foundation Server Dennis Minium Program Manager Visual Studio Team

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.