We are busy with TFS Integration Platform and Tools training and I thought it may be an idea to share some of the discussions, based on the readiness package, on this blog. The topics we will cover include:
- Planning a migration
- Troubleshooting a migration
- Migrating from ClearCase to TFS
- Migrating from Subversion to TFS
- … perhaps more topics … keep an eye on TFS Integration Platform – Summary of Links, section “Migration & Planning” where we will index them all
So, without any further waffle, let’s focus on the first topic.
Planning a migration
As shown on the migration guidance poster below, the core scenarios include consolidation, migration (copying) and synchronization, as well as a standard upgrade path.
If you are looking at a standard in-place upgrade the integration tools are not applicable and you should be consulting the standard TFS administration and installation guides. Note that in-place Upgrade is almost always the right choice when it is an option. Upgrade is a lossless process that minimizes migration and on-going maintenance time, effort and cost.
If you need to consolidate TFS 2005 or 2008 servers to TFS 2008 or TFS 2010 and, if and only if, only consolidating version control and work item tracking data you could consider the integration tools.
For the migration scenarios you must ask yourself “do I care about preserving my history?” If not, you should consider copying just the tip of the repository, the latest or all relevant version control and work items into TFS and leaving the migration journey for another day.
For both the migration and synchronization scenarios we recommend that you determine if there is an off-the-shelve product available, as is the case with SourceSafe and Quality Centre. If there is none and you are once again looking at version control and work item artefacts only, the TFS Integration Tools are a feasible option.
The Migration Planning poster consolidates the main planning steps you should consider as part of any migration or synchronization which could vary from days to months, depending on the chosen strategy and especially the amount of data to be migrated.
The key five (5) steps of the panning exercise are:
- Inception phase intends to evaluate all options, understand the environment, the requirements and any off-the-shelve solutions that could be considered. Note that there are focused migration guidance documents for ClearCase, ClearQuest, Perforce and SubVersion.
- During the Elicitation phase the requirements are prioritised, matched with migration solutions and most importantly the possible scenarios are considered. It is important to challenge all expectations and requirements during this phase, as both feed the maintenance cost and complexities.
- Elaboration phase refines the selected scenarios and creates a definition for the required infrastructure, tooling, customization thereof and a list of manual and automated use cases which outline each migration step in detail.
- The proposed scenario, products, configurations and use cases are evaluated during the Pilot phase, assessing the impact on the environment, stakeholders and associated project teams.
- The final Adoption phase should not be underestimated in terms of the impact and effort of migrating ALM data in a production environment.
Please remember that:
- Complexity and cost of migrations increase as history increases … avoid trying to move history when possible.
- Before creating use cases for a possible automated migration, create and evaluate “manual” use cases, which define and evaluate each step in detail.
One of the documents in the readiness package, in the proof-of-concept category, is the POC or Product evaluation chart. The document recommends a proof-of-concept or evaluation approach and workflow, based on a preparation phase which validates the approach using manual use cases and testing, followed by an execution phase during which the manually validated processes are automated.
Typically the more planning, preparation and validation you invest, the easier the migration becomes.
… next time we will look at troubleshooting a migration, based on the TFS Integration Tools or on Codeplex.