Neil Kidd Developer Tools Technical Specialist Microsoft UK

Preview:

DESCRIPTION

Team Foundation Server Source Code Repository Project Portal Work Item Tracking Project Reporting Build Server Visual Studio Client Tools Additional tools that extend Visual Studio for: ArchitectsDevelopers Database Professionals Testers (including load testing)

Citation preview

Visual Studio Team System

Neil Kidd Developer Tools Technical Specialist

Microsoft UK

TesterArchitect

IT / ProjectManagerBusiness

Analyst

Database ProfessionalDesigner

Visual Studio Team SystemSupporting the whole of the Application Life Cycle

Developer

SoftwareQuality

ProjectTransparency

TeamCollaboration

What is Team System?

Team Foundation ServerSource Code Repository Project PortalWork Item TrackingProject ReportingBuild Server

Visual Studio Client ToolsAdditional tools that extend Visual Studio

for:ArchitectsDevelopersDatabase ProfessionalsTesters (including load testing)

Visual Studio Client Tools

Simplify Project ConceptionDesign Project DeploymentDesign Service Oriented Projects

Improve Code QualityIncrease Developer Efficiency

Manage Test CasesLoad TestingImprove Communication

Schema Versioning SQL Refactoring & Unit TestingData Generation

Visual StudioIndustry Partners

XML Web Services

Team Foundation Server

Team Foundation ServerWeb Service InterfaceSQL Server 2005Analysis ServicesReporting ServicesWindows SharePoint Services

Single Server InstallWeb Service InterfaceSQL Server 2005Analysis ServicesReporting ServicesWindows SharePoint Services

Single Server Install supports up to 450 Users

Dual Server Deployment

Dual Server Install supports up to 3600 Users

24 x 7 Availability

Clustered Sql Server

Standby App Server

Separate Build Server

Separate Build server takes load off the TFS machine for Continuous Integration

Clustered Sql Server

Standby App Server

Proxy Server

Proxy Server allows fast connection for distributed development teams

Team Collaboration

Supports your development process

Example Workflow

Business

AnalystProjectManage

r

Dev Team

Test

Operations

ChangeRequests

Use Case

Non FunctionalRequirements

Bugs

Tasks

ProductionErrors

Example Workflow

Tasks

Business

AnalystProjectManage

r

Dev Team

Test

Operations

ChangeRequests

Use Case

Non FunctionalRequirements

Bugs

ProductionErrors

Access TFS from ...

* Requires 3rd party client

*

*

*

*

Work ItemsUse CasesNon Functional RequirementsRisksChange RequestsTasksBugs...

Example Work Item Types

What is in a Work Item?Title Description Current State

Who it is assigned to

Attachments

Links to other Work Items Full Audited historyAnything else you want …

Closed

Active

Resolved

Closed

Active

Resolved

Proposed

Use Case Tasks Bugs

Work Item User Interface

MS Project

SharePoint

Web Access

Multi Platform

Process TemplateConfigures TFS to support your Development ProcessMSF Agile and MSF for CMMISeveral 3rd party templates

Scrum, RUP, EssUP, XP, ThoughtWorks, Avanade …

Create your own or modify an existing oneStored in an XML fileProcess Template Editor tool

Software Quality

Cost of BugsCo

st /

£

Lifecycle stageDevelopment Testing UAT Released

Developers Time80% Debugging 20% Coding

Q: What if we could reduce debugging by 25%?

60% Debugging 40% Coding

A: We double the amount of code we can write

When to test?

Design

Test

Develop

Test

Develop

Test Early & Test Often

Design

TestDevelop

Design

TestDevelop

Design

TestDevelopIteration 1

Iteration 2Iteration 3

Tools for the DeveloperIntegrated Unit Testing

Integrated Static Code analysisSecurity ErrorsLocalisation problemsMemory issues…

Integrated ProfilerPerformance problemsMemory problems

Potential Sql Injection attack

Object not Disposed

Localisation Issue

Testing Tools

Web Test

SQL Unit Tests*

Unit Tests

*Requires Team Editionfor Database Professionals

Testing Tools

Web Test

SQL Unit Tests*

Unit Tests

*Requires Team Editionfor Database Professionals

Distribute TestCoordinate “Attack”Monitor AgentsCollate Results

Source Code RepositoryBuilt new from the ground up

Not based on SourceSafeSQL Server 2005 data storeCheckin Policies

Work Item associationUnit TestingStatic Analysis

ShelvingNot just for Visual Studio 2005/8Remote Proxy ServerMigration tools for code and history

*

Build ProcessScheduled BuildContinuous IntegrationBuild Process

Compile CodeExecute Unit TestsStatic Code Analysis

What went into the build?

Build ProcessExtensible Build Process

Compile CodeExecute Unit TestsStatic Code AnalysisBuild Virtual ServerConfigure Web Site / ServicesInstall ApplicationDeploy DatabaseGenerate Test DataSystem or Load test Entire application

Project Transparency

Measuring Quality%

Uni

t Te

st P

assi

ng

Application Areas

100%

0%

Code CoverageActive BugsCode Churn

Integrated Reporting

*

* *

* *

* * * *

** *

*

ProjectStructure

IterationStructure

WorkItem

Label VersionedItem

LatestVersion Changeset

Build TestResult

Project Velocity

Ad-hoc reports

Sprint Burndown

Development Practices Too Loose

How Effective Is Our (Outsourced) Team?

Inadequate Unit Testing

• Microsoft Developer Division runs on it:

3,187 Users116 million files & 28 million folders

1.5TB when compressed!42 million download per week 299,000 Work Items

SQL Server team use itOffice team moving nowWindows are just starting to move

Does it Work?

DBPro cut dev time in

halfConfigureSoft

ROI: 512%

Payback: 3 months

Social Networking Site

Project Managers can

manage 2-3 times as

many projects

Global Manufacturer

ROI: 286%

Payback: 4 months

EDS

ROI: 225%

Payback: 6 months

Dell

Developers 50% more

productive

KBC

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

http://blogs.msdn.com/ukvsts/

Team Clients

Architect Edition

Architect Edition

Architect Edition

Developer EditionIntegrated Unit Testing

Integrated Static Code analysisSecurity ErrorsLocalisation problemsMemory issues…

Integrated ProfilerPerformance problemsMemory problems

Developer Edition

Test EditionRecord Web Tests from Internet Explorer

Test EditionData driven testsValidate returned dataGenerate Code for the test (C#, VB, …)

Test Edition

Multiple Clients

Web Test

SQL Unit Tests*

Unit Tests

*Requires Team Editionfor Database Professionals

The Real World

Web Test

SQL Unit Tests*

Unit Tests

*Requires Team Editionfor Database Professionals

Distribute TestCoordinate “Attack”Monitor AgentsCollate Results

Team Test in Microsoft

Database EditionTake control of database change

Offline, change management of the schemaRefactoring of database objects

Automate database testingUnit testing for Stored ProcsAutomatic generation of meaningful test data

Bring data professionals into the lifecycle

Work Item tracking for database changes

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

http://blogs.msdn.com/ukvsts/

The problem with VSS labels

Label: Release 1.0

Start work on 2.0

Check in Released Code

Get Latest from1.0 Label

Fix bug

Where do Iput this?

Bug in 1.0!

Branching &Merging

Branch after release

Start work on 2.0

Fix bug

Bug in 1.0!

V2.0 Dev Branch

V1.0 RTM Branch

V1.0 Hotfixed Branch

Check in Released Code