67
http://go.microsoft.com/? linkid=9692084

Drive Your Development with Visual Studio 2010

Embed Size (px)

DESCRIPTION

Visual Studio 2010 is the most comprehensive suite of application development tools a software team could ever wish for. But its dazzling array of features can be daunting to say the least. Whether you’re building custom line-of-business applications or the next killer viral internet app you need to understand what’s under the hood and how your team can take advantage of its broad capabilities. Join a team of industry experts for a hands-on discussion of proven techniques for getting the most power and mileage out of this incredible product. Session 1: Drive Your Process In our first session we will examine what it takes to establish and support a world class development team using Visual Studio 2010 and Team Foundation Server 2010. We will discuss what makes a team great and how to choose a software development methodology to ensure repeatable results. We will reveal best practices to help teams perform at world class levels using Visual Studio 2010. Session 2: Drive Your Design In this session, we will take a look at role of design in modern development teams. We will discuss strategies for choosing the right level of design based on the complexity of your projects and best practices for ensuring designs are fully realized. We will also provide an overview of the new UML features provided in Visual Studio 2010 that support model driven development. Session 3: Drive Your Code In our last session, we will take a look at how it all comes together. We will walk through the process of turning requirements and designs into code and highlight the powerful tools provided in Visual Studio 2010 to help you create what you can imagine, build on the strengths of your team, and open up new possibilities. Presenters on this tour are team development expert Jeff Fattic, solutions architect MVP Kevin Grossnicklaus, and Architect Evangelist Clint Edmonson.

Citation preview

Page 1: Drive Your Development with Visual Studio 2010

http://go.microsoft.com/?linkid=9692084

Page 2: Drive Your Development with Visual Studio 2010

Today’s Sessions

Session 1: Drive Your Process

Session 2: Drive Your Design

Session 3: Drive Your Code

Page 3: Drive Your Development with Visual Studio 2010

Drive Your Process

Kevin GrossnicklausArchitectNow

Drive Your Development with Visual Studio 2010

Page 4: Drive Your Development with Visual Studio 2010

Introduction− Kevin Grossnicklaus

− ArchitectNow- www.ArchitectNow.net (2009-Present)− President

− Washington University - CAIT Program (2003-Present)− Instructor

− SSE - www.SSEinc.com (1999-2009)− Chief Architect− Software Development Practice Leader

− Email: [email protected] − Twitter: http://twitter.com/kvgros − Blog: http://www.GeeksWithBlogs.com/kgrossnicklaus

Page 5: Drive Your Development with Visual Studio 2010

Agenda

− Expectations− General Development Processes− Setting Up a New Project− VS.NET 2010/TFS 2010− Demos− Resources

Page 6: Drive Your Development with Visual Studio 2010

Expectations

− What can I expect out of this session?− Where can I get more information?

Page 7: Drive Your Development with Visual Studio 2010

General Development Processes

Page 8: Drive Your Development with Visual Studio 2010

Software Teams

− Roles− Project Managers− Analysts − Architects− Developers− DBA’s and Database Developers− Testers− Subject Matter Experts (SMEs)

− Various team members commonly separated by geography and time zones

− Many times team members are working on multiple simultaneous projects

Page 9: Drive Your Development with Visual Studio 2010

Development Methodologies

− Methodologies define the processes followed to design, build, test, and deploy software

− Common options include:− Agile− Waterfall

− There are repeatable processes to writing great software

Page 10: Drive Your Development with Visual Studio 2010

Development Tools

− Tools manage the tangible tasks to create deliverables as well as facilitate the workflow and collaboration between team members

− Tools should be flexible enough to be useful regardless of the methodology

Page 11: Drive Your Development with Visual Studio 2010

Common ALM Tools

− Requirements Tracking− Issue/Defect Tracking− Source Control/Change Management− Development/Debugging− Database Design/Development− Build Management− Testing− Reporting/Oversight− Collaboration/Knowledge Sharing

Page 12: Drive Your Development with Visual Studio 2010

Best Practices− Clearly understood process− Common tools

− Consistent knowledge of tools− Consistent and repeatable conventions

− Naming− Architectural− UX

− Automated build process− Continuous Integration builds

− Test Driven Development− Clearly understood environments

− Test− Pre-Production

Page 13: Drive Your Development with Visual Studio 2010

Common Scenario:Infrastructure for a New Project

Page 14: Drive Your Development with Visual Studio 2010

Getting Started: Tools Setup

− Select tools− Install/Configure if necessary

− Verify connectivity of all team members to necessary tools

− Configure all team members in appropriate tools with appropriate permissions and workflow settings

− Train and support team members in use of various tools

Page 15: Drive Your Development with Visual Studio 2010

Getting Started: Development− Set up project structure in source control− Verify developers have connectivity− Set up databases and secure/expose

accordingly− Set up additional test environments (i.e.

Test, Pre-Production, etc)− Configure automated build and

continuous integration processes− Distribute/configure any necessary

licenses to 3rd party controls− Other steps?

Page 16: Drive Your Development with Visual Studio 2010

Considerations

− New Team Members− On boarding process and training− Licenses

