tfs/vsts deployment plan template... · web viewdepending on the capabilities of your it team, you...

34
Team Foundation Server Deployment Plan Template Developer Tools Deployment Planning Services Page i Team Foundation Server Deployment Plan Template, Version 3, 10.2013

Upload: phungtu

Post on 11-Mar-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

Team Foundation ServerDeployment Plan Template

Developer Tools Deployment Planning Services

Page iTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 2: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

Table of Contents

1 Getting the Most from Your Deployment Plan.............................................................2

1.1 Give Microsoft Feedback.......................................................................................................2

2 Executive Summary.....................................................................................................3

2.1 Existing Best Practices..........................................................................................................3

2.2 Key Areas for Improvement...................................................................................................42.2.1 Current State – Urgent Issues...........................................................................................42.2.2 Current State - Additional Issues.......................................................................................5

2.3 Maturity level......................................................................................................................... 5

3 Roadmap.....................................................................................................................9

4 Detailed Findings.......................................................................................................12

5 Architecture...............................................................................................................16

6 Resources..................................................................................................................20

7 Conclusion.................................................................................................................22

Page iiTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 3: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

1 Getting the Most from Your Deployment Plan

Our recommendations for optimizing the deployment of Team Foundation Server (TFS) in your environment are detailed within this document. Please take your time to review the findings and ask any follow-up questions necessary. Depending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant. In either case, this plan should be given to the party responsible for the work and used as an implementation guide.

1.1 Give Microsoft Feedback This Planning Service has been provided as part of your Microsoft Software Assurance benefits. Please use the link below to tell Microsoft about your experience with the engagement and any improvements you would like to see made to it. The results of the survey will only be viewed by the Planning Services team at Microsoft.

http://www.surveymonkey.com/s/5DS9JXP

Page iiiTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Guidance: This template includes guidance blocks and wording examples. Prior to handing over the document, remove the guidance blocks (like this one) and replace any highlighted sample text (in green text) with your findings and recommendations.

Page 4: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

2 Executive Summary

At the request of <Customer Name>, <Partner name> conducted the Team Foundation Server Deployment Planning Service with the following objectives:

Document existing Application Lifecycle Management (ALM) topology Create a baseline measurement of the current development capability Surface existing best practices Uncover opportunities for improvement Identify the most impactful areas to the business Document ideal end-state for a Team Foundation Server (TFS) 201x deployment. Generate and present a roadmap to <implement> <upgrade> Team Foundation Server 201x

The Application Lifecycle Management (ALM) model was used as a framework to develop a vision and sustainable approach by which <Customer Name> can prioritize IT investments that fuel business growth. The engagement focused on understanding existing development processes and recommending process improvements. Technology and people/knowledge requirements were then identified to support the process.

The following issues with the current development capability were articulated at the start of the assessment.

Quality issues No visibility into project status Projects delivered late

The following business priorities were articulated at the start of the assessment.

Improve quality Improve customer satisfaction

2.1 Existing Best Practices

Our interviews surfaced the following Best Practices that are being used by teams at <Customer Name> today. These practices are:

Page ivTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Guidance: This list can come from the RANGERS Application Lifecycle Management Assessment

Guidance: This list can come from the RANGERS Application Lifecycle Management Assessment

Guidance: The audience for this section will be interested in being able to read and digest this quickly. Keep the text in this section concise.

Page 5: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

The Functional Testing/QA group is clearly an organizational asset- they have been able to take the amount of work which was originally six (6) to eight (8) weeks for ten resources and automate the running of the regression bed to four (4) days. This provides immediate measurable benefit to the development as a whole, mainly because of the weight that is put on this group to ensure quality. This group is implementing practices that will continue to move the organization to a TDD (Test Driven Development) approach

There are many emerging capabilities relative to requirements management. The ongoing progress resulting from the implementation of formal Requirements Management at the User Interface level will serve the organization well as a starting point for future development and implementation of process in this space. Additionally, in sharing the product roadmap with the user community, the stage is being set to stave off the reactive demand for priority fixes through simple expectation setting.

The commitment to and movement of the production environment to an Active/Active model - this will immediately address the challenges with the deployment of new builds and the subsequent impact of bringing the system down when installing new builds

The build group is successfully employing (build) automation to minimize the impact of manual error in the core build process.

