kevin c. kelly microsoft [email protected]

34
Kevin C. Kelly Microsoft [email protected] http://blogs.msdn.com/ kkellyatms/

Upload: lynette-fowler

Post on 23-Dec-2015

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Kevin C. Kelly Microsoft kkelly@microsoft.com

Kevin C. KellyMicrosoft

[email protected]://blogs.msdn.com/kkellyatms/

Page 2: Kevin C. Kelly Microsoft kkelly@microsoft.com

The Software LifecycleWhat We’ve Heard

• “I want to integrate testing more deeply into my developer’s daily process”

• “The time we invest finding, evaluating and deciding on each individual tool of the lifecycle is too high”

• “Different teams and projects use different processes”

• “Whatever you provide, we’ll have to customize it to match our own process”

Page 3: Kevin C. Kelly Microsoft kkelly@microsoft.com

Development Teams

InfrastructureInfrastructureArchitectArchitect

SolutionSolutionArchitectArchitect

Project ManagerProject Manager

DeveloperDeveloper

TesterTester

End UserEnd User

Page 4: Kevin C. Kelly Microsoft kkelly@microsoft.com

Communication Barriers

• Pockets of information within disciplines• Unclear delineation of responsibilities• Conflicting best practices and architectures• Conflicting strategic goals and objectives

SolutionSolutionArchitectArchitectInfrastructureInfrastructure

ArchitectArchitect

IT Operations doesn’tunderstand applicationstructure

Developers don’tunderstand operationspolicy

Reduce complexityReduce complexitythrough operationsthrough operationsknowledgeknowledge

Increase communication Increase communication and collaborationand collaboration

via product integrationvia product integration

Page 5: Kevin C. Kelly Microsoft kkelly@microsoft.com

Team System Vision

Dramatically increase predictability of successDramatically increase predictability of success

Increase productivity and team Increase productivity and team communication communication

Deliver a robust, powerful tools platformDeliver a robust, powerful tools platform

Page 6: Kevin C. Kelly Microsoft kkelly@microsoft.com

Expanding Visual Studio

TeamTeamCommunicationCommunication

QualityQualityEarly & OftenEarly & Often

PlatformPlatformFor InnovationFor Innovation

Design forDesign forOperationsOperations

ProjectProjectManagerManager

SolutionSolutionArchitectArchitect

DeveloperDeveloperTesterTester

InfrastructureInfrastructureArchitectArchitect

Page 7: Kevin C. Kelly Microsoft kkelly@microsoft.com

Team Team CommunicationCommunication

Enterprise SCC, reporting, work item Enterprise SCC, reporting, work item tracking, project managementtracking, project management

Quality Early Quality Early and Oftenand Often

Static Analysis, performance Static Analysis, performance profiling, unit testing, load testingprofiling, unit testing, load testing

Designing for Designing for OperationsOperations

SOA Designer, Logical datacenter SOA Designer, Logical datacenter designer, class designer, validationsdesigner, class designer, validations

Platform for Platform for InnovationInnovation

Web service based, open protocols, Web service based, open protocols, client APIs, extending today’s VSIPclient APIs, extending today’s VSIP

Page 8: Kevin C. Kelly Microsoft kkelly@microsoft.com

BugsBugs

RequirementsRequirements

Issues ListIssues List

ChangeChangeRequestsRequests

CustomerCustomerRequestsRequests

Lists!

Page 9: Kevin C. Kelly Microsoft kkelly@microsoft.com

Work Items Everywhere

Author work items inMicrosoft Excel

Author work items inMicrosoft Excel

Work items show up inVisual Studio

Work items show up inVisual Studio

Assign work items toresources usingMicrosoft Project

Assign work items toresources usingMicrosoft Project

View project status inMicrosoft Excel orMicrosoft Project

View project status inMicrosoft Excel orMicrosoft Project

Page 10: Kevin C. Kelly Microsoft kkelly@microsoft.com

Change ManagementCheck In

“Shelve”work in progress

“Shelve”work in progress

Build rules enforcedduring check-in

process

Build rules enforcedduring check-in

process

Page 11: Kevin C. Kelly Microsoft kkelly@microsoft.com

Build Server

Page 12: Kevin C. Kelly Microsoft kkelly@microsoft.com

Reporting

Page 13: Kevin C. Kelly Microsoft kkelly@microsoft.com

Project Portal

SharePoint-basedProject Portal

SharePoint-basedProject Portal

Page 14: Kevin C. Kelly Microsoft kkelly@microsoft.com

Project CreationProject Creation WizardProject Creation Wizard

Page 15: Kevin C. Kelly Microsoft kkelly@microsoft.com

Team Foundation• Work Item management• Project management