− Tool Upgrades− Remote Access− Backup/Restore− Multiple Simultaneous Projects

Page 17: Drive Your Development with Visual Studio 2010

Visual Studio.NET 2010 Team Foundation Server 2010

Page 18: Drive Your Development with Visual Studio 2010

Visual Studio.NET 2010

− .NET 4.0 Framework− Releases:

− Current: Beta 2 (w/ Go Live license)− http://msdn.microsoft.com/en-us/vstudio/

dd582936.aspx − Final: April 2010

− 3 SKUs:− Ultimate− Premium− Professional

Page 19: Drive Your Development with Visual Studio 2010

Team Foundation Server 2010− Full suite of integrated ALM

capabilities − Work Item Tracking− Source Control− Collaboration/Knowledge Sharing− Project Tracking/Reporting− Project Dashboards− Build Management− Continuous Integration − Test Lab Management

Page 20: Drive Your Development with Visual Studio 2010

Team Foundation Server 2010− Tightly integrated with VS.NET 2010− Built on:

− WSS 3.0− SQL Server 2008− SQL Server Reporting Services

Page 21: Drive Your Development with Visual Studio 2010

Demos

Page 22: Drive Your Development with Visual Studio 2010

ALM with TFS 2010

− Tightly integrated with VS.NET 2010− Extensive team collaboration via

SharePoint− Manage all projects from a single point− Completely automated build process

− Continuous Integration− Gated Builds− Automated unit test execution

− Single point of backup for all project assets− Extensive reporting and query capabilities

for project oversight

Page 23: Drive Your Development with Visual Studio 2010

VS.NET 2010 and TFS 2010

Communication

Collaboration

Automation

Page 24: Drive Your Development with Visual Studio 2010

Questions?

Page 25: Drive Your Development with Visual Studio 2010

Resources

− VS.NET 2010 and TFS 2010 Beta 2Virtual Images− Windows 7 Virtual PC

− http://www.microsoft.com/downloads/details.aspx?FamilyID=27d91e63-e33b-4cef-a331-f20d343da9de&displaylang=en

− Windows 2008 Hyper-V− http://www.microsoft.com/downloads/

details.aspx?FamilyID=426cdffc-53b5-46a5-89d3-e2ecd23570c6&displaylang=en

− Virtual PC 2007− http://www.microsoft.com/downloads/

details.aspx?FamilyID=540777b0-cbd7-485e-bde5-23a1d4f442e0&displaylang=en

Page 26: Drive Your Development with Visual Studio 2010

What’s Next?

Session 1: Drive Your Process

Session 2: Drive Your Design

Session 3: Drive Your Code

Page 27: Drive Your Development with Visual Studio 2010

Drive Your Design

Clint EdmonsonArchitect EvangelistMicrosoft Corporation

Drive Your Development with Visual Studio 2010

Page 28: Drive Your Development with Visual Studio 2010

Agenda

− Why should we design first?− What should we design?− How will we design with Visual Studio

2010− Why is Microsoft investing in design

tools

Page 29: Drive Your Development with Visual Studio 2010

Quick show of hands

Anyone using…− Visio− Together− Altova− Rational− Sparx− Others???

Page 30: Drive Your Development with Visual Studio 2010

Why should we design first?

Page 31: Drive Your Development with Visual Studio 2010
Page 32: Drive Your Development with Visual Studio 2010
Page 33: Drive Your Development with Visual Studio 2010
Page 34: Drive Your Development with Visual Studio 2010
Page 35: Drive Your Development with Visual Studio 2010
Page 36: Drive Your Development with Visual Studio 2010

Solve Customer Problems

Analyze and Plan• How do I better

understand a business problem to be solved?

• How do I validate the logical architecture against existing patterns and design rules?

• How do I share this with the team?

Understand and Evolve• How can I better

understand my system (or a system that I have never seen before)?

• How do I evolve that system to meet changing business needs?

Execute and Deliver• How do I know if I am

on track?

• How do I know if the system under development is not breaking design rules?

• How do I know what the quality of my components are?

Page 37: Drive Your Development with Visual Studio 2010

Lower Fidelity + Higher Abstraction− Design before code – lower fidelity , saves time,

money, and avoids mistakes− Abstraction level above code− Determine difficult decisions before we start

building anything− Communicate our thoughts to others without

making them read the code

Page 38: Drive Your Development with Visual Studio 2010

Demo

Architecture Explorer

Page 39: Drive Your Development with Visual Studio 2010

What should we design?

Page 40: Drive Your Development with Visual Studio 2010

Logical & Physical Designs− Logical design refers to the class and

algorithmic structure of a program

− Physical design refers to how these classes are packaged into assemblies and deployed

Page 41: Drive Your Development with Visual Studio 2010

Architectural Frameworks− Krutchen’s 4+1 Views of Architecture− TOGAF

(The Open Group Architecture Framework)− Zachman Framework

Page 42: Drive Your Development with Visual Studio 2010

Architectural Frameworks

Krutchen’s 4+1 Views

Page 43: Drive Your Development with Visual Studio 2010

Architectural Frameworks

TOGAF

Page 44: Drive Your Development with Visual Studio 2010

