using visual studio 2010 to optimize software development alm and things that cost money
TRANSCRIPT
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
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?
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
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
because we are humans
BUGS
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
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?
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
demoFinding and fixing bugs using Intellitrace
How do you know how many users it’ll handle?What happens if it doesn’t?
Scale
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
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
demoLoad Testing and Analysis
Users don’t run imaginary software!
Deployment
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
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
Build-Deploy-Test
Demo
ALM Action Plan
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
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
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
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
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!
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
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
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!