<Customer Name> is a highly customer focused organization and despite the challenges resulting from a lack of process discipline, they continue to provide a high level of support to their clients (especially those clients with custom configurations). Understandably, the organizational culture also resonates a strong delivery focus to dates

We recommend that these practices continue to be employed and are continuously evaluated and improved in order to promote process optimization.

2.2 Key Areas for Improvement

2.2.1 Current State – Urgent Issues

During our onsite interviews, we uncovered the following practices that should be considered critical and essential to improving the development capability in relation to their impact on the business. These practices were:

Development o Code Writing/Unit Testing - Test driven development implemented via a unit

testing framework including data generation.o “End Game” Process and Code Reviews – Code reviews are always a good practice,

but for <Customer Name> this is critical to late cycle changes.o Developer On-boarding – We uncovered a lack of clear coding guidelines and clear

training materials for new developers Quality

o Defect/Bug Tracking - One unified and integrated process for defect management from its inception to re-release into production

o Metrics Capture and Improvement - Development of a metrics strategy and ongoing refinement to improve predictability and quality

Page vTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 6: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

o Project management of Non-Charter Projects - Introduction of a disciplined triage process with one point of accountability driving resolution

o Feedback – Continuous, easy feedback from all parties involved in the software process (including product owners, user acceptance testers, end users, etc.).

Release Managemento Code Promotion - Defined branching and merging process to ensure continuous

integration o Priority Triage - Elimination of randomization in the priority process and

implementation of a predictable and measurable approach o Build Management - Ongoing refinement of automated build process and increased

automation to minimize risk of human error Operations Management

o Deployment environment (brute force deployment of .NET) apps- Definition and automation of deployments which leverage the features of the .NET framework to reduce complexity

o Service level management - Creation and management of a 24/7 environment to minimize accessibility outages

o Production Monitoring – Being able to monitor and easily reproduce production defects, bugs, exceptions, etc.

2.2.2 Current State - Additional Issues

During the course of the assessment, we were able to identify additional issues that we believe are having a material impact on Application Lifecycle Management within <Customer Name>. These include:

Defect Management Process Automation - The current tool’s lack of integration is creating an unnecessary level of complexity and duplication of work within the processes associated to bug tracking and defect management/ resolution. Additionally, the minimal automated traceability and validation associated to fixes for compliance/ reporting purposes further complicate any impact analysis or compliance considerations

Lack of Predictability and Ownership of Builds - The absence of a governing body to control scope and drive the implementation of builds has created an uncontrollable work cue as well as resourcing challenges. Equally this prevents a true understanding a capacity for effective sourcing as well as any defence against scope control.

The need for agile methods – The current SCRUM efforts will ultimately promote higher quality and delivery frequency if implemented properly. The existing behaviours such as borrowing resources during sprints will not promote that. There needs to be a level commitment established for this and all parties involved must understand the process

Low Developer Morale – The current inward spiral created by the PTF process is having a demoralizing effect on the developers who are constantly being pulled to resolve one issue after another. Worse is that this process seems to have no end and continue to promote a sense of malaise among the developers

2.3 Maturity levelDuring the interview process, <Partner name> established a maturity level for the development process. The Rangers ALM Assessment Tool was used to measure and to create the maturity model.

Page viTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 7: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

The key elements of the Basic level are shown below. In the Basic level, most of the practices are manual and untraceable. This state has a large amount of waste, poor value flow, and little transparency.

Basic (Current State) The Development team has adopted home-grown ways of performing practices Practices are performed in an ad-hoc, informal manner Practices are undocumented Little to no transparency exists across teams Inconsistency in some of the key roles being performed (QA)

The Standardized level is the desired state for software teams to achieve with TFS and improved practices. At that level, better workflow and transparency start to emerge. The teams begin to see the value flow and reduction of waste in manual tasks, such as email tracking, clear definition of done, priorities, and requirements.

Standardized (Desired State) ALM best practices (Agile, Lean, etc..) begin to be adopted Tools used are starting to become connected and integrated Team capacity planning starts to emerge Requirements and workflow are entered into the TFS system Builds and deployment cycles start to become automated Reporting data becomes available

The Advanced and Dynamic State can be achieved once the foundation and solid practices are in place. We have seen that after the key practices and tools are in place, it is a natural progression to move toward a more mature level to improve the quality and cycle time.

