650 likes | 666 Views
Improve team communication, reduce complexity, and enhance project predictability with Visual Studio tools. Customize processes, facilitate collaboration, and ensure the success of modern software projects. Enhance the software development lifecycle with Visual Studio integration.
E N D
John Allwright Product Manager – Visual Studio
The Visual Studio Vision Build the right product for customers Reduce development complexity Improve software team communication • Foster a vibrant partner ecosystem
The Software LifecycleWhat 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”
SolutionArchitect InfrastructureArchitect Business Stakeholder Developer Tester Project Manager Silos in the IT Lifecycle
Developer InfrastructureArchitect Project Manager End User Tester SolutionArchitect Development Teams
Roles – show of hands • Developer • Tester • Application Architect • Infrastructure Architect • Project Manager • Business Stakeholder
IT Operations doesn’tunderstand applicationstructure Reduce complexitythrough operationsknowledge Increase communication and collaborationvia product integration Infrastructure Architect Developers don’tunderstand operationspolicy Solution Architect Communication Barriers • 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
IncreasedReliability QualityEarly & Often Design forOperations Predictability& Visibility Developer Tester SolutionArchitect ProjectManager InfrastructureArchitect Expanding Visual Studio
Enables Partners Tools Tools Facilitates Communication Reduces Complexity
Visual Studio V6 to 2005 (Enterprise: VSEE, VBEE, VCEE) Visual Studio Team Suite Visual Studio TeamArchitect Visual Studio Team Developer Visual Studio Team Test Visual Studio Team Foundation (Professional: VB, VS, VC, VJ, VID) Visual Studio Professional (Standard: VB, VC, VJ) Visual Studio Standard “Express” Products Visual Basic Visual C# Visual WebDev WebMatrix Visual C++ Visual J#
Code Coverage Code Profiler Change Management Work Item Tracking Reporting Project Site Integration Services Project Management Static Code Analyzer Big Build Unit Testing Dynamic Code Analyzer Team Foundation Client (includes CAL) Deployment Designer Visio and UML Modeling Application Designer Test Case Management Logical Infra. Designer Load Testing Class Designer Visual Studio Professional Edition Manual Testing Process and Architecture Guidance Visual Studio Industry Partners Visual Studio Team System Visual StudioTeam Architect Visual StudioTeam Developer Visual StudioTeam Test Visual StudioTeam Foundation
Team Foundation Server & Team Architect Paul Appleby
Change Management Project Management Work Item Tracking Project Site Reporting Change Management Work Item Tracking Reporting Code Coverage Project Site Integration Services Project Management Dynamic Code Analyzer Static Code Analyzer Code Profiler Unit Testing Logical Infra. Designer Visio and UML Modeling Class Designer Visual Studio Professional Edition Load Testing Manual Testing Test Case Management Application Designer Team Foundation Client (includes CAL) Deployment Designer Big Build Process and Architecture Guidance Visual Studio Industry Partners Visual Studio Team System Visual StudioTeam Architect Visual StudioTeam Developer Visual StudioTeam Test Visual StudioTeam Foundation
Work item tracking Easy, Integrated into development process Design your own process – Fields, Forms, States, Rules Extensive linking – bugs, reports, artifacts Notifications Source Code Control Easy, integrated into development environment Integrated check in experience Scalable and robust Parallel development Notifications Metrics warehouse 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 Team Foundation Capabilities
Project Management • Gaps in translating work • Team is disconnected • Tracking, not managing • Difficult to implement process changes
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
Demo Projects, Work Items, Source Code Control
Work Items Everywhere Assign work items toresources usingMicrosoft Project Author work items inMicrosoft Excel Work items show up inVisual Studio View project status inMicrosoft Excel orMicrosoft Project
Change ManagementCheck In “Shelve”work in progress Build rules enforcedduring check-inprocess
Project Portal SharePoint-basedProject Portal
Project Creation Project Creation Wizard
Project Creation Project Creation Wizard
Project Management Assign work items toresources usingMicrosoft Project Author work items inMicrosoft Excel Work items show up inVisual Studio View project status inMicrosoft Excel orMicrosoft Project
Change ManagementCheck In “Shelve”work in progress Build rules enforcedduring check-inprocess
Project Portal SharePoint-basedProject Portal
Team FoundationV2 Roadmap • Work flow • Automated Check in acceptance testing, approval and review • Inter-work item flow • Advanced Distributed development • Replication, Offline • Better traceability
Logical Infra. Designer Deployment Designer Application Designer Visual Studio Professional Edition Team Foundation Client (includes CAL) Visio and UML Modeling Code Profiler Code Coverage Unit Testing Load Testing Static Code Analyzer Dynamic Code Analyzer Big Build Class Modeling Project Management Test Case Management Integration Services Manual Testing Reporting Work Item Tracking Project Site Deployment Modeling Logical Infra. Modeling Application Modeling Change Management Process and Architecture Guidance Visual Studio Industry Partners Visual Studio Team System Visual StudioTeam Architect Visual StudioTeam Developer Visual StudioTeam Test Visual StudioTeam Foundation
Team Architect • 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
Team Architect • Key scenarios • Design connected systems • “Design for Operations” • Code visualization • Documentation and conceptual drawings
Demo Architect Tools
Application Designer Service-OrientedArchitecture model Port Details editor
Logical Infrastructure Designer Services assignedto logical infrastructure Architecture validatedagainst operationalsettings and constraints
Team ArchitectV2 Roadmap • Support for Indigo service framework • Contract Designer • Business Process Designer • Pattern engine
Visual Studio Team SystemTeam Developer Mike Pelton mpelton@microsoft.com
Dynamic Code Analyzer Static Code Analyzer Code Profiler Code Coverage Unit Testing Visio and UML Modeling Class Designer Visual Studio Professional Edition Team Foundation Client (includes CAL) Unit Testing Code Coverage Manual Testing Code Profiler Static Code Analyzer Dynamic Code Analyzer Load Testing Project Site Test Case Management Project Management Logical Infra. Designer Deployment Designer Change Management Work Item Tracking Reporting Big Build Integration Services Application Designer Process and Architecture Guidance Visual Studio Industry Partners Visual Studio Team System Visual StudioTeam Architect Visual StudioTeam Developer Visual StudioTeam Test Visual StudioTeam Foundation
Class Designer Class Designerandtwo-way code synch
Team Developer • 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
Team DeveloperV2 Roadmap • Runtime Analysis: • System level profiling and application monitoring • Integration of runtime analysis with operations • Static Analysis: • Editor integration (Squigglies) • More rules & targets
Team Test Mike Ormond mormond@microsoft.com
Test Case Management Manual Testing Load Testing Visio and UML Modeling Visual Studio Professional Edition Team Foundation Client (includes CAL) Code Profiler Code Coverage Unit Testing Manual Testing Static Code Analyzer Dynamic Code Analyzer Class Designer Load Testing Big Build Application Designer Project Management Test Case Management Project Site Reporting Integration Services Change Management Deployment Designer Logical Infra. Designer Work Item Tracking Process and Architecture Guidance Visual Studio Industry Partners Visual Studio Team System Visual StudioTeam Architect Visual StudioTeam Developer Visual StudioTeam Test Visual StudioTeam Foundation
Team Test • Testing becomes 1st class in Visual Studio • Tests are Source Code • Visual Studio Test Environment Authoring Execution Results
Test Authoring • Enable authoring features specific to testing without impeding standard development experience • Primary UI Elements • Solution Explorer • Test View • Properties Window • Results Window • Largest real estate reserved for code
Test Execution • Provide rich environment for the management and control of test cases • Primary UI elements • Test Explorer • Command Line Parser • Results Window • Primary user is not test author, rather to manage and execute tests
Test Results • Provide test execution information and outcome information • Primary UI Elements • Results Window • Provides run information, test results, error messages • Raise a bug directly from a test result