microsoft australia security summit team foundation overview david lemphers teamforce david...

45
Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce http:// ihaveidee.blogspot.com

Post on 15-Jan-2016

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

Microsoft Australia Security Summit

Team Foundation OverviewTeam Foundation Overview

David LemphersTeamForcehttp://ihaveidee.blogspot.com

David LemphersTeamForcehttp://ihaveidee.blogspot.com

Page 2: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 3: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

Microsoft Australia Security Summit

AgendaAgenda

Software Configuration Management

Team Foundation Capabilities

Team Foundation Architecture

Software Configuration Management

Team Foundation Capabilities

Team Foundation Architecture

Page 4: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 5: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 6: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

Microsoft Australia Security Summit

ManagementManagementQuestionsQuestions

ListsLists(Bugs, Requirements, etc)(Bugs, Requirements, etc)

Source CodeSource CodeAssetsAssets

TeamTeamCommunicationCommunication

ProcessProcessGuidanceGuidance

ReleasesReleases

Page 7: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 8: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 9: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 10: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 11: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

Microsoft Australia Security Summit

AgendaAgenda

Software Configuration Management

Team Foundation Capabilities

Team Foundation Architecture

Software Configuration Management

Team Foundation Capabilities

Team Foundation Architecture

Page 12: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 13: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 14: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 15: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 16: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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?

Page 17: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 18: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 19: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 20: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 21: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

Microsoft Australia Security Summit

Work Item Tracking

Page 22: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 23: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 24: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 25: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 26: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 27: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 28: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 29: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 30: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 31: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 32: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 33: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

Microsoft Australia Security Summit

Exploring Team Foundation Source Control

Page 34: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 35: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 36: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 37: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 38: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 39: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 40: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 41: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

Microsoft Australia Security Summit

ReportingReporting

Page 42: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

Microsoft Australia Security Summit

AgendaAgenda

Software Configuration Management

Team Foundation Capabilities

Team Foundation Architecture

Software Configuration Management

Team Foundation Capabilities

Team Foundation Architecture

Page 43: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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)

Page 44: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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

Page 45: Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce  David Lemphers TeamForce

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