Drive Your Development with Visual Studio 2010

Preview:

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

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

Today’s Sessions

Session 1: Drive Your Process

Session 2: Drive Your Design

Session 3: Drive Your Code

Drive Your Process

Kevin GrossnicklausArchitectNow

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: kvgros@architectnow.net − Twitter: http://twitter.com/kvgros − Blog: http://www.GeeksWithBlogs.com/kgrossnicklaus

Agenda

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

Expectations

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

General Development Processes

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

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

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

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

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

Common Scenario:Infrastructure for a New Project

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

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?

Considerations

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

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

Visual Studio.NET 2010 Team Foundation Server 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

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

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

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

Demos

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

VS.NET 2010 and TFS 2010

Communication

Collaboration

Automation

Questions?

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

What’s Next?

Session 1: Drive Your Process

Session 2: Drive Your Design

Session 3: Drive Your Code

Drive Your Design

Clint EdmonsonArchitect EvangelistMicrosoft Corporation

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

Quick show of hands

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

Why should we design first?

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?

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

Demo

Architecture Explorer

What should we design?

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

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

(The Open Group Architecture Framework)− Zachman Framework

Architectural Frameworks

Krutchen’s 4+1 Views

Architectural Frameworks

TOGAF

Architectural FrameworksZachman Framework

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)

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

How will we model with Visual Studio 2010?

Models as…

− Sketch− Blueprint− …(TODO)

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

UML & other DSLs

Demo

Diagram Walkthroughs

Why is Microsoft investing in modeling?

Our GoalsBroadening the Reach of Modeling

Manage complexity with Visual Models

Understand, manipulate and evolve applications

Leverage Models across ALM

Questions?

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

What’s Next?

Session 1: Drive Your Process

Session 2: Drive Your Design

Session 3: Drive Your Code

Drive Your Code

Jeff FatticMid-Tier Applications Supervisor

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

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

Portfolio Management

• Unified Project & Portfolio Management

• Business Case Development

• Business Strategy Prioritization

• Portfolio Prioritization & Optimization

Project Management• Team Planning• Capacity Planning• Time Tracking

Iteration Planning

• Project & Excel integration

• Task breakdown• Estimation collaboration

Now, enough talk! On to the demo…

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

How Can I Find Out More?

My Blogjeffsuperman.spaces.live.com

My Emailjfattic@live.com

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!

Questions?

© 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.

Recommended