1 / 43

Improving the Software Development Lifecycle with Visual Studio Team System

Improving the Software Development Lifecycle with Visual Studio Team System. Avanade UK Ltd Matthew Phillips I Director, Applications & Integration. About Avanade.

along
Download Presentation

Improving the Software Development Lifecycle 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. Improving the Software Development Lifecycle with Visual Studio Team System Avanade UK Ltd Matthew Phillips I Director, Applications & Integration

  2. About Avanade Avanade is the leading technology integrator specializing in the Microsoft enterprise platform. Our people help customers around the world maximise their IT investment and create comprehensive solutions that drive business results.

  3. Agenda • Introduction to Visual Studio Team System • Solution Overview • Metrics • Quick dip into some key features • Platform architecture • Platform extensibility • Team Foundation Server extensibility examples • Example 1: Project Server Integration • Example 2: Check-In Policies • Example 3: Process Integration • Adoption Tips & Lessons Learned

  4. Visual Studio Team System Introduction

  5. Visual Studio Team SystemApplication Life Cycle Management (ALM) Solution Real-time reporting fromdata warehouse Audit trail for compliance Improve predictability and reduce risk Increase Project Transparency Approachable and intuitive products Tight integration across tools,process and roles Single integrated serverfor collaboration Facilitate Team Collaboration Lightweight, customizable process Integrated quality tools for each role Reduce defects andsecurity vulnerabilities Improve Software Quality

  6. Visual Studio Team System Visual Studio Team Suite SoftwareArchitects SoftwareDevelopers DatabaseProfessionals SoftwareTesters VisualStudioTeamExplorer VisualStudioIndustryPartners Application Modeling Code Analysis Performance Testing Database Deployment Infrastructure and Deployment Modeling Performance Tuning Manual Testing DatabaseChange Mgmt. Test Case Management Database Testing Security Analysis Unit Testing Code Coverage MSF Process and Guidance Class Modeling Visio and UML Modeling Visual Studio Professional Edition Load Test Agent Visual Studio Team Foundation Server Change Management Reporting Integration Services Work Item Tracking Project Site Project Management

  7. Friction Free Metrics • Unobtrusive collection of source data • Retention of the full historical record • Ability to view metrics as the were in the past • Changes as your process changes

  8. Work planned Workcompleted How Far Can We Get In The Available Time?

  9. Against code coverage, … Test rates(pass, inconclusive, fail) shown in bars code churn, … and active bugs How Effective Is Our (Outsourced) Team?

  10. Blind Spots The X-axis identifies different components of your project; the bars show you the test pass rate for each component, while the points and line show the active bug count. Overlaying code coverage and code churn for the components provides a very different perspective on the data. There's a danger of relying on too few metrics! So the Instore Pickup Kiosk code is in great shape right?

  11. Complete audit trail on all tasks, code, and tests. Compliance and Auditing

  12. Customizable SharePoint portal for team collaboration Integrated Project Portal

  13. Full integration into Microsoft Project fora real-time viewof work items Project Planning

  14. Access work items, projectdocuments, reports, buildsand source control from one location Team Explorer

  15. Tests linked to requirements and work items to enable fulllife cycle traceability Testing

  16. Who checkedin what? Build verification test results as part of the build process Build And Deployment

  17. Auto generate unit test stubs Integrated Unit Testing

  18. Determine performance bottlenecks and memory usage Code Profiling

  19. Quickly identify executed code paths to determine effectiveness of unit tests Code Coverage

  20. Identify coding errors and security vulnerabilities Static Code Analysis

  21. Version Control Proxy Build Machines Team Foundation Client Tier Report Client Team Foundation App Tier Primary ATServer App Tier Standby Server Team Foundation Data Tier Database Clustering Team Foundation Architecture

  22. Team Foundation Client Tier Version Control Proxy Build Machine • Integrate services into Team Explorer • Automate common activities • Expose TFS functionality in your app • Write a custom checkin policy Report Client • Write a custom web interface for another platform • Hook Team Foundation events • Raise additional events • Manage authorization with TFS groups and permissions • Expose data in data warehouse • Link to TFS “artifacts” • Surface additional artifacts Team Foundation App Tier Team Foundation Data Tier Team Foundation Server Extensibility Points

  23. Extending Visual Studio Team System Example 1: Project Server Integration

  24. Microsoft Office Project Server 2003Introduction Managing projects, resources, and related information for an entire enterprise requires a holistic view and integration of project management data with the software development lifecycle • The Enterprise Project Management (EPM) solution with Microsoft Office Project Server 2003 can help organizations effectively manage and coordinate people, projects, and processes • The Microsoft EPM solution provides tools for strong coordination and standardization between projects and project managers, centralized resource management, and high-level reporting on projects and resources • Through familiar tools and ease of integration with a broad range of programs in the Microsoft Office System, the EPM solution promotes broad participation for greater accuracy, accountability, and acceptance

  25. Microsoft Office Project Server 2003 and Microsoft Visual Studio 2005 Team System Two powerful applications that are each used in different ways for management of software development projects • Up-to-date project information requires a seamless integration between the development environment and the project management tools VSTS integrates with Project Professional 2003 for desktop use • Allows project managers to plan and manage projects on a local computer • However, because there is no integration with Project Server, the project data for each team is available only in a stand-alone plan • There is no simple way to aggregate project data across multiple projects.

  26. VSTS cubes VSTS – Project Server Integration Visual Studio 2005 Team System MS Project Server Import/Export Synchro Guidance MS Excel based Work Plans MS Project based Work Plans Reporting Work Item Tracking System Workplan Creation Reporting VSTS Project Server Connector Team Project Creation Work Plan Creation Synchronisation Work Items / Work Plan VSTS Team project data Project Server Work Plan data VSTS Data Warehouse Project Server Data Warehouse Richer Reporting project actuals Project Server cubes + VSTS cubes

  27. Benefits Better visibility for project stakeholders • Real time data for active projects, report at project and portfolio level Better project management • Tracks resource utilization and task status Better resource management • Synchronises resources Better task tracking • Real time, automatic updates on tasks

  28. Extending Visual Studio Team System Example 2: TFS Version Control Extensions

  29. Introduction to Continuous Integration Continuous Integration can help ensure the majority of integration bugs manifest themselves shortly after check-in • Usually immediately obvious which change caused the bug • This greatly reduces the scope of the search for the bug Provides a “red/green” health check of the software • With no additional overheads as everything is automated Leverages your investment in unit testing • Automatically exercises the unit tests whenever something changes The net result of Continuous Integration is increased productivity by reducing time spent chasing bugs

  30. Adding Continuous Integration to VSTS Developer Workstation A Email Notification (Reports, Errors…) Source Code check-in Team Foundation Version Control Team Foundation Build Continuous Integration Service Initiates Team Build Team Foundation Version Control Check-in Notifications Source Code check-in Developer Workstation B

  31. VSTS Custom Check-in Policies Check-in policies provide policy enforceable QA and adherence to coding standards at the point of check-in Examples include: • Work item association • Enforces traceability between every code change and an associated work item • Comments policy • Enforces comments for every check-in • Workspace-in-synch policy • Ensures local workspace is up to date • Prevents developers from integrating changes against stale code

  32. Custom Check-in Policy Design New/modified policy definitions Policy definitions appropriate for check-in Policy Storage Server (Version Control) Plug in #1 Plug in #1 Policy definition client Policy evaluation client Plug in #2 Plug in #2 Team Explorer in VS.NET Source Control clients Policy Evaluation Policy Definition

  33. Traceability between code and work items Source files to check in … …with Work Items done… …and Check-in Notes and Policy Status

  34. Extending Visual Studio Team System Example 3: Custom Process Integration

  35. Introduction Process Template customization provides a way to integrate custom processes within a Team Project Example customizations • Custom work item types (e.g. bug, risk, issue, scenario etc.) • Pre-populated work items • Pre-populated documents • Areas and iterations • Reports • Portal customization

  36. Choose process when creating a new project Process Enacted by Tooling

  37. Adopting Visual Studio Team System Tips & Lessons Learned

  38. Many areas to consider... Adoption Planning Training & Coaching Roles and Responsibilities Setting Clear Goals Developing a Roadmap Measuring Success Operational Impact Change Management Lessons Learned Migration Planning

  39. Adoption Tips Determine the goals of the new development environment and make sure you measure these goals (make them SMART) Consider implementing the new environment next to the existing, don’t go for “big bang” Success sells itself, start with smaller pilot projects New frameworks and tools have an impact on the organization structure and ways of working Make sure to implement configuration management properly Think about change & release management Do pilot projects and make sure to have Subject Matter Experts/Coaches available

  40. Possible Goals Cost reduction Better outsourcing Improve transparency/visbility to the business Improve productivity Improve predictability Improve quality Improve consistency Compliance Foundation for continuous improvement Process maturity ….

  41. Example Roadmap Design Solution Proof of Concept Deploy 41

  42. VSTS Lessons Learned Getting VSTS and Team Foundation Server accepted in production by the IT department isn’t always easy There can be resistance to using Work Item Tracking by certain people (“administrative nonsense”) • But using it is crucial for success Some people don’t like objective reporting A Business or IT project does not necessarily map one to one with a Team Project in VSTS • Think about Areas & Iterations and grouping dependent projects in a single Team Project

  43. Review Questions?

More Related