Upload
clint-edmonson
View
3.590
Download
0
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
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: [email protected] − 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
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.