In the Advanced and Dynamic states, the team begins to fully utilize the ALM tools and Agile consensus patterns (Transparency, Reduction of Waste, and Flow of Value). Automation and quick feedback loops are the norm. Clear requirements and business direction are piped into a prioritized backlog. Teams and stakeholders understand expectation of delivery and priorities. Trusted forecasting on complex initiatives are completed.

Advanced (Achievable in 6 – 18 mo.) Use of practices and tools across teams Requirements are well defined and delivered to the Backlog Agile practices are used to break down the complex work into deliverable iterations Testing is done during all cycles (Unit, Functional and UAT) Automation of builds and tests Fast feedback loops in all phases Bug tracking and traceability Architectural practices and tools are being used Documentation is formally maintained Fully integrated portfolio management tools & process

Page viiTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 8: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

Ability to track requirements and use impact analysis reports for change requests Using Helpdesk quality metrics on turnaround time, cost of maintenance, and identification

of error

Dynamic (The North Star State) Continuous delivery practices in place Test Driven Development (TDD) and Acceptance Test Driven Development (ATDD) practices

are established Optimizing cycle-time to learn from customers Systems are architected with continuous deployment in mind, supporting patterns such as

dark launching to decouple deployment from release All new requirements describe how the value of the feature will be measured

In the standardized state, all of the ALM disciplines are coved equally. While this is the desired goal, the reality is there will be areas that advance more than others.

Equal maturity progression across all areas

Progressing of the maturity in 1 – 18 months

Page viiiTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 9: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

A more realistic view of maturity progression

Growth in just one area is not a healthy progression. An evolution in each area is a much healthier growth rate and direction that provides a solid foundation to improve upon.

The eventual roll out of process and tools to address the opportunities mentioned in this assessment should follow a tight metrics driven approach to improvement. While we recognize that change takes time and reinforce that change requires commitment, it is important to create both a strategic and tactical plan for addressing these challenges, as well as answering the questions of where do we want to be in three, six twelve months and how will we quantify our success.

The implementation approach defined later in this document is built on the four key themes identified earlier (Development, Quality, Operations, and Release Management). We believe that by improving capability in these areas, we can address the current challenges experienced at <Customer Name>.

Key Areas for Improvement

Our interviews revealed multiple areas for improvement. These were rated by impact to the business (High, Medium or Low) across the maturity levels. These are shown in the Impact Map.

The x-axis defines the maturity level of the service area. The categories are:

Basic - processes are implemented in an ad-hoc, undocumented and potentially inconsistent manner.

Page ixTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 10: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

Standard - a process has been defined and is generally followed. Tools are used in some cases to assist, but may not be integrated and used throughout the organization.

Advanced - usage of tools to drive the process is in wide use and usage guidelines are documented and understood.

Dynamic - the organization is bringing new and innovative methodologies to the practice area and may setting industry standards.

The y-axis defines the relative gain that would be obtained from improving the practice.

MATURITYIMPACT Basic Standard Advanced Dynamic

High

Urgent Improve Enhance Maintain Code Writing/Unit

Testing

Code Reviews

Quality Metrics

Collaborative Development

Version Control Repository

Release Management

Environment Management

Deployment

Test Planning

Build Management

Medium

Improve Improve Enhance Maintain Elicitation

Requirements Analysis

Traceability

Code Analysis

Project Monitoring and Control

Stakeholder Communications

Test Types

Low Enhance Enhance Maintain Maintain Analysis & Design Architecture

Page xTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 11: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

Database Modeling

Framework

Page xiTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 12: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

3 Roadmap

Based on our observations and discussions, we recommend that the following iterative roadmap be implemented in order to better align the development capability with the business, and enable development efforts to drive increased value to <Customer Name>.

Please note that the areas for improvement mentioned in the prior section which are marked as urgent may not be addressed immediately. In some cases, the foundation for improving a particular service area will not be in place in the first or second iteration.

IterationsIteration 1 – Plan & Prepare

Iteration 2 – Install TFS 201x

Iteration 3 – Verify Installation and Onboard Team

Dates ##/##/#### - ##/##/#### ##/##/#### - ##/##/#### ##/##/#### - ##/##/####

Initiative Title Plan & Prepare Install TFS 201x Verify Installation and Onboard Teams

Capabilities

Initiative Title Developer Onboarding Training

Capabilities

Initiative Title (Optional) Capture Process Improvements Metrics

Capabilities

The date ranges for each iteration are placeholders. Planning and estimation sessions will be necessary to determine the achievable dates.