Architectural FrameworksZachman Framework

Page 45: Drive Your Development with Visual Studio 2010

Architectural Views (TODO)− As a minimum (think Agile):

− Layer Diagram (Logical)− Use Case Diagram (Logical)− Logical Class Diagram (Logical)− Component Diagram (physical)− Deployment Diagram (physical)

Page 46: Drive Your Development with Visual Studio 2010

Design vs. Realization

− Should designs be tightly coupled to code? − To the VS project or solution?

− Our approach is to use explicit designer initiated transformations

Page 47: Drive Your Development with Visual Studio 2010

How will we model with Visual Studio 2010?

Page 48: Drive Your Development with Visual Studio 2010

Models as…

− Sketch− Blueprint− …(TODO)

Page 49: Drive Your Development with Visual Studio 2010

Our Approach

• UML at the logical layer• DSLs at the physical layer

• Provide first class modeling support for .NET• Re-factor using visual model

• ALM integration

Integrated Logical and Physical Modeling

• Visualize existing code assets• Understand, manipulate and reuse

Architectural Discovery

• Continuous validation of architectural constraints• FxCop equivalent for design (TODO)• Model to code traceability• Clear connection of Architecture to Business Value

Architectural Validation

Page 50: Drive Your Development with Visual Studio 2010

UML & other DSLs

Page 51: Drive Your Development with Visual Studio 2010

Demo

Diagram Walkthroughs

Page 52: Drive Your Development with Visual Studio 2010

Why is Microsoft investing in modeling?

Page 53: Drive Your Development with Visual Studio 2010

Our GoalsBroadening the Reach of Modeling

Manage complexity with Visual Models

Understand, manipulate and evolve applications

Leverage Models across ALM

Page 54: Drive Your Development with Visual Studio 2010

Questions?

Page 55: Drive Your Development with Visual Studio 2010

Next Steps− Download the Beta 2

− (TODO) Available later this month

− Team blog:− http://blogs.msdn.com/vsarch

− Stayed tuned to my blog for more…− http://www.notsotrivial.net

Page 56: Drive Your Development with Visual Studio 2010

What’s Next?

Session 1: Drive Your Process

Session 2: Drive Your Design

Session 3: Drive Your Code

Page 57: Drive Your Development with Visual Studio 2010

Drive Your Code

Jeff FatticMid-Tier Applications Supervisor

Drive Your Development with Visual Studio 2010

Page 58: Drive Your Development with Visual Studio 2010

Who’s Jeff and why should I listen to him?− I’ve built dev and test teams from the

ground up− Formerly ALM Practice Manager

− Assisted several companies in enabling process & enabling change, adopting VSTS

− Microsoft Virtual Technology Specialist for Dev Tools

− Inner Circle Partner− VSTS TAP participant

− Using VSTS since 2004 (2005 beta)− Using VSTS 2010 for almost two years

Page 59: Drive Your Development with Visual Studio 2010

Can anyone tell me what’s happened up ‘til now?

Page 60: Drive Your Development with Visual Studio 2010

Portfolio Management

• Unified Project & Portfolio Management

• Business Case Development

• Business Strategy Prioritization

• Portfolio Prioritization & Optimization

Page 61: Drive Your Development with Visual Studio 2010

Project Management• Team Planning• Capacity Planning• Time Tracking

Page 62: Drive Your Development with Visual Studio 2010

Iteration Planning

• Project & Excel integration

• Task breakdown• Estimation collaboration

Page 63: Drive Your Development with Visual Studio 2010

Now, enough talk! On to the demo…

Page 64: Drive Your Development with Visual Studio 2010

Architecture

•Architecture Explorer

•Layer Diagram•Use case designer•Activity designer•Component diagram

•Logical class designer

•Sequence diagram•Modeling project system

•UML Model Explorer•Architecture validation during build

Development & Database

•Historical debugging

•Test impact analysis• Improved code analysis

• Improved profiling (incl. multi-tier)

•Database extensibility

Lab Management

•Multi-tier environment creation and management

•Automated deployment

•Easily manage machine pools

•Network fencing•Checkpoints

Test

•Test planning•Test case management

•Test prioritization•Run management & reporting

•Project quality reports

•Manual test execution

•Diagnostic recording (environment, video, etc.)

•UI Automation recording

•Coded UI tests

TFS

•Work item hierarchy & link types

• Improved Agile template

•MOSS & WSS dashboards

•Simplified reporting• Improved support for parallel development

•Rollback•Build queuing and pooling

•Gated check-in•Simplified setup•Scale out of web and data tiers

•Admin console•Project move/archive/restore

New Features in VSTS 2010

Fully supports

Java shops

Page 65: Drive Your Development with Visual Studio 2010

How Can I Find Out More?

My Blogjeffsuperman.spaces.live.com

My [email protected]

MSDNLocal VSTS Users Group

When Can I Get My Hands On This Stuff?Beta 2 VPC available and “go-live” todayRC Coming Soon!RTM: April 12, 2010 We love

feedback!

Page 66: Drive Your Development with Visual Studio 2010

Questions?

Page 67: Drive Your Development with Visual Studio 2010

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,

IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.