● Microsoft Project and Excel integration• Change management

● Branching, changesets, shelving• Build Server• Reporting and analytics• Project portal• Project creation and navigation

● Project Creation Wizard● Process editor for customized guidance

Page 16: Kevin C. Kelly Microsoft kkelly@microsoft.com

Team Team CommunicationCommunication

Enterprise SCC, reporting, issue Enterprise SCC, reporting, issue tracking, project managementtracking, project management

Quality Early Quality Early and Oftenand Often

Static Analysis, performance Static Analysis, performance profiling, unit testing, load testingprofiling, unit testing, load testing

Designing for Designing for OperationsOperations

SOA Designer, Logical datacenter SOA Designer, Logical datacenter designer, class designer, validationsdesigner, class designer, validations

Platform for Platform for InnovationInnovation

Web service based, open protocols, Web service based, open protocols, client APIs, extending today’s VSIPclient APIs, extending today’s VSIP

Page 17: Kevin C. Kelly Microsoft kkelly@microsoft.com

Static Code Analysis

Static Code AnalyzerStatic Code Analyzer

Page 18: Kevin C. Kelly Microsoft kkelly@microsoft.com

Code Coverage

Code CoverageCode Coverage

Page 19: Kevin C. Kelly Microsoft kkelly@microsoft.com

Unit Testing

Integrated Unit TestingIntegrated Unit Testing

Page 20: Kevin C. Kelly Microsoft kkelly@microsoft.com

Team Developer• The Tools Microsoft Uses• Features

● Static code analysis• Support for managed and native code• PREfast used in Trustworthy Computing Code Reviews• FxCop used to develop .NET framework

● Code profiling• Based on two internal profilers:

– Instrumented – IceCAP, used by Windows Base and SQL Server

– Sampling – LOP, used throughout MX, including Xbox• Sequence view examines running threads• GC view of object allocation and lifetime• Caller-callee, callstack, and function views

● Code coverage• Basic Block Coverage• Based on the BBCover technology that Windows & Visual

Studio use● Integrated Unit Testing

Page 21: Kevin C. Kelly Microsoft kkelly@microsoft.com

Load Testing CreationLoad TestingWeb recorderLoad TestingWeb recorder

Page 22: Kevin C. Kelly Microsoft kkelly@microsoft.com

Load Testing

Perf Counter integrationand monitoring

Perf Counter integrationand monitoring

Load TestingLoad Testing

Page 23: Kevin C. Kelly Microsoft kkelly@microsoft.com

Test Case ManagementTest Case ManagementTest Case Management

Page 24: Kevin C. Kelly Microsoft kkelly@microsoft.com

Team Test

• Testing is 1st class in Visual Studio• Tests are Source Code• Test Authoring & Execution Environment

● Test View● Test Explorer (Test Case Management UI)

• Load testing● Web services load testing via protocol-

based script● Load patterns: constant, step, custom● Perf counter collection and threshold

monitoring• Unit Testing

● Similar to NUnit

Page 25: Kevin C. Kelly Microsoft kkelly@microsoft.com

Team Team CommunicationCommunication

Enterprise SCC, reporting, issue Enterprise SCC, reporting, issue tracking, project managementtracking, project management

Quality Early Quality Early and Oftenand Often

Static Analysis, performance Static Analysis, performance profiling, unit testing, load testingprofiling, unit testing, load testing

Designing for Designing for OperationsOperations

SOA Designer, Logical datacenter SOA Designer, Logical datacenter designer, class designer, validationsdesigner, class designer, validations

Platform for Platform for InnovationInnovation

Web service based, open protocols, Web service based, open protocols, client APIs, extending today’s VSIPclient APIs, extending today’s VSIP

Page 26: Kevin C. Kelly Microsoft kkelly@microsoft.com

Team Architect

• Key scenarios● Design connected

systems● “Design for Operations”● Code visualization● Documentation and

conceptual drawings• UML and more

● UML tools for software documentation

● DSLs tools for precise software development

• DSL tools● Distributed Systems

Designers• Service Oriented

Application Designer• Deployment

Designer• Logical

Infrastructure Designer

● Class Designer

Page 27: Kevin C. Kelly Microsoft kkelly@microsoft.com

Team Team CommunicationCommunication

Enterprise SCC, reporting, issue Enterprise SCC, reporting, issue tracking, project managementtracking, project management

Quality Early Quality Early and Oftenand Often

Static Analysis, performance Static Analysis, performance profiling, unit testing, load testingprofiling, unit testing, load testing

Designing for Designing for OperationsOperations

SOA Designer, Logical datacenter SOA Designer, Logical datacenter designer, class designer, validationsdesigner, class designer, validations

Platform for Platform for InnovationInnovation