When embarking on an effort to optimize the development capability we recommend that:

Strong leadership sponsorship is secured Overall goals are clearly communicated to all stakeholders Clear metrics and milestones are established and agreed to

Page xiiTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 13: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

Iteration Details

Iteration 1: From: ##/##/#### To: ##/##/####Plan & PrepareIteration Goals: By Implementing Team Foundation Server for Source Control and Code

Promotion, we will unify the source code from both .NET development and Cold Fusion development into one source control solution. By leveraging the branching and merging capabilities of Team Foundation Server, we will simplify the current code promotion process which will enable a consistent promotion process with clear understanding of which stage code is in and direct ties to the testing environments.

Iteration Activities: Review the Planning Checklist Review the System Requirements Verify hardware availability Verify Process Template and considerations for customization Review reporting requirements Verify branching strategy Verify build strategy Verify resource availability

Iteration Cross References:Impacted Capabilities:

Iteration 2: From: ##/##/#### To: ##/##/####<upgrade> <install> Team Foundation Server 201xIteration Goals: Following the guidance as laid out in the DPS TFS Deployment

Assessment, <upgrade> <install> and configure TFS.Iteration Activities: Setup Team Foundation Server

Development Operational Guidance to ensure system stability Develop Security Access Plan Develop Branching and Merging Design Migrate Source Code Training Development Teams and Release Management Teams Migrate Cruise Control Build Solution to Team Build

Iteration Cross References:Impacted Capabilities:

Iteration 3: From: ##/##/#### To: ##/##/####Verify Installation and Onboard TeamsIteration Goals: Leverage automated build and test capabilities to provide a consistent

quality measure including code analysis and automated unit testing. During the first iteration, the build solution was moved to TFS and this phase makes further investment to enable a much richer testing harness. At the competition of this initiative, code quality will be measurable by simply building the solution.

Page xiiiTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 14: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

Iteration Activities: Verify installation and configuration Install client tools and verify connectivity to TFS (Optional – if applicable) Verify remote connectivity Verify end-to-end work flow by building a solution (Optional) Train users (development, test, PM, etc.) on how to

connect to and use TFS 201x.Iteration Cross References:Impacted Capabilities:

Developer Onboarding TrainingIteration Goals: Create or acquire developer onboarding training materials to reduce

the time and resources necessary to bring new developers into the team.

Iteration Activities: Develop Sample Applications that outlines the key "How-To" points of the application architecture.Refresh coding standards and providing training to all development staff on existence.

Iteration Cross References:Impacted Capabilities:

(Optional) Capture Process Improvement MetricsIteration Goals: Understanding the components of the process that represent the best

opportunity for improvement is critical to investing in the right changes. The following the recommended items to collect

Number of known issues that become priority fixes. You want to confirm that the prioritization process is learning from the past and is not based on gut feel. By collecting this metric, one can measure the effectiveness and number of categorize fixes that were missed and can use this information during the prioritization process moving forward.

Bugs by major system component- If there is a specific area of the code that is buggy, it is valuable to be able to analyze the code base including code complexity to determine if rewriting the entire section would improve overall stability.

Iteration Activities: Use current systems to track metric as best as possible.Iteration Cross References:Impacted Capabilities:

Page xivTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 15: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

4 Detailed Findings

Detailed Findings

Requirements Engineering & User Experience Summary :Elicitation  Maturity Level

Rating:Basic

  Impact Level Rating: MediumRequirements Analysis  Maturity

Observations:The proficiencies relative to any formal requirements analysis are minimal but seemingly evolving. As the requirements group matures and moves from a UI driven approach to more comprehensive approach to requirements management, this should continue to improve

  Maturity Level Rating:

Basic

  Impact Level Rating: Medium  Best Practices: There are many emerging capabilities relative to this

capability as the resulting of the implementation of this new group and although the requirements efforts are focused on elicitation, the feasibility to implement this practice is well positioned for successful adoption

Traceability  Maturity

Observations:There is minimal traceability present within the development lifecycle. The QA group has established an initial level of traceability, but the drivers of this should be clear so any commitment to this should be value added for both the business and IT.

  Maturity Level Rating:

Basic

  Impact Level Rating: MediumDevelopment Summary :Code Writing  Maturity

