Austin Agile DevOps

DevOps in the Cloud
posts - 70 , comments - 7 , trackbacks - 0

Visual Studio ALM (TFS) Benefits

Here's a summary of TFS 2010 enabled improvement opportunities. This is based on my research and work with TFS 2010 to-date. Unlike a list of features, this information is organized around the typical work and tasks performed by software engineers.

Customer Management

  • Integration with Microsoft Dynamics CRM software supports workflow integration between customer management and engineering

Requirements management

  • Two-way integration with 3rd Party Requirements Management solutions (for example, DOORS) supports allocation of requirements to projects using TFS and the synchronization of requirements attributes between both systems.
  • TFS supports comprehensive and integrated requirements traceability to development artifacts, code and builds

Problem resolution

  • TFS integration of SDLC activities and deliverables facilitates a rapid and reliable assessment of the cause and extent of problems.
  • TFS facilitates the tracking and resolution of problems in many ways including tasking, notifications, alerts and the use of an “Issue” work item type that can be linked to documents, requirements, tasks, test cases, bugs, code, test results and builds.

Planning and Issue Resolution Meetings

  • TFS automatically maintains a data warehouse of historical data for every project.
  • A rich set of metrics and reports are provided out of the box. TFS also provides extensive report customization features.
  • TFS provides a powerful query engine to pull and report on project data kept in the operational data store.
  • The TFS operational data store supports full two-way integration with Microsoft Excel and Project that includes hierarchical levels and dependencies between work items.

Risk management

  • TFS naturally creates and maintains the integration of engineering data and deliverables as part of the workflow so that reports provide up-to-date, fact based information and indicators of progress, quality and risk.

Communication

  • TFS provides a standard set of alerts and notifications as well as fully customizable triggers.
  • TFS provides the correct version of information that team members need right at their fingertips. The central repository of shared data can be accessed with the tools (and from within the environment) natural to each role. For example, program managers and testers do not have to use Visual Studio; developers do not have to use MS Project.

Developing estimates and proposals

  • To support an understanding of past project performance, the TFS repository provides a data warehouse and an operational store of all project information that can be reported on and queried.
  • The integration and comprehensiveness of data maintained by TFS enables powerful analysis that can help support and validate the development of estimates and proposals.

Project planning/management and resource coordination

  • Full two-way integration between TFS and MS Project supports the development of project plans that can be published to TFS where lower level tasks can be created and the status of work maintained.
  • The TFS process template provides for a number of project management and specification document templates. Customized process templates can be developed that can provide any number of document and reporting templates needed to support company specific processes and facilitate consistency and productivity.

Producing architectural views and diagrams

  • TFS has an “Architecture Explorer” tool that provides powerful visual analysis of existing code. Directed graph documents produced by this tool can be used as a baseline upon which changes and standards can be assigned, tracked, established and enforced in the IDE and in Team Builds.
  • High level design documents can be implemented in “modeling” projects in Visual Studio that support the enforcement and maintenance of design decisions. For example, the new layer diagram can enforce rules on dependencies.
  • The modeling project supports layer, activity, class, component, sequence and use case diagrams.

Technology roadmap development

  • The VS/TFS architecture tools and features are fully customizable and can be used to guide and channel architectural decisions and technologies that can help support technology roadmap development and implementation. For example, by providing a pattern library to jump start work and ensure consistency.

Architecture review and handoff to development

  • The new VS/TFS modeling projects provide repository based modeling objects and diagrams that support code forward and reverse engineering features.
  • Work items (for example, tasks and requirements) can be linked to model objects and assigned to developers for the purpose of code correction and implementation.

Branching/merging

  • TFS maintains a visual history of branch paths
  • TFS provides visual tracking of branching and merging for change sets
  • TFS supports the integration of 3rd party DIFF and manual merge reconciliation tools

Bug review and resolution

  • TFS supports direct links between bugs, requirements, tasks, issues, and any type of work item you want; code, builds, documents, and hyperlinks to any URL
  • Bugs can be updated at check-in from within the IDE

Code design, implementation, review and issue resolution

  • The TFS Team Explorer enhances information access and team collaboration by providing an IDE window to source control, work items, documents, reports, builds and alerts.
  • The VS modeling project integrates UML based design models and diagrams into the VS solution and across solutions.
  • TFS workflow features support and can enforce code review and code policy.
  • TFS supports integration with a number of 3rd party code review products.

Integration testing setup and execution

  • TFS integrates lab management into the development, build and testing workflow.