Web service based, open protocols, Web service based, open protocols, client APIs, extending today’s VSIPclient APIs, extending today’s VSIP

Page 28: Kevin C. Kelly Microsoft kkelly@microsoft.com

Data TierData Tier

App TierApp Tier

TF DataTF Data Your DataYour DataYourYour FactsFacts

TF FactsTF Facts

ReportingWarehouse

Team Foundation ServicesTeam Foundation Services

Warehouse AdapterWarehouse Adapter

Team Foundation ArtifactsTeam Foundation Artifacts

Your ServiceYour Service

Warehouse AdapterWarehouse Adapter

Your ArtifactsYour Artifacts

Team Foundation Shared ServicesTeam Foundation Shared Services

VSIP w/ Team SystemVSIP w/ Team System

Visual StudioVisual Studio

Team Foundation OMTeam Foundation OMTeam Foundation ClientTeam Foundation Client

ProxiesProxies

YourYour.net App.net App

ClientClient

Team Foundation Extensibility

Page 29: Kevin C. Kelly Microsoft kkelly@microsoft.com

Data TierData Tier

App TierApp Tier

TF DataTF Data Your DataYour DataYour FactsYour Facts

TF FactsTF Facts

ReportingWarehouse

Version Control ServiceVersion Control Service

Warehouse AdapterWarehouse Adapter

Change Set / Source FileChange Set / Source File

Work Item Tracking SvcWork Item Tracking Svc

Warehouse AdapterWarehouse Adapter

Work ItemWork Item

Big Build ServiceBig Build Service

Warehouse AdapterWarehouse Adapter

BuildBuild

Your ServiceYour Service

Warehouse AdapterWarehouse Adapter

Your ArtifactsYour Artifacts

Eventing ServiceEventing Service Security ServiceSecurity ServiceLinking ServiceLinking Service Classification ServiceClassification Service

Your VSIP PackageYour VSIP Package

Your TE NodeYour TE Node

Your PCW plug inYour PCW plug in

Visual StudioVisual Studio

Version Control OMVersion Control OM

Team Foundation OMTeam Foundation OM

Work Item OMWork Item OM

Eventing Service ProxyEventing Service Proxy

Linking Service ProxyLinking Service Proxy

Security Service ProxySecurity Service Proxy

Classification Svc ProxyClassification Svc Proxy

YourYour.net App.net App

ClientClient

Team Foundation Extensibility

Policy FrameworkPolicy Framework

Page 30: Kevin C. Kelly Microsoft kkelly@microsoft.com

Team Foundation Customization• Complimentary server technology using

Visual Studio as client• Legacy systems• Team engineering process• Team Project Site• Extend static analysis and profiling tools• Domain Specific Language (DSL)

modeling tools

Page 31: Kevin C. Kelly Microsoft kkelly@microsoft.com

Team System Version v1

Change Management

Work Item Tracking

Reporting

Project Site

Visual Studio

Team Foundation 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 Architect

Static Code Analyzer

Code Profiler

Unit Testing

Code Coverage

Visio and UML Modeling

Team Foundation Client (includes CAL)

Visual Studio Professional Edition

Load Testing

Manual Testing

Test Case Management

Application Designer

Logical Infra. Designer

Deployment Designer

Visual Studio

Team DeveloperVisual Studio

Team Test

Vis

ual S

tud

io In

du

stry

V

isu

al S

tud

io In

du

stry

Part

ners

Part

ners

Big Build

Class Designer

Page 32: Kevin C. Kelly Microsoft kkelly@microsoft.com

Team System Planning Schedule

JuneJune20052005

MayMay20052005

AprilApril20052005

MarchMarch20052005

FebruaryFebruary20052005

•In production at MS

•ISV partners in active development

•Corporate prototyping beginning

Beta 2 TechEd

CTPCTP CTPCTP

•Last major pre-release

•ISV partners demo’ing beta solutions

•Some corporate projects in production

CTPCTP

Page 33: Kevin C. Kelly Microsoft kkelly@microsoft.com

Brian WhiteBrian WhiteVM 352 & 355VM 352 & 355

Enterprise SCC, reporting, issue Enterprise SCC, reporting, issue tracking, project managementtracking, project management

Jason AndersonJason AndersonVM 353 & 354VM 353 & 354

Static Analysis, performance Static Analysis, performance profiling, unit testing, load testingprofiling, unit testing, load testing

Page 34: Kevin C. Kelly Microsoft kkelly@microsoft.com

For More Information…

• Visual Studio Team System Site● http://msdn.microsoft.com/vstudio/

teamsystem

• Team System Newsgroupshttp://communities.microsoft.com/newsgroups

• Team System Blogs● http://weblogs