Observations:Coding standards and naming standards exist, but are not well known and not used by the team. Unit testing has been attempted, but was not successful. This combined with the inherent challenges with the two separate environments (cold fusion/.NET) will further complicate this practice

  Maturity Level Rating:

Basic

  Impact Level Rating: High  Impact

Observations:Developer on boarding is impacted by the lack of known published standards and training programs. The result is the best developers spend more than 50% of their time to onboard a new developer.

Lack of unit testing is impacting the ability to truly measure code quality in development and through-out the lifecycle.

Page xvTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 16: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

  Best Practices: Team are highly encouraged to take secure coding training as well as employ formal code reviews during the development cycle

  Impact Benefits: Building Repeatability into the on boarding process will enabling you to more easily flex development team to meet demand and will enable your best developers to focus on the solution architecture and developing new features.

Unit testing will enable development to have an automated reliable measure of code quality before QA cycle are spent testing it.

Code Analysis  Maturity

Observations:There was minimal discovery of formal code analysis- The implementation of more formal practices in this space would positively impact additional areas such as design, testing as well as the overall capabilities relative to traceability

  Maturity Level Rating:

Basic

  Impact Level Rating: MediumCode Reuse  Maturity

Observations:Process areas concerning the following are paramount to reuse:1) Reusable asset identification – Each project team needs to have time allocated with their enterprise architecture to review (continuously) their technical solution for assets that qualify as enterprise reusable (shareable) to the entire organization. There are simple procedures to put in place that assist in enforcing this practice.2) Reusable asset harvesting-Each asset, once identified as reusable, needs a team of resources that have time allocated to scrub the asset and incorporate it via development and further description (the OMG has rules for this) into their own reusable asset library (Wojtek Kozaczynski, working for Microsoft was one of the original authors of the OMG’s reusable asset specification) 3) Reusable Asset Management- The library (and its owners) need to write rules for adding assets to the library as well as how they are stored and indexed for search.4) Reusable Asset Consumption- The library needs to make sure that requests can be made proactively. This means that a typical team does not know that the assets exist, and it’s the library management team’s responsibility to engage with teams at the architectural level to ensure that assets are requested and consumed.

None of these are currently in place  Maturity Level

Rating:Basic

  Impact Level Rating: Medium  Impact Benefits: With the ongoing migration of the Net teller app to

the .NET platform from cold fusion, the reusability of core assets is appealing. There will need to be additional capacities and considerations to attain this level of maturity, but through commitment, this should deliver real benefits

Code Reviews

Page xviTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 17: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

  Maturity Observations:

This requisite practice is done sparingly and is relatively in formal; nonetheless the seemingly cultural impact to a more formal structured approach may not be as impacting as other process best practices implementations.

  Maturity Level Rating:

Basic

  Impact Level Rating: High  Impact Benefits: The ability to scale the .NET team as well as the

development organization as a whole is dependent on the implementation of repeatable best practices. This simple practice has the inherent ability to reflect the ability of the organization to implement such seemingly simple practices

Quality Metrics  Maturity Level

Rating:Basic

  Impact Level Rating: HighSoftware Configuration Management Summary :Collaborative Development  Maturity

Observations:Collaborative Development is accomplished today by a complex set of labels in the branching solution. Although concurrent development is recommended, it usually is associated with a cost and a learning curve.

  Maturity Level Rating:

Basic

  Impact Level Rating: High  Impact

Observations:Currently the customer is suffering; They are manually promoting code from one environment to the next. To enable concurrent development they have used a complex label process. Fixing this process will have impact across the board in the release process.

  Impact Benefits: By simplify how concurrent development is accomplish, <Customer name> can simplify the life of development and allow Release Management more time to monitor highly valued aspects of the release process

Version Control Repository  Maturity

Observations:Labels are currently being employed as a branching approach. This is further complicated by the multiple and various CM systems (Version Manager and VSS) The build management is done in source safe and it is transferred via zip file to the VM system.

  Maturity Level Rating:

Basic

  Impact Level Rating: High  Impact

Observations:There is a significant opportunity to be attained in this area. These manual processes can be improved through automation through the implementation of TFS.

  Impact Benefits: Unified version control with a code promotion process supported by the tools will ultimately deliver significant value to the team. This includes time saved in the day to day process and few mistakes that impact the entire team.

Page xviiTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 18: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

Release Management  Maturity