Fixing bugs

  • TFS integrates unit testing and test impact analysis into the IDE, local and Team Builds.
  • TFS supports the enforcement of check-in policies for code consistency and quality.
  • TFS allows and can enforce linkage of bugs to requirements and tasks from within the IDE at code check-in.

Team meetings

  • TFS provides work-item assignment, updating and tracking across IDE, MS Excel, MS Project and web application environments. This can facilitate data-management based team member collaboration and reduce the need to communicate and collaborate on task assignment and status through meetings.

Database refactoring

  • TFS fully integrates database development into the IDE and VS solution so that the development process for code and for database are much the same. This extends to builds and deployment.

Getting information and screen shots needed to develop user documentation

  • TFS support tighter iteration cycles through integration and workflow automation of requirements, development, build and test activities. This can enable the incremental completion of development work earlier in the project.

Developer builds

  • TFS integrates Team Builds into the IDE.
  • TFS supports event driven CI builds.

Build and installer

  • TFS Team Build support VS solution driven build configuration so that developers can set and maintain references and dependencies for all builds (local, developer and production) from within the IDE.
  • Team Build workflow customization uses .NET C# Windows Workflow technology so that developers can understand and more easily specify build requirements.
  • Team Build automation features extend beyond the execution of unit tests and code coverage to include installation on the lab environment and the execution of coded UI tests.

Develop test procedures

  • TFS provides system test engineers with their own client application, the Microsoft Lab and Test Manager (MTLM) client. This client supports the development, execution and tracking of test plans, test cases, test runs and test results; all integrated with the TFS repository.
  • TFS provides a utility to import test cases from Excel into TFS.

Setup the system test environment

  • TFS includes a Lab Management component that supports the creation of virtual machines and lab environments (VM and physical machine).
  • The MTLM client enables testers to deploy environments for testing and reporting of bugs against specific builds.

Executing tests

  • The MTLM client integrates test execution with requirements, test cases, builds and creating/verifying bugs.
  • TFS supports integrated development and automated execution of coded UI tests.
  • TFS support the integration of 3rd party test automation tools through the TFS API and Team Build workflow customization.

Maintaining traceability

  • The MTLM client automates the maintenance of traceability as part of the testing development and execution workflow.
  • The MTLM client provides status, reporting and query features to support problem resolution and traceability analysis.

Status and reporting

  • TFS provides a large set of standard reports using SharePoint, SQL Server Reporting and MS Excel technologies.
  • Custom reports of every type can be developed and made available to every new project via the TS process template.
  • The Project Portal site provides a “Project Dashboard” and a “My Dashboard.” These dashboards provide a number of standard web parts that provide near real-time display of project information and status. Further, these web parts provide drill-down capabilities into the TFS repository. The standard TFS based web parts are:
    • Task Burndown, Burn Rate, Product Backlog, Important Dates, Project Work Items, Recent Builds, Recent Checkins, Requirements Progress, Issue Trend Rates, Open Issues, Test Plan Progress, Build Status, Bug Progress, Bug Reactivations, Code Coverage, Code Churn, My Tasks, My Bugs, and My Test Cases
  • The SQL Server Reports use the TFS data warehouse. The standard reports provided are:
    • Bug Status, Bug Trends, Bug Reactivations, Build Quality Indicators, Build Success Over Time, Build Summary, Project Burn Rate, Project Burndown, Burndown and Burn Rate, Remaining Work, Status on All Iterations, Requirements Overview, and Requirements Progress
  • MS Excel reports use the TFS operational data store. The standard reports provided are:
    • Build Status, Burndown, Code Churn, Code Coverage, Failure Analysis, Issue Trends, Requirements Progress, Requirements Test Status, Bug Progress, Bug Reactivations, Bug Trends, Bugs by Assignment, Bug by Priority, Task Progress, Test Activity, Test Case Readiness, Test Plan Progress, Build Quality, Test Team Productivity, Test Team Progress and Testing Gaps

Working in documents

  • The same documents can be accessed from Visual Studio, the Project Portal web site and the Team Web Access site.

Document creation

  • Documents can be created on the Project Portal (SharePoint) right from within the IDE Team Explorer

Print | posted on Thursday, March 25, 2010 2:07 PM | Filed Under [ Agile SCM Talk Blog ]

Feedback

No comments posted yet.
Post A Comment
Title:
Name:
Email:
Comment:
Verification:
 

Powered by: