290 likes | 388 Views
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.
E N D
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
The Cost of Inadequate Software Testing (billions) Software users Software developers $0 $10 $20 $30 $40 Challenges: Quality How can a business absorb these costs? Source: NIST, The Economic Impacts of Inadequate Infrastructure for Software Testing 2002
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
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
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 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 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 Books In paper or ebook format • These publishers produce books on Team System: • Addison-Wesley Professionalhttp://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 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 downloadsand 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 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 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!