The Visual Studio Vision
Build the right product for customers
Reduce development complexity
Improve software team communication
Foster a vibrant partner ecosystem
The Software Lifecycle
What We’ve Heard
“Building software today is very
difficult”
“My team is spread out and
specialized”
“Tools today don’t work well together”
“I need to be able to predict the
success of my projects”
“My organization needs customizable
process guidance”
Silos in the IT Lifecycle
Project
Infrastructure Manager Developer
Architect
Business Tester
Solution
Stakeholder Architect
Development Teams
Developer
Solution
Infrastructure Architect
Architect
Tester
Project Manager
End User
Communication Barriers
Developers don’t IT Operations doesn’t
understand operations understand application
policy structure
Solution
Infrastructure Architect Reduce complexity
Increase
Architect communication
and collaboration through operations
via product integration knowledge
Pockets of information within disciplines
Unclear delineation of responsibilities
Conflicting best practices and architectures
Conflicting strategic goals and objectives
Core Tenets to Success
Tools need to…
…reduce the complexity of delivering
modern service-oriented solutions
…be tightly integrated and facilitate better
team collaboration
…enable customization and extensibility
by organizations and ISVs
Expanding Visual Studio
Developer
Tester
Solution
Architect
Infrastructure Project
Architect Manager
Design for Predictability
Operations & Visibility
Increased Quality
Reliability Early & Often
Visual Studio Team System
Visual Studio Visual Studio Visual Studio
Team Architect Team Developer Team Test
Process and Architecture Guidance
Application Designer Dynamic Code Analyzer Load Testing
Visual Studio Industry Partners
Logical Infra. Designer Static Code Analyzer Manual Testing
Deployment Designer Code Profiler Test Case Management
Unit Testing
Code Coverage
Class Designer
Visio and UML Modeling
Team Foundation Client (includes CAL)
Visual Studio Professional Edition
Visual Studio
Change Management Reporting Integration Services
Team Foundation
Big Build Work Item Tracking Project Site Project Management
Visual Studio Team System
Visual Studio Visual Studio Visual Studio
Team Architect Team Developer Team Test
Process and Architecture Guidance
Designer
Application Modeling Dynamic Code Analyzer Load Testing
Visual Studio Industry Partners
Logical Infra. Modeling
Designer Static Code Analyzer Manual Testing
Deployment Modeling
Designer Code Profiler Test Case Management
Unit Testing
Code Coverage
Class Modeling Class Designer
Visio and UML Modeling
Team Foundation Client (includes CAL)
Visual Studio Professional Edition
Visual Studio
Change Management Reporting Integration Services
Team Foundation
Big Build Work Item Tracking Project Site Project Management
Team Architect Edition
Distributed Application Designer
Whiteboard mode for application design
Web Services Enhancements (WSE) support
Validation against logical infrastructure
Logical Infrastructure Designer
Settings and constraints editor
SDM generation and compiler
Click-once support
Class Designer
Two-way code synchronization
Team Architect Edition
Problem Space
Customers have communication problems
between
Architects and Developers
Developers do not work within architectural guidelines
Development and Operations
Deployment problems caught too late
Customers recognize value of modeling tools
Visualization of designs
Higher level abstractions simply design and development
Generation `of code and other artifacts can improve
productivity
Modeling tools have poor history of success
Positive: good for documentation
Negative: CASE baggage, round-tripping complexities,
not used for software development
Team Architect Edition
Key scenarios DSL tools
Design connected Distributed Systems
systems Designers
“Design for Operations” Service Oriented
Application Designer
Code visualization
Deployment Designer
Documentation and Logical Infrastructure
conceptual drawings Designer
UML and more Class Designer
UML tools for software Common Features
documentation Multiple artifact
DSLs tools for precise generation
software development Continuous
synchronization
Design-first mode
SDM schema underlies
Distributed System
Designers
Application Designer
Service-Oriented
Architecture model
Port Details editor
Logical Infrastructure
Designer
Services assigned
to logical infrastructure
Architecture validated
against operational
settings and constraints
Class Designer
Class Designer
and
two-way code synch
Team Architect Edition
V2 Roadmap
Support for Indigo service framework
Contract Designer
Business Process Designer
Pattern engine
Team Architect Edition
Partner Opportunities
Designer extensibility
Extend SDM schema
Add constraints
Build new designers using MDF
framework
Tool-building tools
Plan to make available post-Whidbey
Visual Studio Team System
Visual Studio Visual Studio Visual Studio
Team Architect Team Developer Team Test
Process and Architecture Guidance
Application Designer Dynamic Code Analyzer Load Testing
Visual Studio Industry Partners
Logical Infra. Designer Static Code Analyzer Manual Testing
Deployment Designer Code Profiler Test Case Management
Unit Testing
Unit Testing
Code Coverage
Code Coverage
Class Designer
Visio and UML Modeling
Team Foundation Client (includes CAL)
Visual Studio Professional Edition
Visual Studio
Change Management Reporting Integration Services
Team Foundation
Big Build Work Item Tracking Project Site Project Management
Team Developer Edition
Static code analysis
Support for managed and native code
Code profiling
Sequence view examines running threads
GC view of object allocation and lifetime
Caller-callee, callstack, and function
views
Code coverage
Integrated unit testing and framework
Team Developer Edition
Problem Space
Customers lack predictability and
productivity in the lifecycle of their
applications
Customers are forced to context switch
between coding and lifecycle and other
engineering activities
Customers are forced to use multiple tools
Customers are forced to enter project-specific
data many different times in many different
places
Customers want to avoid defects
Defects are caught late, sometimes too late for
action
Team Developer Edition
The Tools the 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
Includes ETW events
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
Application Verifier
Static Code Analysis
Static Code Analyzer
Code Coverage
Code Coverage
Unit Testing
Integrated Unit Testing
Team Developer Edition
V2 Roadmap
Runtime Analysis:
System level profiling and application
monitoring
Integration of runtime analysis with
operations
Static Analysis:
Editor integration (Squigglies)
More rules & targets
Visual Studio Team System
Visual Studio Visual Studio Visual Studio
Team Architect Team Developer Team Test
Process and Architecture Guidance
Application Designer Dynamic Code Analyzer Load Testing
Visual Studio Industry Partners
Logical Infra. Designer Static Code Analyzer Manual Testing
Deployment Designer Code Profiler Test Case Management
Unit Testing
Code Coverage
Class Designer
Visio and UML Modeling
Team Foundation Client (includes CAL)
Visual Studio Professional Edition
Visual Studio
Change Management Reporting Integration Services
Team Foundation
Big Build Work Item Tracking Project Site Project Management
Team Test Edition
Load testing
Web services load testing via protocol-
based script
Load patterns: constant, step, custom
Perf counter collection and threshold
monitoring
Test case management
Application Verifier
Team Test Edition
Problem Space
Poorly written applications reflect poorly on
the platform
Testers are underserved and second class
in Microsoft’s tools
Testing tools products lag behind Visual Studio
Little integrated support for developer testing;
defects are caught late, sometimes too late for
action
Testing is not integrated into the lifecycle
Developer Tools and Testing Tools vendors are
rarely the same
Testing is isolated from development by
processes and tools
There is no common vocabulary or view of data
for rich analytics
Team Test Edition
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
Load Testing Creation
Load Testing
Web recorder
Load Testing
Load Testing
Perf Counter integration
and monitoring
Test Case Management
Test Case Management
Team Test Edition
V2 Roadmap
Functional UI testing
For Avalon, Windows.Forms, Win32, and
IE
Test Lab management
Setup, tear down, distribution, and
baselining
Historical code coverage trends on a
per-method basis
Test case prioritization
Visual Studio Team System
Visual Studio Visual Studio Visual Studio
Team Architect Team Developer Team Test
Process and Architecture Guidance
Application Designer Dynamic Code Analyzer Load Testing
Visual Studio Industry Partners
Logical Infra. Designer Static Code Analyzer Manual Testing
Deployment Designer Code Profiler Test Case Management
Unit Testing
Code Coverage
Class Designer
Visio and UML Modeling
Team Foundation Client (includes CAL)
Visual Studio Professional Edition
Visual Studio
Change Management Reporting Integration Services
Team Foundation
Big Build Work Item Tracking Project Site Project Management
Team Foundation
Portfolio creation and navigation
Project Creation Wizard
Process editor for customized guidance
Project management
Microsoft Project and Excel integration
Change management
Branching, changesets, shelving
Migration from ClearCase and VSS
Reporting and analytics
Project portal
Team Foundation
Problem Space
Fragmented information
Can’t relate and query work items, work, processes and
artifacts
Tools sets are incomplete or poorly integrated
Difficulty integrating tools with existing infrastructure
Communication is manual
People use the phone or face-to-face
Information is not captured
Distributed development aggravates the problem
Life cycle tools are expensive and complex
Tools are difficult to learn and use
Developers view tools as “overhead”
Administration costs are high
Team Foundation Solution
Fragmented Integrated Information
information Automated Data Capture
Complete Lifecycle Toolset
Common Linking Service
Extensible Team Foundation SDK
with web service based APIs
Communication Stream-lined communication
is manual Common Project Portal
Cross Tool Queries and Reports
Common Notification Service
Access over the internet
Life cycle Easy to use and cost effective
tools are Deep UI integration with familiar
expensive tools
and complex Developer-centric capabilities
Easy to setup and administer
Team Foundation Capabilities
Work item tracking Build automation
Easy, Integrated into Scripted “nightly”
development process build
Design your own Reporting
process – Fields, Integrates many of the
Forms, States, Rules Team System tools
Extensive linking –
bugs, reports, artifacts Metrics warehouse
Notifications Automatic data
collection
Source Code Control OLAP reporting
Easy, integrated into Trending, aggregation
development & drilldown
environment
Integrated check in Project portal
experience Single place to go for
Scalable and robust high-level project
information
Parallel development
Web access work
Notifications items
WSS based
Work Items Everywhere
Assign work items to
resources using
Microsoft Project
Author work items in
Microsoft Excel
Work items show up in
Visual Studio
View project status in
Microsoft Excel or
Microsoft Project
Change Management
Check In
“Shelve”
work in progress
Build rules enforced
during check-in
process
Build Server
Reporting
Project Portal
SharePoint-based
Project Portal
Project Creation
Project Creation Wizard
MSF version 4.0 is…
The right content for the right person
at the right time
1. Instantiation of an agile software
development process
2. Instantiation of a formal software
development process
3. Framework for GSIs and customers to
implement custom software development
process
4. Harvests proven guidance from in- &
outside of MS
Methodology Template
Delivered via Team Foundation Server
Contains:
Work Item Types, workflow
Check In Policy
Specification Templates
Reports
Groups & Permissions
Integrated Help
Phase Exit Criteria
Exposed within Help
Team Foundation
V2 Roadmap
Work flow
Automated Check in acceptance testing,
approval and review
Inter-work item flow
Advanced Distributed development
Replication, Offline
Better traceability
Visual Studio Team System
Visual Studio Visual Studio Visual Studio
Team Architect Team Developer Team Test
Process and Architecture Guidance
Application Designer Dynamic Code Analyzer Load Testing
Visual Studio Industry Partners
Logical Infra. Designer Static Code Analyzer Manual Testing
Deployment Designer Code Profiler Test Case Management
Unit Testing
Code Coverage
Class Designer
Visio and UML Modeling
Team Foundation Client (includes CAL)
Visual Studio Professional Edition
Visual Studio
Change Management Reporting
Reporting Integration Services
Team Foundation
Big Build Work Item Tracking Project Site Project Management
Project Management
Problem Space
Gaps in translating work
Team is disconnected
Tracking, not managing
Difficult to implement process
changes
Project Management Goals
Shape the Project
Office Integration
Rich Reporting
Instrument the Process
MSF 4.0 Integration
Process Customization
MSF version 4.0 is…
The right content for the right person
at the right time
1. Instantiation of an agile software
development process
2. Instantiation of a formal software
development process
3. Framework for GSIs and customers to
implement custom software development
process
4. Harvests proven guidance from in- &
outside of MS
Team System Integration
Delivered via Team Foundation Server
Methodology Templates
Work Item Types, workflow
Check In Policy
Specification Templates
Reports
Groups & Permissions
Integrated Help
Phase Exit Criteria
Exposed within Help
Updated from MSDN
Book series: Addison Wesley & MS Learning
Project Creation
Project Creation Wizard
Project Management
Assign work items to
resources using
Microsoft Project
Author work items in
Microsoft Excel
Work items show up in
Visual Studio
View project status in
Microsoft Excel or
Microsoft Project
Change Management
Check In
“Shelve”
work in progress
Build rules enforced
during check-in
process
Project Portal
SharePoint-based
Project Portal
Team System
Partner Integration
Improved shell extensibility model
Source code control integration
Plug-in and add-in integration
Web services for lifecycle integration
Share data with other lifecycle tools
Published schemas for modeling
“Shallow” extensibility for designers
Pricing Design Philosophy
Existing MSDN Universal customers can get:
Visual Studio Team Developer OR
Team Architect OR
Team Test
at or near current Subscription price
Visual Studio Team Suite
“Step Up” pricing
MSDN
Developer or Architect or Test
Universal Near same price Near same price Near same price
Team Foundation available separately on a
Server/CAL pricing model
Team Foundation
Server/CAL
Each Team System client product includes one CAL for Team Foundation
Broad Industry Support
Developer Roadmap
Windows
“Longhorn”
Our Philosophy
Commitment to…
Overall customer satisfaction
Transparency in features and roadmap
Increased partner readiness
Community involvement in design
Questions
Prashant Sridharan, prashant