Kevin C. Kelly Microsoft kkelly@microsoft blogs.msdn/kkellyatms
description
Transcript of Kevin C. Kelly Microsoft kkelly@microsoft blogs.msdn/kkellyatms
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”
Development Teams
InfrastructureInfrastructureArchitectArchitect
SolutionSolutionArchitectArchitect
Project ManagerProject Manager
DeveloperDeveloper
TesterTester
End UserEnd User
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
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
Expanding Visual Studio
TeamTeamCommunicationCommunication
QualityQualityEarly & OftenEarly & Often
PlatformPlatformFor InnovationFor Innovation
Design forDesign forOperationsOperations
ProjectProjectManagerManager
SolutionSolutionArchitectArchitect
DeveloperDeveloperTesterTester
InfrastructureInfrastructureArchitectArchitect
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
BugsBugs
RequirementsRequirements
Issues ListIssues List
ChangeChangeRequestsRequests
CustomerCustomerRequestsRequests
Lists!
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
Change ManagementCheck In
“Shelve”work in progress
“Shelve”work in progress
Build rules enforcedduring check-in
process
Build rules enforcedduring check-in
process
Build Server
Reporting
Project Portal
SharePoint-basedProject Portal
SharePoint-basedProject Portal
Project CreationProject Creation WizardProject Creation Wizard
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
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
Static Code Analysis
Static Code AnalyzerStatic Code Analyzer
Code Coverage
Code CoverageCode Coverage
Unit Testing
Integrated Unit TestingIntegrated Unit Testing
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
Load Testing CreationLoad TestingWeb recorderLoad TestingWeb recorder
Load Testing
Perf Counter integrationand monitoring
Perf Counter integrationand monitoring
Load TestingLoad Testing
Test Case ManagementTest Case ManagementTest Case Management
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
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
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
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
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
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
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
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
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
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
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