ALM and Things That Cost Money Using Visual Studio 2010 to Optimize Software Development.

Download Report

Transcript ALM and Things That Cost Money Using Visual Studio 2010 to Optimize Software Development.

ALM and Things That Cost Money
Using Visual Studio 2010 to Optimize Software Development
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
The Cost of Inadequate Software
Testing (billions)
How can a
business absorb these
costs?
Software users
Software developers
$0
$10
$20
$30
Source: NIST, The Economic Impacts of Inadequate Infrastructure for Software Testing 2002
$40
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
BUGS
because we are humans
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
demo
Finding and fixing bugs using Intellitrace
Scale
How do you know how many users it’ll handle?
What happens if it doesn’t?
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
demo
Load Testing and Analysis
Deployment
Users don’t run imaginary software!
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
Demo
Build-Deploy-Test
ALM Action Plan
ALM Action Plan
Visit the Visual Studio 2010 Product Site
http://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 Centers
http://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 Content
These are a good start, and remember: Bing is your friend!
• Team Development with Team System
http://www.codeplex.com/tfsguide
• ALM Assessment
http://www.microsoft.com/almassessment
• Team System Rocks
http://www.teamsystemrocks.net
• Upgrade Guidance
http://vs2010upgradeguide.codeplex.com/
• Channel 9
http://channel9.msdn.com
ALM Action Plan
Read Some Books
In paper or ebook format
These publishers produce books on
Team System:
• Addison-Wesley Professional
http://awprofessional.com
• Apress
http://apress.com/
(@Apress on Twitter)
• Manning Publications
http://manning.com
(@ManningBooks on Twitter)
• Microsoft Press
http://mspress.microsoft.com
• Sams Publishing
http://samspublishing.com/
• Wrox Press
http://wrox.com
ALM Action Plan
Update to Visual Studio 2010 and MSDN
http://www.microsoft.com/visualstudio/en-ca/products/2010/default.mspx and
http://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 TechDays
http://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 and
a 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 Conferences
To 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 Team
http://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!