1 / 70

MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System . Didier Danse http://didierdanse.net Daniel Ferreira. Agenda. Application Lifecycle Management What is it & why is it useful? The Visual Studio Team System solution

naiya
Télécharger la présentation

MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

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. MSDN Event January 2008Introducing Application Lifecycle Management with Visual Studio Team System Didier Dansehttp://didierdanse.net Daniel Ferreira

  2. Agenda • Application Lifecycle Management • What is it & why is it useful? • The Visual Studio Team System solution • Visual Studio Team Suite • What’s in it for … • Team Foundation Server • Build Automation & Continuous Integration • Roadmap

  3. 100% 50% 0% Operations and Maintenance New Application Development ChallengesOperations & Maintenance Source: Forrester, Performance-Driven Development, Carey Schwaber, 2006

  4. ChallengesThe Cost of Quality Software quality errors cost businesses in the U.S.A. $59,000,000,000 each year • Software bugs account for • 55%of all downtime costs

  5. Non FunctionalRequirements Bugs Dev Team Tasks UseCase Business Analyst Project Manager Test Production Errors Operations Application Lifecycle ManagementWhat is it & why is it useful? Application lifecycle management (ALM) regards the process of delivering software as a continuously repeating cycle of inter-related steps: definition, design, development, testing, deployment and management. Change Requests “ALM solutions are integrated tool sets that support and unite the following lifecycle activities: requirements management, design and modeling, development, software configuration management (SCM), and testing.”

  6. Application Lifecycle ManagementDevelopment iterations

  7. Application Lifecycle ManagementProcess Template

  8. Demo Process Template

  9. Application Lifecycle ManagementWhich tools are used? • Visual Studio 2008 • Ms Office (Excel, Project…) • Manage Work Items • SharePoint (WSS 3.0 – MOSS 2007) • Share documents between team players • Reporting Services • View and create reports • Createyourown …

  10. Application Lifecycle ManagementHow to expose the same information to all roles and products?

  11. Visual Studio Team SystemApplication Lifecycle Management, the solution

  12. Application Lifecycle ManagementWhat is it & why is it useful? • Solve enterprise IT challenges • Better communication • Align business & IT • Measure team efficiency, real & perceived • Keep track of bits Improve Software Quality

  13. Agenda • Application Lifecycle Management • What is it & why is it useful? • The VSTS solution • Visual Studio Team System • What’s in it for … • Team Foundation Server • Build Automation & Continuous Integration • Roadmap

  14. What’s in it for … Project Managers / Business Analysts

  15. Project Managers / Business Analysts Project Portal • MOSS 2007/WSS 3.0 Support • Central repository for documents • Document management • Versionning – Permissions – Check in/out – Workflows – Alerts … • Remote servers capable • Extranet • Share documents, reports withcustomers

  16. Project Managers / Business Analysts Office Integration Each role can use the appropriate tool  Interaction between TFS and MS Excel / MS Project • Excel • Used especially for Work Items (Task, Bug, …) • Project • Used for planning and Task management

  17. Full integration into Microsoft Excel foradd, change Work Items Project Managers / Business Analysts Office Integration – Microsoft Excel

  18. Full integration into Microsoft Project fora real-time viewof work items Project Managers / Business Analysts Office Integration – Microsoft Project

  19. Demo Microsoft Office IntegrationProject Portal - SharePoint

  20. Project Managers / Business Analysts Web Access Web application for • Work Items management, Reports … Atthis time, itis a separatedownload

  21. How much work is leftand when will it be done ? Project Managers / Business Analysts Reports

  22. Demo Web Access Reports

  23. What’s in it for … Architect

  24. Architect Distributed System Designers • Distributed Application Diagram : • Application • System • LogicalDatacenter • Deployment

  25. Architect Distributed System Designers Applications Architects,Developers Infrastructure Architects

  26. Demo Distributed System Designers

  27. What’s in it for … Developers / Lead Developers

  28. Developers / Lead Developers Unit Tests and Code Coverage • How to be sure that individual method or function works correctly? • Create an application? No! • Prove production code works Unit Tests • How to be sure that all cases have been tested? • Determine effectiveness of unit tests  Code Coverage • Two views: • Summary • Code Highlight

  29. See easily Tests Results Developers / Lead Developers Unit tests – Results View

  30. Select test that you really want to run using the test view… Or run it directly from code editor environment Developers / Lead Developers Unit tests – Run View

  31. Identify quickly which blocks have not been tested Developers / Lead Developers Code Coverage – Summary View

  32. Quickly identify executed code paths to determine effectiveness of unit tests Developers / Lead Developers Code Coverage – Highlight View

  33. Demo Unit TestsCode Coverage

  34. Developers / Lead Developers Code Quality • Code Analysis • Analyze code withoutexecutingit • Identifycodingerrors and securityvulnerabilities • Spellingrules • Fullycustomizable • Code Metrics • Identify code whichwillbedifficult to maintain • Calculated Maintainability Index based on Cyclomatic Complexity, Depth of Inheritance, Class Coupling and Lines of Code

  35. Identify code blocks which need refactoring Developers / Lead Developers Code Quality

  36. Check code quality regarding best practices and custom rules Developers / Lead Developers Code Quality

  37. Developers / Lead Developers Performance Analysis How to be sure thatwedevelopreliable and robust software? • Performance Analysis • Measure and evaluate issues related to performance • Two types • Stampling (data collectedperiodically) • Instrumentation (data stored for lateranalysis) • Reports Comparison

  38. Load test applications for performance characteristics Developers / Lead Developers Performance Analysis

  39. Developers / Lead Developers Performance Analysis

  40. Demo Performance Analysis

  41. Developers / Lead Developers Version Control • How to avoid others to change the same file than you? • Exclusive & Shared Check out • How to be sure that we modify the latest version of a file? • Get Latest On Checkout • How to be sure that code checked in is correct? • Check in Policies

  42. Complete Source Control Integration in Menus Developers / Lead Developers Team Foundation Server Version Control

  43. Associate work items with each check-in to provide traceability from requirements to code Developers / Lead Developers Team Foundation Server Version Control – Check In Policies

  44. Developers / Lead Developers Version Control • How to create different versions? • Branching • How to apply corrections from older version? • Merging • How to help finding right older version? • Labeling • How to avoid to check in invalid code? • Not check in it! Use Shelving

  45. Developers / Lead Developers Version Control • How to see which files have been changed? • Folder Diff • How to see which block of lines have been changed and who have changed this code ? • Annotate

  46. Identify who modified file content and what has been changed Developers / Lead Developers Team Foundation Server Version Control - Annotate

  47. Demo Version Control

  48. What’s in it for … Database Professionals

  49. Database Professionals Version Control • Version Control • With the ability to reverse engineer a database • Samethan code version control [IMG]

  50. Database Professionals Schema and Data Comparison Comparisonbetweentwoenvironments  Generate a script whichallow to update targetdatabase • Schema Comparison • Tables • Views • StoredProcedures • Data Comparison

More Related