1 / 29

ALM and Things That Cost Money

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.

sasha
Download Presentation

ALM and Things That Cost Money

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

  4. 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

  5. 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

  6. BUGS because we are humans

  7. 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

  8. 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?

  9. 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

  10. Finding and fixing bugs using Intellitrace

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

  12. 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

  13. 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

  14. Load Testing and Analysis

  15. Deployment Users don’t run imaginary software!

  16. 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

  17. 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

  18. Demo Build-Deploy-Test

  19. ALM Action Plan

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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!

  25. 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

  26. 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

  27. 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!

More Related