using visual studio 2010 to optimize software development alm and things that cost money

29

Upload: elijah-banks

Post on 23-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money
Page 2: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

Using Visual Studio 2010 to Optimize Software Development

ALM and Things That Cost Money

Page 3: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

Challenges: Quality

• Can you afford software problems?• Software quality errors cost U.S. businesses over

$59 billion annually• The bulk of this cost is absorbed by the end users

of the software

Page 4: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

Challenges: Quality

Source: NIST, The Economic Impacts of Inadequate Infrastructure for Software Testing 2002

The Cost of Inadequate Software Testing (billions)

Software users

Software developers

$0 $10 $20 $30 $40

How can a business absorb these costs?

Page 5: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

Quality as an Afterthought

• Testing starts late in development cycle• Quality tough to enforce• Multiple IDEs affects productivity• No integration / no collaboration• Silos of tools

• Testing Cycles Ineffective• Code churn• Cycles too long• Repetitive process

Page 6: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

Process Things That Are Expensive!

• Doing Software Development Correctly means you will:• Identify Bugs, Triage and fix them• Build for Scale• Manage Deployment

• These things are expensive:• Usually need subject matter expertise• Usually need specialized tooling• Usually require a lot of human time and interaction

Page 7: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

because we are humans

BUGS

Page 8: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

Bug Triaging

• Why did the bug occur? There are lots of places they can creep in.• What can we do to reduce bugs?• Better Requirements

• Specificity- Are we building the right thing• Are our test cases testing for the right requirement?

• Proper Unit Testing• Make sure to use code coverage• Don’t assume code will work because it’s simple

• Code Analysis• Use the “experts” in the tools• Find memory and performance hotpaths

Page 9: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

Bug Fixing

• But no matter what you do, Bugs happen!• It’s hard to identify the source of bugs• No Repro Scenarios – “it doesn’t happen on my

machine”• Performance Issues• It works, but it’s really slow

• When bugs happen, how quickly and effectively can you deal with them?

Page 10: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

Approaches to finding bugs early

• Finding and Resolving Bugs means using a lot of approaches, as part of your routine!• Developer-QA Interaction• IntelliTrace• Profiling (with and without load tests)• Unit Testing• Load Testing• Code Analysis• Test Automation in Regular Builds• Lab Manager to test “real” environments

Page 11: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

demoFinding and fixing bugs using Intellitrace

Page 12: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

How do you know how many users it’ll handle?What happens if it doesn’t?

Scale

Page 13: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

Building for Scale

• A single user system is different from a multi-user system:• Resource contention, locking, serialization• Processing hot-paths

• It has been traditionally difficult and expensive to build for scale:• Specialized tooling, domain knowledge• Lots of human cost: build test environments,

analyzing Results

Page 14: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

Performance Tools- Demo

• Make use of automation to regularly run:• Web, Unit, and Database unit tests• Load Testing• Code Analysis

• These give you insights early in the process

Page 15: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

demoLoad Testing and Analysis

Page 16: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

Users don’t run imaginary software!

Deployment

Page 17: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

Challenges Around Deployment

• Users (hint, the people that pay) want to see it in action• The bigger the project (hint, the bigger the $) the more often

they want to see it• They don’t like bugs, they lose faith, and you lose sleep• Better Quality if you are testing against “real” environment

all the time, but:• Deployment scripts maintenance is a bear• Hardware provisioning takes time• Linking the builds to the environment and going back is

time consuming

Page 18: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

Deployment Tools Demo

• Use virtualization and deployment as a friend!• It gives you insight• It gives you a quality bar• It gives the user confidence

• Automation can ease this burden substantially!• Build Server Automation• Automated Tests• Virtualization and Lab Manager

Page 19: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

Build-Deploy-Test

Demo

Page 20: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

ALM Action Plan

Page 21: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

ALM Action Plan

Visit the Visual Studio 2010 Product Sitehttp://www.microsoft.com/vstudio ... Or Bing it!

The first step towards Visual Studio 2010 and ALM enlightenment, with:• An overview of Visual Studio

versions• Videos covering Visual Studio

and TFS features and benefits that matter to:• Developers• IT Pros• End users/decision-makers• Partners

• Downloads of trial versions of Visual Studio 2010

Page 22: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

ALM Action Plan

Visit the Visual Studio Developer Centershttp://msdn.microsoft.com/en-ca/teamsystem ... Or Bing it!

Dive deeper into development with:• Training: From “getting started”

video tutorials and advanced virtual labs to courses offered by Microsoft Learning

• Knowledge: In the form of documentation, articles and webcasts

• Community links: Find who’s talking about VSTS on blogs, forums, and social networking sites

• Code: See other people’s code and learn by example

Page 23: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

ALM Action Plan

Get Guidance and Training ContentThese are a good start, and remember: Bing is your friend!

• Team Development with Team Systemhttp://www.codeplex.com/tfsguide

• ALM Assessmenthttp://www.microsoft.com/almassessment

• Team System Rockshttp://www.teamsystemrocks.net

• Upgrade Guidancehttp://vs2010upgradeguide.codeplex.com/

• Channel 9http://channel9.msdn.com

Page 24: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

ALM Action Plan

Read Some BooksIn paper or ebook format

These publishers produce books on Team System:• Addison-Wesley Professional

http://awprofessional.com

• Apresshttp://apress.com/ (@Apress on Twitter)

• Manning Publicationshttp://manning.com(@ManningBooks on Twitter)

• Microsoft Presshttp://mspress.microsoft.com

• Sams Publishinghttp://samspublishing.com/

• Wrox Presshttp://wrox.com

Page 25: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

ALM Action Plan

Update to Visual Studio 2010 and MSDNhttp://www.microsoft.com/visualstudio/en-ca/products/2010/default.mspx andhttp://www.microsoft.com/visualstudio/en-ca/products/msdn/default.mspx... Or Bing it!

Visual Studio 2010:• The all-in-one work environment

for coding, modelling, testing, debugging and deploying

• Ready to build and debug SharePoint 2010 applications with a click of “New Project…”

MSDN:• The ultimate developer resource

with downloads and documentation, software and support, and Azure compute time too!

Page 26: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

ALM Action Plan

Go to TechDayshttp://techdays.ca/

• It’s our big cross-Canada training conference held in the fall(covering 8 cities this year)

• Big conference content,but with local speakers anda down-home price of admission(especially if you register early!)

• Deep dives into Microsoft tools and technology, including ALM scenarios

• Access to content from the TechDays and TechEd North America conferences

• Great giveaways• An excellent networking

opportunity

Page 27: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

ALM Action Plan

Go to Other ConferencesTo find them, remember that Bing is your friend!

• Microsoft Developer Conferences• DevTeach• PDC• MIX

• Code Camps• Local developer conferences held

by user groups and local heroes

Page 28: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money

ALM Action Plan

Get to Know the Tech Evangelism Teamhttp://blogs.msdn.com/cdndevs/ and http://blogs.technet.com/canitpro/

• A crack team of Developer and IT Pro evangelists who support you

• We organize events like EnergizeIT, TechDays and more

• Our blogs:• Canadian Developer Connection• Canadian IT Pro Connection• Canadian IT Manager Connection• Canadian IT Architecture Connection

• Our webcasts:• Ignite Your Coding• Ignite Your Career• Ignite Your Venture

• We’re here for you!

Page 29: Using Visual Studio 2010 to Optimize Software Development ALM and Things That Cost Money