Improving The Software Development Lifecycle With Visual Studio Team System
Upcoming SlideShare
Loading in...5
×
 

Improving The Software Development Lifecycle With Visual Studio Team System

on

  • 2,254 views

 

Statistics

Views

Total Views
2,254
Views on SlideShare
2,248
Embed Views
6

Actions

Likes
2
Downloads
76
Comments
0

3 Embeds 6

http://www.linkedin.com 4
http://www.lmodules.com 1
http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • Real time reporting from data warehouse Gather descriptive metrics Find the bottlenecks Answer everyday questions e.g. Which customer requirements have been tested? What is the quality? Where Do We Need To Shift Resources? How Far Can We Get In The Available Time? How Effective Is Our Outsourced Team? Can We Demonstrate Our Practices For The Auditor? How did the team perform last time? Descriptive versus prescriptive metrics
  • Multi-dimensional view of project data Prescriptive versus descriptive metrics
  • Changesets group together sets of related files into logical units of work Enforce links between changesets and work items at the time of check-in
  • Team collaboration Visibility to all project stakeholders
  • Traceability ensures test coverage.
  • No more manually compiled release notes (or no release notes). Automated release notes tell us precisely what changes are in each build.
  • 03/29/10 18:21 © 2007 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Team Foundation Logical Architecture Team Foundation is based on a multi-tiered architecture, consisting of a data tier, an application tier, and a client tier. Data Tier The Team Foundation data tier consists of Microsoft SQL Server 2005, which stores work items, version-controlled source files, test results and other project metrics. Application Tier The Team Foundation application tier is composed of Web-based, front-end applications that are integrated with Internet Information Services (IIS). These applications include SQL Server 2005 Reporting Services, Team Foundation Core Services and Windows SharePoint Services. In addition, the application tier hosts Team Foundation Windows services. The Team Foundation application tier also includes Team Foundation Build Services and Team Foundation Server Proxy. Team Foundation Build Services allow it to connect to Build Servers. Team Foundation Server Proxy caches previously accessed source control files to improve the performance of source control operations over low-bandwidth connections. Client Tier The Team Foundation client tier consists of Team Explorer, which can be used as a standalone application or integrated with Visual Studio 2005 (except for Visual Studio 2005 Express Editions). The client tier also integrates with Microsoft Office Project 2003 and Microsoft Office Excel 2003, which project managers can use to view project information and publish that information to Team Foundation Server. Team Foundation Physical Architecture You can install the logical tiers of Team Foundation on one or more physical computers. Team Foundation Server You can install Team Foundation Server using a single- or dual-server deployment. Single-Server The single-server deployment of Team Foundation Server places the data and application tiers on the same computer. If you choose to install the client tier on the same computer as the data and application tiers, you should only do so after installing the server components. Otherwise, you can install the client tier in parallel with the other tiers. Dual-Server The dual-server deployment of Team Foundation Server places the data and application tiers on separate computers. You may install prerequisites on both server computers concurrently; however, you must install the Team Foundation data tier components prior to installing the Team Foundation application tier components. If you choose to install the client tier on the same computer as the application tier, you should only do so after installing the application tier components. Otherwise, you can install the client tier in parallel with the other tiers. Team Foundation Build Team Foundation Server offers build automation to help you build and share Visual Studio 2005 solutions using Team Foundation Build. You can install Team Foundation Build on a separate computers, or on the same computer as the Team Foundation application tier. Team Foundation Server Proxy Team Foundation Server Proxy improves the performance of Team Foundation version control by caching previously accessed files. You can install Team Foundation Proxy on a separate computer, or on the same computer as the Team Foundation application tier. Team Explorer As mentioned earlier, the client tier consists of Team Explorer, which can be used as a standalone application or integrated with Visual Studio 2005 (except for Visual Studio 2005 Express Editions). To access Team Foundation Server, you must first install Team Explorer. Team Explorer is both a standalone application with Team Foundation functionality only, and an addition to Visual Studio that provides integrated Team Foundation functionality. It provides access to work item tracking, project management and version control features. You can also use Team Explorer to access Team Foundation Server features to support development activities with earlier versions of Visual Studio. MSDN: Team Foundation Application-Tier Servers http://msdn2.microsoft.com/en-us/library/ms400671.aspx MSDN: Team Foundation Data-Tier Servers http://msdn2.microsoft.com/en-us/library/ms400726.aspx
  • 03/29/10 18:21 © 2007 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • Project Managers and Resource Managers continue to work in the EPM environment while the development team works in the VSTS development environment, and data seamlessly flows between the two systems by virtue of the connector
  • Introduction Process Template customization provides a way to integrate custom processes within a Team Project. You can change the template to match your process and environment. MSF for Agile Software Development and MSF for CMMI Process Improvement provide the tools to apply software engineering principles to a process. This includes work items to track special cause variation, velocity and risk. The creation of new Team Projects requires careful consideration. It is a time consuming activity (even with tools) and requires a thorough knowledge of many schemas and components. MSDN: Customizing Work Item Types  http://msdn2.microsoft.com/en-us/library/ms243849.aspx 03/29/10 18:21 © 2007 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • 03/29/10 18:21 © 2007 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Improving The Software Development Lifecycle With Visual Studio Team System Improving The Software Development Lifecycle With Visual Studio Team System Presentation Transcript

  • Improving the Software Development Lifecycle with Visual Studio Team System
    • Avanade UK Ltd
    • Matthew Phillips I Director, Applications & Integration
  • 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.
  • 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
  • Visual Studio Team System
    • Introduction
  • Visual Studio Team System Application Life Cycle Management (ALM) Solution Increase Project Transparency Facilitate Team Collaboration Improve Software Quality
    • Approachable and intuitive products
    • Tight integration across tools, process and roles
    • Single integrated server for collaboration
    • Real-time reporting from data warehouse
    • Audit trail for compliance
    • Improve predictability and reduce risk
    • Lightweight, customizable process
    • Integrated quality tools for each role
    • Reduce defects and security vulnerabilities
  • Visual Studio Team System Visual Studio Team Suite MSF Process and Guidance Visual Studio Team Foundation Server Visual Studio Industry Partners Software Architects Software Developers Software Testers Database Professionals Visual Studio Team Explorer Application Modeling Infrastructure and Deployment Modeling Code Analysis Performance Tuning Security Analysis Database Deployment Database Change Mgmt. Database Testing Performance Testing Manual Testing Test Case Management Visual Studio Professional Edition Change Management Work Item Tracking Reporting Project Site Integration Services Project Management Load Test Agent Visio and UML Modeling Class Modeling Unit Testing Code Coverage
  • 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
  • How Far Can We Get In The Available Time?
  • How Effective Is Our (Outsourced) Team?
  • 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. So the Instore Pickup Kiosk code is in great shape right? There's a danger of relying on too few metrics!
  • Compliance and Auditing
  • Integrated Project Portal
  • Project Planning
  • Team Explorer
  • Testing
  • Build And Deployment
  • Integrated Unit Testing
  • Code Profiling
  • Code Coverage
  • Static Code Analysis
  • Team Foundation Architecture Primary AT Server Database Clustering Team Foundation Data Tier Team Foundation App Tier Build Machines Version Control Proxy Report Client Team Foundation Client Tier App Tier Standby Server
  • Team Foundation Server Extensibility Points Report Client Team Foundation Data Tier Team Foundation App Tier Build Machine Version Control Proxy Team Foundation Client Tier
    • Integrate services into Team Explorer
    • Automate common activities
    • Expose TFS functionality in your app
    • Write a custom checkin policy
    • 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
  • Extending Visual Studio Team System
    • Example 1: Project Server Integration
    • 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
    Microsoft Office Project Server 2003 Introduction
  • 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.
  • VSTS – Project Server Integration Visual Studio 2005 Team System MS Project Server VSTS Project Server Connector Work Item Tracking System Reporting VSTS Data Warehouse VSTS Team project data Reporting Workplan Creation Project Server Data Warehouse Project Server Work Plan data Team Project Creation Work Plan Creation Synchronisation Work Items / Work Plan Project Server cubes VSTS cubes + Richer Reporting project actuals Import/Export Synchro Guidance MS Excel based Work Plans MS Project based Work Plans VSTS cubes
  • 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
  • Extending Visual Studio Team System
    • Example 2: TFS Version Control Extensions
  • 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
  • Adding Continuous Integration to VSTS Team Foundation Build Check-in Notifications Team Foundation Version Control Team Foundation Version Control Developer Workstation B Developer Workstation A Source Code check-in Source Code check-in Continuous Integration Service Initiates Team Build Email Notification (Reports, Errors…)
  • 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
  • Custom Check-in Policy Design Policy Storage Server (Version Control) Policy definition client Plug in #1 Plug in #2 Team Explorer in VS.NET Policy evaluation client Plug in #1 Plug in #2 Source Control clients New/modified policy definitions Policy definitions appropriate for check-in Policy Definition Policy Evaluation
  • Traceability between code and work items Source files to check in … … with Work Items done… … and Check-in Notes and Policy Status
  • Extending Visual Studio Team System
    • Example 3: Custom Process Integration
  • 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
  • Process Enacted by Tooling
  • Adopting Visual Studio Team System
    • Tips & Lessons Learned
  • 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
  • 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
  • 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
    • … .
  • Example Roadmap Design Solution Proof of Concept Deploy Goal of Phase Confirm understanding of requirements Prove value of solution Ensure Success Deliverables Design solution Plan infrastructure Plan process improvements Infrastructure set up User training Create assets Build setup Proof of concept Implement process changes Infrastructure rollout User training Migrate assets Long term roadmap for improvements Exit Criteria Define success criteria Validate success criteria Process improvement
  • 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
  • Review Questions?