Observations:A root cause analysis of the many quality challenges can be traced to the manual involvement of the release process. Mistakes are known to occur between labeling and the release of the code. This combined with the lack of formal ownership of the release itself can create potential chaos. No one person appears to be accountable for the management of the release

  Maturity Level Rating:

Basic

  Impact Level Rating: HighBuild Management  Maturity Level

Rating:Standard

  Impact Level Rating: HighDeployment & Operations Summary :Deployment  Maturity

Observations:There are apparent gaps that further put quality at risk within the deployment space. This is ever present with the management of the custom application code. Practices such as not applying formal QA to custom code or the practice of a custom team folding code back over a code baseline significantly compromises quality.

The QA and Production environment do not use the same deployment mechanism and therefore testing is not actually testing deployment

  Maturity Level Rating:

Standard

  Impact Level Rating: High  Impact

Observations:Allowing the deployment process to be tested in the natural course of testing with provide further assurance that deployment will be a smooth process.

  Impact Benefits: Reduced the deployment errors found in production by testing the deployment process in QA.

Environment Management  Maturity

Observations:The multiple environments are managed through heroic efforts. The testing and staging environments are not automatically synchronized, and this creates risk in bug definition and tracking. Equally it creates significant challenges in the management of the numerous PTF's

  Maturity Level Rating:

Basic

  Impact Level Rating: HighProject Planning & Management Summary :Project Monitoring and Control  Maturity

Observations:With the reactive management of the ongoing PTF fixes as well as the seemingly lack of ownership of a release, there appears to be strong opportunity to improve the project control of these efforts. The introduction of formalized and

Page xviiiTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 19: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

standardized reporting should be a start to the significant changes requisite for improvement

  Maturity Level Rating:

Basic

  Impact Level Rating: Medium

Page xixTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 20: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

5 ArchitectureBased on the size of <Customer Name>’s development teams, a single server implementation of TFS would more than satisfy their needs. The single server implementation can easily be scaled out to a multi-server configuration if needed to support growth or if immediate fault tolerance becomes an area of major concern. The advantages of a multi-server fault tolerant solution are the ability to take a single application server offline for maintenance as well as provide load-balanced redundant service to all team members.

A single server implementation is less expensive and easier to implement, but it does not provide any fault tolerance. While a single server implementation is recommended, nothing precludes <Customer Name> from starting with a single-server implementation and expanding on it, if and when the need arises.

Single Server Configuration

Page xxTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 21: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

The environment consists of a single server for the core TFS services:

TFS-App01 Windows Server 201x Standard

16 GB Memory 2 – 4 CPU (cores) 512 GB – 1 TB disk space across 2 volumes (not including system drive)

SQL Server 201x Standard Database Engine Analysis Services Reporting Services

Team Foundation Server 201x SharePoint Server 201x

To support the recommended automated build environment, a TFS build configuration is required:

TFS-Build Windows Server 201x Standard

4 - 8 GB Memory 2 CPU (cores) 100 GB disk space

Team Foundation Server 201x Build Services

TFS-BldAgent01/02… Operating System to support applicable build

2- 4 GB Memory 1 - 2 CPU (cores) 100 GB disk space

Team Foundation Server 201x Build Services

To support the recommended automated test environment, a TFS test configuration is required: TFS-Test

Windows Server 201x Standard 4 - 8 GB Memory 2 CPU (cores) 100 GB disk space

Team Foundation Server 201x Test Controller Services

TFS-TstAgent01/02… Operating System to support applicable build

2- 4 GB Memory 1 - 2 CPU (cores) 100 GB disk space

Team Foundation Server 201x Test Agents

Page xxiTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 22: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

Architecture – Fault Tolerant Configuration

As an example of how a possible multi-server fault tolerant environment might be configured, the following example is provided:

Page xxiiTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 23: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

The fault tolerant environment consists of several assets:

TFS-SQL Windows Server 201x Standard

16 GB Memory 2 – 4 CPU (cores) 512 GB – 1 TB disk space across 2 volumes (not including system drive)

SQL Server 201x Standard Database Engine Analysis Services

TFS-SSRS Windows Server 201x Standard

4 - 8 GB Memory 2 CPU (cores) 100 GB disk space

SQL Server 201x Standard Reporting Services

TFS-App01/App02 Windows Server 201x Standard

4 - 8 GB Memory 2 CPU (cores) 100 GB disk space

Team Foundation Server 201x TFS-Build

Windows Server 201x Standard 4 - 8 GB Memory 2 CPU (cores) 100 GB disk space

