When I started at Microsoft back in January, I was briefed on a number of strategic projects I would be responsible as the development lead. The TFS Integration Platform (TIP) was one of the projects, although it was still known as the TFS Migration Tools at the time. Eight months ago … time really flies … I was a newbie at Microsoft, getting to grips with avalanches of acronyms, meeting many, many bright people and starting at a technology mountain range bigger and scarier than the Swiss Alps … in fact, it is doubtful that anyone will ever be able to conquer the technology and warmware (people) ranges within this energetic and constantly evolving organisation.
But what is a development lead you may ask … I did :) and the definition I received at the time was “a development lead (dev lead) is defined as a creative, energetic and motivated leader in terms of the design and development of cutting edge technologies” and Bijan would add “razor sharp focus” to the definition.
What transpired in terms of the TFS Integration Platform was an adventure of ups and downs, success stories, failures and many, many late nights … working together with the most passionate and competent product group team I have meet to date and a team (or rather family) of VSTS Rangers from within Microsoft, from the Microsoft Most Valued Professional (MVP) community and technical specialists from communities such as SA Architect, creating a team that embraced most continents and time zones on our planet. To schedule a LiveMeeting was a challenge in itself and evolved the lightweight scrum and time zone sensitive VSTS Rangers process we are currently formulating … but I am getting completely off the topic.
The TFS Integration Platform journey started with a diet of source code, technical specifications, 1:1 whiteboard discussions with Terry, 1:1 discussions with Bill and being a fly on the wall, listening to hours and hours of design, testing and troubleshooting discussions of the TIP product group. It quickly became apparent that what was needed was clear guidance on the use of the product, guidance on getting started with the product and guidance on developing custom adapters, as well as a range of blog posts to discuss and demystify some of the concepts.
In March I had to present the VSTS Rangers session at the MVP Global Summit, to (a) introduce me as an ex-MVP and now blue badge VSTS Ranger, (b) introduce the VSTS Rangers Projects we were considering and (c) to clarify the TFS Integration Platform project and associated strategy. In fact I decided to wear an original WWII Swiss army steel helmet for the session as I knew from personal experience that the migration experience and the associated tools were not user friendly, reliable or consistent at the best of times.
For the next few months the VSTS Rangers worked on the first phase of the project, which includes a set of guidance documents, a Core SDK help file and more recently video recordings. In addition we were (and are) responsible for the external facing interface working with MVPs, ISVs and other early adopters of the TFS Integration Platform.
The formula we came up with in terms of getting to grips with the product can be outlined as follows, whereby it is important to note that we are still refining this process:
- Inception … establish a basic understanding of the migration and synchronization requirements in your environment and the available solutions. Obviously an off-the-shelve product is favoured, but you will likely find special requirements and/or expectations that either need you to develop a custom solution or customise an existing. In terms of resources we recommend the use of the Internet to explore solutions, for example the site Team Foundation Server Migration and Integration Solutions, and to get in touch with the VSTS Rangers who can assist you in terms of Microsoft TFS specific solutions.
- Resources: WWW, VSTS Rangers
- Elicitation … once we know what the business requirements and expectations are, it is time to investigate the possible and recommended migration scenarios. Time spent in this phase is time well spent, because decisions you make here will make or break your migration or synchronisation. If the expectations are to move full history and multiple VC branches it is important to understand and highlight the implications (complexity, etc.). , or if labels are essential, it is important to realise that currently TIP does not support labels. Once we know what the requirements are, how the product fits into the business needs and that the TIP product could be used as a solution, we can proceed to the next phase.
- Resources: TFS Integration Platform – Migration Guidance, VSTS Rangers
- Elaboration … focus on defining a refined migration scenario using the findings of the previous phases, considering data preparation, migration and possible on-going maintenance. You need to define required session types, i.e. VC and/or WIT, hardware and software requirements and define TIP configurations.
- Resources: TFS Integration Platform – Architecture Overview, VSTS Rangers
- Pilot … before you step anywhere close to your production environment you should seriously consider to pilot your proposed migration scenario, products and configuration in a controlled environment. The purpose of the pilot is to become familiar with the TIP product and to review your proposed migration scenario for correctness, feasibility and most importantly the impact on the existing environment. Some typical questions would include: (1) What is the impact on the development teams? (2) How long will it take to migrate the needed data … is it feasible?
- The first step of this pilot is to become familiar with the TIP product and we recommend the following approach:
- Complete the Basic Scenario Hands-On-Lab (HOL) and watch the associated video.
- Remember that the basic scenario avoids all possible WIT and VC conflicts and that we use strategies that would not normally be used in production. Huh? Well, to avoid conflicts we not only change the version control (VC) structure, but also enable the bypass rule feature. The latter also requires us to run a custom script as part of the HOL setup, which adds the user performing the migration to the Team Foundation Service group to allows the user to bypass all the WIT rules evaluations, such as state transition and value lists.
- Conflicts are avoided to allow you to focus on the basics of the TFS Integration Platform solution, instead of walking straight into the complex world of conflicts and the resolution thereof.
- Complete the Advanced Scenario HOL and watch the associated video.
- In the Advanced Scenario HOL we take off all the gloves and introduce you to the world of conflict and the arsenal of resolution options. Fortunately a new graphical user interface is slowly but surely replacing a command line tool that is liked by some and understood by few. Not being a fan of complexity and XML files, I personally favour and support the new Conflict Management Tool. It is a step, or rather jump, in the right direction :)
- The second step of this pilot is to use the TIP product in a controlled environment to test the proposed migration scenario on a subset of the production data. The more comprehensive and production-like the environment and the test data, the better. It is during this phase that you establish the expected migration latency, the probable impact on the production environment and get an opportunity to fine tune the configurations and your skills.
- Resources: TFS Integration Platform – Getting Started (Basic and Advanced Scenarios)
- Adopt … once you have dotted all the i’s and crossed all the t’s, you are in a position to step towards the production environment and proceed with the revised migration scenario. Whatever you do, make sure that you do not underestimate the impact and effort of migrating data in a production environment. Stay in touch with the VSTS Rangers, so that queries, uncertainties and issues can be tackled proactively. It is important that all stakeholders are involved and committed to the migration scenario … a happy and informed team == best ingredients for a happy migration.
- Resources: TIP product from Codeplex, VSTS Rangers
We are still working on the formula for custom adapter developers, but at this point we would define it as above, plus using the Core SDK help file and the TFS Version Control and TFS Work Item Tracking adapter documentation and code base as a working example. We will be creating a step by step walkthrough hands-on-lab document as part of the WSS Adapter samples, which should give every custom developer a quick start to and adoption of the environment.
The TIP product group is working hard to release the first ALPHA release on Codeplex, whereby the build of the source, the documentation and the installation are ready to go. In the package you will find an easy to use installation, a set of the latest codebase and the VSTS Rangers documentation, which includes:
- TFS Integration Platform – Migration Guidance Document
- TFS Integration Platform – Getting Started Document
- TFS Integration Platform – Architecture Overview Document
- TFS Integration Platform – TFS VC Adapter Document
- TFS Integration Platform – TFS WIT Adapter Document
- TFS Integration Platform – Core SDK Help file
The following material is imminent and will be included in subsequent drops:
- TFS Integration Platform – Getting Started Videos
| || |
- TIP product group in the United States is working hard on the Pioneer dogfood server and finalising the TIP product.
- VSTS Rangers in Canada are working on finalising the VSTS Rangers guidance deliverables and gearing up for the next phase, which includes custom adapter guidance and real-world Case Studies.
- VSTS Rangers in Germany are working on commercial custom adapters.
- VSTS Rangers in South-Africa are working on the WSS WIT adapter samples.
- VSTS Rangers around the world are reviewing the TIP product and the VSTS Rangers value-add deliverables, ensuring that you will receive a high-quality product.
As you can see, the worldwide community is standing behind this product and ensuring that “you” have the information, the guidance and the support needed to deploy and implement the product successfully.
At this stage we have a very energetic VSTS Extended Ranger, Robert, down in South-Africa leading the WSS WIT Adapter sample, which will be followed by a step-step walkthrough of how to build such a custom adapter. We are also working on case studies for real-world migration scenarios, which together with more guidance will deliver a comprehensive value-add package to the TFS Integration Platform.
Also in the pipeline is a Wiki, which is currently being assembled as part of the Pioneer dog fooding exercise consolidating guidelines, issues, resolutions and other valuable nuggets. The plan is to make this available on Codeplex at some point ... in the interim we suggest that you work with your VSTS Rangers contact to act as a gateway between you and the dog fooding Wiki.
… end of log 20091014.
| DEV – Development | HOL – Hands-On-Lab | ISV – Independent Software Vendor | MVP – Microsoft Most Valued Professionals | TFS – team Foundation Server | SDK – Software development Toolkit | TIP – TFS integration Platform | VC – Version Control | WSS – Windows SharePoint Services | WIT – Work Item Tracking | WWW – World Wide Web | CC – IBM ClearCase |