kevin c. kelly microsoft kkelly@microsoft blogs.msdn/kkellyatms
DESCRIPTION
Kevin C. Kelly Microsoft [email protected] http://blogs.msdn.com/kkellyatms/. The Software Lifecycle What We’ve Heard. “I want to integrate testing more deeply into my developer’s daily process” - PowerPoint PPT PresentationTRANSCRIPT
![Page 2: Kevin C. Kelly Microsoft kkelly@microsoft blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/2.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/3.jpg)
Development Teams
InfrastructureInfrastructureArchitectArchitect
SolutionSolutionArchitectArchitect
Project ManagerProject Manager
DeveloperDeveloper
TesterTester
End UserEnd User
![Page 4: Kevin C. Kelly Microsoft kkelly@microsoft blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/4.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/5.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/6.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/7.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/8.jpg)
BugsBugs
RequirementsRequirements
Issues ListIssues List
ChangeChangeRequestsRequests
CustomerCustomerRequestsRequests
Lists!
![Page 9: Kevin C. Kelly Microsoft kkelly@microsoft blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/9.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/10.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/11.jpg)
Build Server
![Page 12: Kevin C. Kelly Microsoft kkelly@microsoft blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/12.jpg)
Reporting
![Page 13: Kevin C. Kelly Microsoft kkelly@microsoft blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/13.jpg)
Project Portal
SharePoint-basedProject Portal
SharePoint-basedProject Portal
![Page 14: Kevin C. Kelly Microsoft kkelly@microsoft blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/14.jpg)
Project CreationProject Creation WizardProject Creation Wizard
![Page 15: Kevin C. Kelly Microsoft kkelly@microsoft blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/15.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/16.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/17.jpg)
Static Code Analysis
Static Code AnalyzerStatic Code Analyzer
![Page 18: Kevin C. Kelly Microsoft kkelly@microsoft blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/18.jpg)
Code Coverage
Code CoverageCode Coverage
![Page 19: Kevin C. Kelly Microsoft kkelly@microsoft blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/19.jpg)
Unit Testing
Integrated Unit TestingIntegrated Unit Testing
![Page 20: Kevin C. Kelly Microsoft kkelly@microsoft blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/20.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/21.jpg)
Load Testing CreationLoad TestingWeb recorderLoad TestingWeb recorder
![Page 22: Kevin C. Kelly Microsoft kkelly@microsoft blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/22.jpg)
Load Testing
Perf Counter integrationand monitoring
Perf Counter integrationand monitoring
Load TestingLoad Testing
![Page 23: Kevin C. Kelly Microsoft kkelly@microsoft blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/23.jpg)
Test Case ManagementTest Case ManagementTest Case Management
![Page 24: Kevin C. Kelly Microsoft kkelly@microsoft blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/24.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/25.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/26.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/27.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/28.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/29.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/30.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/31.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/32.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/33.jpg)
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 blogs.msdn/kkellyatms](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815938550346895dc673e3/html5/thumbnails/34.jpg)
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