Team Foundation Server 201x Build Services (Controller) TFS-Agent01/02…

Operating System to support applicable build 2- 4 GB Memory 1 - 2 CPU (cores) 100 GB disk space

Team Foundation Server 201x Build Services (Agent) SharePoint

SharePoint Farm

Page xxiiiTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 24: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

6 ResourcesThe following is a list of very useful resources readily available to deepen knowledge and understanding of Team Foundation Server:

Testing with Visual Studio and TFS

ALM Rangers Guide – Test Release Management: http://vsartestreleaseguide.codeplex.com/

This Visual Studio ALM Ranger project has the primary goal of delivering scenario based and hands-on guidance for managing Microsoft Test Manager Test plans.

ALM Rangers Guide – Visual Studio Test Tooling Guidance: http://vsartesttoolingguide.codeplex.com/

This umbrella project delivers a range of practical and scenario based guidance for Visual Studio test features, such as Coded UI, Microsoft Test Manager, IntelliTrace, and Microsoft Fakes.

Branching and Merging

Visual Studio Team Foundation Server Branching and Merging Guide: http://vsarbranchingguide.codeplex.com/

The purpose of this project is to build some insightful and practical guidance around branching and merging with Visual Studio Team Foundation Server.

TFS and Project Server Integration

Team Foundation Server and Project Server Integration Virtual Machine and Hands-on-Labs:http://blogs.msdn.com/b/briankel/archive/2013/04/12/team-foundation-server-2012-and-project-server-2013-integration-virtual-machine-and-hands-on-labs-demo-scripts.aspx

This Hyper-V virtual machine and associated hands-on labs do a great job of introducing the possible used of the TFS Project integration.

Enable Data Flow Between Team Foundation Server and Microsoft Project Server:http://msdn.microsoft.com/en-us/library/gg455680.aspx

This MSDN article describes the steps necessary to configure Project Server to work with TFS.

Automated Build-Deploy-Test

Setting Up Automated Build-Deploy-Test Workflows:http://msdn.microsoft.com/en-us/library/hh191495.aspx

You can use a build-deploy-test workflow to deploy and test your application when you run a build. This lets you schedule and run the build, deployment, and testing of your application with

Page xxivTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 25: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

one build process. Build-deploy-test workflows work with Lab Management to deploy your applications to a lab environment and run tests on them as part of the build process.

Visual Studio Team Foundation Build Customization Guidance:http://vsarbuildguide.codeplex.com/

This Visual Studio ALM Ranger project has the primary goal of delivering scenario based and hands-on lab guidance for the customization and deployment of Team Foundation Build.

Miscellaneous ALM Resources

Getting started with Application Lifecycle Management: http://msdn.microsoft.com/en-us/library/dd286491.aspx.

Team Foundation Server on MSDN:http://msdn.microsoft.com/en-us/vstudio/ff637362.

Microsoft Visual Studio Virtual Labs:http://msdn.microsoft.com/en-US/vstudio/ff640662.

Team Foundation Server Migration and Integration Solutions:http://msdn.microsoft.com/en-us/vstudio/bb840033.

Brian Keller: Microsoft Sr. Technical Evangelist for Visual Studio ALM:http://blogs.msdn.com/b/briankel.

Visual Studio Team Foundation Server Planning Guide:http://vsarplanningguide.codeplex.com/.

Visual Studio ALM + Team Foundation Server Blog: http://blogs.msdn.com/b/visualstudioalm/.

Brian Harry’s Blog: Everything you want to know about Visual Studio ALMhttp://blogs.msdn.com/b/bharry/.

Page xxvTeam Foundation Server Deployment Plan Template, Version 3, 10.2013

Page 26: TFS/VSTS Deployment Plan Template... · Web viewDepending on the capabilities of your IT team, you may select to keep the deployment in house or contract with an outside consultant

7 Conclusion

We recommend that the implementation of the practices outlined in this document be validated during the initial deployment and as projects and teams are brought on board the system. The flexibility the TFS platform includes allows many changes to be made after initial deployment to compensate for needed changes to the configuration, either initially or later due to changes in needs.

To encompass all of the recommendations in this document, a schedule for all of the relevant tasks should be created. Complete implementation and customization should be done by <Customer Name> operations staff.

Page xxviTeam Foundation Server Deployment Plan Template, Version 3, 10.2013