Visual Studio “Whidbey”

Download Report

Transcript Visual Studio “Whidbey”

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
Manager
Infrastructure
Architect
Business
Stakeholder
Developer
Tester
Solution
Architect
Development Teams
Infrastructure
Architect
Solution
Architect
Developer
Tester
End User
Project Manager
Communication Barriers
IT Operations doesn’t
understand application
structure
Developers don’t
understand operations
policy
Solution
Architect
Infrastructure
Increase communication
Architect
and collaboration
via product integration




Reduce complexity
through operations
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
Solution
Architect
Tester
Project
Manager
Infrastructure
Architect
Design for
Operations
Predictability
& Visibility
Increased
Reliability
Quality
Early & Often
Visual Studio
Visual Studio
Visual Studio
Team Architect
Team Developer
Team Test
Application Designer
Dynamic Code Analyzer
Load Testing
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
Team Foundation
Change Management
Reporting
Integration Services
Big Build
Work Item Tracking
Project Site
Project Management
Visual Studio Industry Partners
Process and Architecture Guidance
Visual Studio Team System
Visual Studio
Visual Studio
Visual Studio
Team Architect
Team Developer
Team Test
Designer
Application Modeling
Dynamic Code Analyzer
Load Testing
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
Team Foundation
Change Management
Reporting
Integration Services
Big Build
Work Item Tracking
Project Site
Project Management
Visual Studio Industry Partners
Process and Architecture Guidance
Visual Studio Team System
Team Architect Edition

Distributed Application Designer




Logical Infrastructure Designer




Whiteboard mode for application design
Web Services Enhancements (WSE) support
Validation against logical infrastructure
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


Development and Operations


Deployment problems caught too late
Customers recognize value of modeling tools




Developers do not work within architectural guidelines
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





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
Common Features




Multiple artifact
generation
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
Visual Studio
Visual Studio
Team Architect
Team Developer
Team Test
Application Designer
Dynamic Code Analyzer
Load Testing
Logical Infra. Designer
Static Code Analyzer
Manual Testing
Deployment Designer
Code Profiler
Test Case Management
Unit Testing
Testing
Unit
Code Coverage
Coverage
Code
Class Designer
Visio and UML Modeling
Team Foundation Client (includes CAL)
Visual Studio Professional Edition
Visual Studio
Team Foundation
Change Management
Reporting
Integration Services
Big Build
Work Item Tracking
Project Site
Project Management
Visual Studio Industry Partners
Process and Architecture Guidance
Visual Studio Team System
Team Developer Edition

Static code analysis


Code profiling





Support for managed and native code
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:







Includes ETW events
Sequence view examines running threads
GC view of object allocation and lifetime
Caller-callee, callstack, and function views
Code coverage



Instrumented – IceCAP, used by Windows Base and SQL Server
Sampling – LOP, used throughout MX, including Xbox
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
Visual Studio
Visual Studio
Team Architect
Team Developer
Team Test
Application Designer
Dynamic Code Analyzer
Load Testing
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
Team Foundation
Change Management
Reporting
Integration Services
Big Build
Work Item Tracking
Project Site
Project Management
Visual Studio Industry Partners
Process and Architecture Guidance
Visual Studio Team System
Team Test Edition

Load testing





Web services load testing via protocolbased 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



Load testing




Test View
Test Explorer (Test Case Management UI)
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


Test Lab management



For Avalon, Windows.Forms, Win32, and
IE
Setup, tear down, distribution, and
baselining
Historical code coverage trends on a
per-method basis
Test case prioritization
Visual Studio
Visual Studio
Visual Studio
Team Architect
Team Developer
Team Test
Application Designer
Dynamic Code Analyzer
Load Testing
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
Team Foundation
Big Build
Change Management
Reporting
Integration Services
Work Item Tracking
Project Site
Project Management
Visual Studio Industry Partners
Process and Architecture Guidance
Visual Studio Team System
Team Foundation

Portfolio creation and navigation



Project management




Microsoft Project and Excel integration
Change management


Project Creation Wizard
Process editor for customized guidance
Branching, changesets, shelving
Migration from ClearCase and VSS
Reporting and analytics
Project portal
Team Foundation
Problem Space

Fragmented information




Communication is manual




Can’t relate and query work items, work, processes and
artifacts
Tools sets are incomplete or poorly integrated
Difficulty integrating tools with existing infrastructure
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
information

Integrated Information





Communication
is manual

Stream-lined communication





Life cycle
tools are
expensive
and complex

Automated Data Capture
Complete Lifecycle Toolset
Common Linking Service
Extensible Team Foundation SDK
with web service based APIs
Common Project Portal
Cross Tool Queries and Reports
Common Notification Service
Access over the internet
Easy to use and cost effective



Deep UI integration with familiar
tools
Developer-centric capabilities
Easy to setup and administer
Team Foundation Capabilities

Work item tracking





Easy, Integrated into
development process
Design your own
process – Fields,
Forms, States, Rules
Extensive linking –
bugs, reports, artifacts
Notifications









Easy, integrated into
development
environment
Integrated check in
experience
Scalable and robust
Parallel development
Notifications



Scripted “nightly”
build
Reporting
Integrates many of the
Team System tools
Metrics warehouse

Source Code Control

Build automation
Automatic data
collection
OLAP reporting
Trending, aggregation
& drilldown
Project portal



Single place to go for
high-level project
information
Web access work
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.
2.
3.
4.
Instantiation of an agile software
development process
Instantiation of a formal software
development process
Framework for GSIs and customers to
implement custom software development
process
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



Advanced Distributed development


Automated Check in acceptance testing,
approval and review
Inter-work item flow
Replication, Offline
Better traceability
Visual Studio
Visual Studio
Visual Studio
Team Architect
Team Developer
Team Test
Application Designer
Dynamic Code Analyzer
Load Testing
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
Team Foundation
Change Management
Reporting
Reporting
Integration Services
Big Build
Work Item Tracking
Project Site
Project Management
Visual Studio Industry Partners
Process and Architecture Guidance
Visual Studio Team System
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.
2.
3.
4.
Instantiation of an agile software
development process
Instantiation of a formal software
development process
Framework for GSIs and customers to
implement custom software development
process
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
Universal

Developer
Near same price
or
Architect
Near same price
or
Test
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