Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce http:// ihaveidee.blogspot.com
Microsoft Australia Security Summit
Team Foundation OverviewTeam Foundation Overview
David LemphersTeamForcehttp://ihaveidee.blogspot.com
David LemphersTeamForcehttp://ihaveidee.blogspot.com
Microsoft Australia Security Summit
ObjectivesObjectives
Discuss Software Configuration Management (SCM)
Learn about the SCM features in Team System
Understand the architecture of Team Foundation
Learn about the options for extensibility
Discuss Software Configuration Management (SCM)
Learn about the SCM features in Team System
Understand the architecture of Team Foundation
Learn about the options for extensibility
Microsoft Australia Security Summit
AgendaAgenda
Software Configuration Management
Team Foundation Capabilities
Team Foundation Architecture
Software Configuration Management
Team Foundation Capabilities
Team Foundation Architecture
Microsoft Australia Security Summit
What is SCM?What is SCM?The set of strategies employed for managing the integrity and evolution of a base of source code.
The set of strategies employed for managing the integrity and evolution of a base of source code.
Encompassing:
Source Code Control
Work Item Tracking
Build Management
Release Management
Microsoft Australia Security Summit
SCM MarketSCM Market
$880M Industry in 2001
Forecast: $1.54B Industry in 2006
Market dominated by tools providing workflow management
IBM/Rational, MERANT, SERENA, and CA dominate the market today
$880M Industry in 2001
Forecast: $1.54B Industry in 2006
Market dominated by tools providing workflow management
IBM/Rational, MERANT, SERENA, and CA dominate the market today
Microsoft Australia Security Summit
ManagementManagementQuestionsQuestions
ListsLists(Bugs, Requirements, etc)(Bugs, Requirements, etc)
Source CodeSource CodeAssetsAssets
TeamTeamCommunicationCommunication
ProcessProcessGuidanceGuidance
ReleasesReleases
Microsoft Australia Security Summit
Developer Needs?Developer Needs?
Standard version control
Historical traces from code to work itemWhat was the requirement?
What bug was being fixed?
Parallel development
Tools for interruptible workflow
Remote version control
Standard version control
Historical traces from code to work itemWhat was the requirement?
What bug was being fixed?
Parallel development
Tools for interruptible workflow
Remote version control
Microsoft Australia Security Summit
Tester Needs?Tester Needs?
Version control for test artifacts
Notification of available bug fixes
Release notes for individual builds
Version control for test artifacts
Notification of available bug fixes
Release notes for individual builds
Microsoft Australia Security Summit
Project Lead Needs?Project Lead Needs?
Reports on code churn
Status updates derived from check-ins
Rapid start-up for new team members
Change Management assistanceSimple change migration between branches
Identify fixes needing migration
Easily back-out a fix
Reports on code churn
Status updates derived from check-ins
Rapid start-up for new team members
Change Management assistanceSimple change migration between branches
Identify fixes needing migration
Easily back-out a fix
Microsoft Australia Security Summit
Visual Studio Team SystemVisual Studio Team SystemPro
cess
an
d A
rch
itect
ure
Pro
cess
an
d A
rch
itect
ure
G
uid
an
ceG
uid
an
ce
Vis
ual S
tud
io In
du
stry
V
isu
al S
tud
io In
du
stry
Part
ners
Part
ners
Change Management
Work Item Tracking
Reporting
Project Site
Visual Studio
Team Foundation
Integration Services
Project Management
Dynamic Code Analyzer
Visual Studio
Team Architect
Static Code Analyzer
Code Profiler
Unit Testing
Code Coverage
Visio and UML Modeling
Team Foundation Client
VS Pro
Class Modeling
Load Testing
Manual Testing
Test Case Management
Application Modeling
Logical Infra. Modeling
Deployment Modeling
Visual Studio
Team DeveloperVisual Studio
Team Test
Change Management
Work Item Tracking
Reporting
Microsoft Australia Security Summit
AgendaAgenda
Software Configuration Management
Team Foundation Capabilities
Team Foundation Architecture
Software Configuration Management
Team Foundation Capabilities
Team Foundation Architecture
Microsoft Australia Security Summit
Visual Studio Team FoundationVisual Studio Team Foundation
Integrated Platform for Collaborating on Software Integrated Platform for Collaborating on Software Development Projects.Development Projects.
Source Code Source Code ControlControl
Work Item Work Item TrackingTracking
Build Build AutomationAutomation
Team Team CommunicationsCommunications
ReportingReporting
Microsoft Australia Security Summit
Guiding PrinciplesGuiding Principles
ProductiveProductive
IntegratedIntegrated
ExtensibleExtensible
CapableCapable
Short learning curveShort learning curveMinimal administrative overheadMinimal administrative overhead
Tools integrated tightlyTools integrated tightlyAutomates common tasksAutomates common tasks
Customizable for your processCustomizable for your processIntegrates with 3Integrates with 3rdrd party tools party toolsRemotely accessibleRemotely accessibleRobust, secure, scalableRobust, secure, scalable
Microsoft Australia Security Summit
What is VS Team Foundation?What is VS Team Foundation?
Source Code Source Code ControlControl
Work Item Work Item TrackingTracking
Build Build AutomationAutomation
Team Team CommunicationsCommunications
ReportingReporting
Microsoft Australia Security Summit
Work Item TrackingConceptsWork Item TrackingConcepts
Work ItemBug, task, requirement, etc
ArtefactsWork Items
Source files
Changesets
Builds
LinkingWork items can be linked to other artefacts
Work ItemBug, task, requirement, etc
ArtefactsWork Items
Source files
Changesets
Builds
LinkingWork items can be linked to other artefacts
Microsoft Australia Security Summit
Tracking ChangesTracking Changes
Changes need to be accounted forWhy was the change made?
Who authorized the change?
Work needs traceability to sourceWhat change fixed this bug?
Source comments aren’t always enough
Changes need to be accounted forWhy was the change made?
Who authorized the change?
Work needs traceability to sourceWhat change fixed this bug?
Source comments aren’t always enough
How do we account for the source How do we account for the source changes being introduced to the system?changes being introduced to the system?
Microsoft Australia Security Summit
Work Item TrackingWork Item Tracking
Not just bugs, work items!Bugs, tasks, requirements, DCRs, …
The foundation for software process
Integrates with the tools you already use
Linking to other SCM artefactsKey to facilitating communication
…and an integrated SCM strategy
Not just bugs, work items!Bugs, tasks, requirements, DCRs, …
The foundation for software process
Integrates with the tools you already use
Linking to other SCM artefactsKey to facilitating communication
…and an integrated SCM strategy
Microsoft Australia Security Summit
Work Item TrackingCustom Work Item TypesWork Item TrackingCustom Work Item Types
Every organization works differentlyYou must be able to customize
Each type consist of:Fields, form, rules, states
Build on standard methodologiesVisual Studio ships with MSF
Every organization works differentlyYou must be able to customize
Each type consist of:Fields, form, rules, states
Build on standard methodologiesVisual Studio ships with MSF
Microsoft Australia Security Summit
Visual Studio Work Item ViewVisual Studio Work Item View
Work Item Work Item FormForm
Customized per work item
type
Team Team ProjectProject
ExplorerExplorerShared project
context links multiple VS solutions
Work ItemWork ItemAccessAccess
Valid work item types defined per
portfolio project
Microsoft Australia Security Summit
Visual Studio Query ViewVisual Studio Query View
Query Query BuilderBuilderFlexibly define
queries, query across
multiple types
Results Results ListList
Sort by Columns
Microsoft Australia Security Summit
Work Item Tracking
Microsoft Australia Security Summit
What is VS Team Foundation?What is VS Team Foundation?
Source Code Source Code ControlControl
Work Item Work Item TrackingTracking
Build Build AutomationAutomation
Team Team CommunicationsCommunications
ReportingReporting
Microsoft Australia Security Summit
Visual SourceSafeVisual SourceSafe
Considered industry’s easiest to use version control tool
Often first SCM tool encountered by developers
Not considered a full featured SCM tool
Not appropriate for large scale software development
Considered industry’s easiest to use version control tool
Often first SCM tool encountered by developers
Not considered a full featured SCM tool
Not appropriate for large scale software development
Microsoft Australia Security Summit
Team Foundation Source Code ControlTeam Foundation Source Code Control
3-tier, web service architecture
Built on SQL Server for robust, transaction-based version control
Integration with other VSTS tools for automated workflow management
Implementation of advanced SCM concepts
Migrate fromVSS, ClearCase, Source Depot
3-tier, web service architecture
Built on SQL Server for robust, transaction-based version control
Integration with other VSTS tools for automated workflow management
Implementation of advanced SCM concepts
Migrate fromVSS, ClearCase, Source Depot
Microsoft Australia Security Summit
SourceSafe vs Team FoundationSourceSafe vs Team Foundation
Visual SourceSafe 2005 Visual Studio 2005 Team Foundation
Description Version Control Integrated Software LifeCycle Suite
Team Size Individuals and Small Teams
Scalable
Storage File System SQL Server 2005
Security Application specific Windows Integrated
Remote Access New Web Service for VS Integration
Optimized Web Service
Microsoft Australia Security Summit
Source Code ControlFeaturesSource Code ControlFeatures
Complete version control feature setEverything from VSS plus….
Innovative new SCC featuresIntegrated checkin
Parallel development
Atomic checkins
Remote development
Strong integration with other VS Team System tools
Complete version control feature setEverything from VSS plus….
Innovative new SCC featuresIntegrated checkin
Parallel development
Atomic checkins
Remote development
Strong integration with other VS Team System tools
Microsoft Australia Security Summit
Source Code ControlIntegrated Checkin ExperienceSource Code ControlIntegrated Checkin Experience
Combines changes, comments, work items, policy, e-mail
Captures valuable data relationships
Customizable for your process
Combines changes, comments, work items, policy, e-mail
Captures valuable data relationships
Customizable for your process
Microsoft Australia Security Summit
Associate Work ItemsAssociate Work Items
User Simply checks associated work User Simply checks associated work itemsitemsUser Simply checks associated work User Simply checks associated work itemsitems
Microsoft Australia Security Summit
Checkin Notes and NotificationCheckin Notes and Notification
•Entered at Checkin TimeEntered at Checkin Time•Defined per Portfolio Defined per Portfolio ProjectProject•Included in Checkin E-Included in Checkin E-mailmail•Used in Build Used in Build documentation as welldocumentation as well
•Entered at Checkin TimeEntered at Checkin Time•Defined per Portfolio Defined per Portfolio ProjectProject•Included in Checkin E-Included in Checkin E-mailmail•Used in Build Used in Build documentation as welldocumentation as well
Microsoft Australia Security Summit
Validate Policy DetailValidate Policy Detail
SCC Policy EngineSCC Policy EngineSCC Policy EngineSCC Policy Engine
Unit
Test
ing
U
nit
Test
ing
U
nit
Test
ing
U
nit
Test
ing
WI A
ssoci
ati
on
WI A
ssoci
ati
on
WI A
ssoci
ati
on
WI A
ssoci
ati
on
Sta
tic
An
aly
sis
Sta
tic
An
aly
sis
Sta
tic
An
aly
sis
Sta
tic
An
aly
sis
Rele
ase
Note
sR
ele
ase
Note
sR
ele
ase
Note
sR
ele
ase
Note
s
Cust
om
Polic
yC
ust
om
Polic
yC
ust
om
Polic
yC
ust
om
Polic
yPolicy Policy DefinitionsDefinitions•.NET Assemblies.NET Assemblies•Return Pass or Return Pass or Fail and messageFail and message•Customer Customer ExtensibleExtensible•User Over-ridableUser Over-ridable
Microsoft Australia Security Summit
Source Code ControlParallel DevelopmentSource Code ControlParallel Development
Multiple ReleasesBranching
Merging
Multiple Checkouts
ShelvingInterrupted workflow
Transfer changes without checkin
Checkpoint or share work in progress
Multiple ReleasesBranching
Merging
Multiple Checkouts
ShelvingInterrupted workflow
Transfer changes without checkin
Checkpoint or share work in progress
Microsoft Australia Security Summit
Source Code ControlRemote DevelopmentSource Code ControlRemote Development
Remote development is a realityDistributed teams, at-home, offshore
A system built for the InternetWeb service protocols
Browser-based clients
Compatible with proxies and firewalls
Optimized for high-latency networks
Remote development is a realityDistributed teams, at-home, offshore
A system built for the InternetWeb service protocols
Browser-based clients
Compatible with proxies and firewalls
Optimized for high-latency networks
Microsoft Australia Security Summit
Exploring Team Foundation Source Control
Microsoft Australia Security Summit
What is VS Team Foundation?What is VS Team Foundation?
Source Code Source Code ControlControl
Work Item Work Item TrackingTracking
Build Build AutomationAutomation
Team Team CommunicationsCommunications
ReportingReporting
Microsoft Australia Security Summit
Build AutomationOut-of-the-box daily buildBuild AutomationOut-of-the-box daily build
Good build process is hard to achieveMany shops don’t even bother
Goal: make it trivial Builds are reproducible
VS Projects are built directly
Builds are scheduled or on-demand
Build report is centrally published
Goal: tight integration with VS Team System tools
Good build process is hard to achieveMany shops don’t even bother
Goal: make it trivial Builds are reproducible
VS Projects are built directly
Builds are scheduled or on-demand
Build report is centrally published
Goal: tight integration with VS Team System tools
Microsoft Australia Security Summit
Build Automation StepsBuild Automation Steps
Build Build initiated from initiated from
serverserver
Create a Create a build IDbuild ID
Document Document build build
environmentenvironment
Sync Sync sources sources and toolsand tools
Calculate Calculate code churncode churn
Produce Produce build reportbuild report
Publish Publish buildbuild
UpdateUpdatework itemswork items
Calculate Calculate code code
coveragecoverage
Compile and Compile and analyzeanalyze
ExecuteExecuteteststests
Microsoft Australia Security Summit
What is VS Team Foundation?What is VS Team Foundation?
Source Code Source Code ControlControl
Work Item Work Item TrackingTracking
Build Build AutomationAutomation
Team Team CommunicationsCommunications
ReportingReporting
Microsoft Australia Security Summit
Project SiteProject Site
Facilitates team communicationSpecs, discussions, announcements, lists
Work items, reports, public builds
Lightweight access for casual stakeholders
Built on Windows Sharepoint Services
Facilitates team communicationSpecs, discussions, announcements, lists
Work items, reports, public builds
Lightweight access for casual stakeholders
Built on Windows Sharepoint Services
Microsoft Australia Security Summit
What is VS Team Foundation?What is VS Team Foundation?
Source Code Source Code ControlControl
Work Item Work Item TrackingTracking
Build Build AutomationAutomation
Team Team CommunicationsCommunications
ReportingReporting
Microsoft Australia Security Summit
ReportingReporting
Provides system-wide data view
Ships with many beneficial reportsYou can customize or add more
Built on SQL Server Reporting Services
Provides system-wide data view
Ships with many beneficial reportsYou can customize or add more
Built on SQL Server Reporting Services
Microsoft Australia Security Summit
ReportingReporting
Microsoft Australia Security Summit
AgendaAgenda
Software Configuration Management
Team Foundation Capabilities
Team Foundation Architecture
Software Configuration Management
Team Foundation Capabilities
Team Foundation Architecture
Microsoft Australia Security Summit
Visual Studio Team Foundation ArchitectureVisual Studio Team Foundation Architecture
Team Foundation Data Services
Source CodeControl Service
Work Item Service Build Data Services
Registration Service
Eventing andNotification Service
Linking Service
Team Foundation Integration Services
MSSQL/TCP
SOAP / HTTP(S)ASP.NET
Team Foundation Data-Tier
MethodologySCCWI
(Product Studio) Build Data Warehouse
Build ResultsTest ResultsCode CoverageStatic Analysis
SQL
Reports
Web Parts
WSS
IE …
Team Portal
Rosetta
Office System
MS ExcelPlug-in
MS ProjectPlug-in
VS Packages
Visual Studio
Command Line
…
Team Foundation Object Model (Managed API)
Microsoft Australia Security Summit
ExtensibilityExtensibility
End user extensibility – process customization
Work Item Types
Checkin Notes & Policies
Third party extensibilityTool integration platform – eventing, linking, security
Managed object models
Web service APIs
End user extensibility – process customization
Work Item Types
Checkin Notes & Policies
Third party extensibilityTool integration platform – eventing, linking, security
Managed object models
Web service APIs
Microsoft Australia Security Summit
SummarySummary
Discussed Software Configuration Management (SCM)
Learned about the SCM features in Team System
Understood the architecture of Team Foundation
Learned about the options for extensibility
Discussed Software Configuration Management (SCM)
Learned about the SCM features in Team System
Understood the architecture of Team Foundation
Learned about the options for extensibility