Mastering the Migration: Seamlessly Transitioning from TFS to Azure DevOps

Published on
5 minute read

In today’s fast-paced tech landscape, staying ahead often means making strategic moves that streamline processes and enhance collaboration. For organizations still utilizing Team Foundation Server (TFS), migrating to Azure DevOps is one such strategic move that promises enhanced agility and efficiency. However, this migration is not always straightforward. Let’s dive into the intricacies of this transition and explore how to do it seamlessly, leveraging the right tools and expertise.

Why Migrate to Azure DevOps?

Migration from TFS to Azure DevOps offers numerous benefits:

  • Enhanced Collaboration: Azure DevOps provides better integration with modern tools, fostering improved collaboration across teams.

  • Cloud Capabilities: Moving to Azure DevOps enables cloud capabilities, reducing the need for on-premises infrastructure.

  • Continuous Updates: Azure DevOps is continuously updated with the latest features, unlike TFS, which may lag behind in new functionalities.

These advantages make the move appealing, but the migration itself can be daunting without the right approach.

Common Issues with Older TFS Versions

One of the major challenges in migrating from TFS to Azure DevOps is dealing with older versions of TFS. These versions often have custom configurations or outdated settings that are incompatible with Azure DevOps. Here are some common issues:

  • Max Attachment Size: Over the years, some organizations might have increased the max attachment size in TFS, which is not allowed in Azure DevOps.

  • Database Customizations: Customizations made to databases in TFS may conflict with Azure DevOps requirements.

  • Validation Failures: Microsoft’s Azure DevOps Data Migration Tool requires your TFS environment to pass validation before migration, which can highlight numerous issues needing resolution.

Practical Example: Handling Validation Failures

In one case, a client had multiple projects within a single TFS database. When attempting to migrate, the validation tool flagged several issues, including the increased max attachment size. To resolve this, we had to revert the attachment size to the default setting, rerun the validation tool, and address other flagged issues before successfully migrating the data.

The Two-Pronged Approach to Migration

When it comes to migrating from TFS to Azure DevOps, we offer a two-pronged approach, each tailored to specific needs:

1. Targeted Migration Using Azure DevOps Migration Tools

For organizations looking to migrate specific elements—such as individual work items, code repositories, or builds—our targeted migration service is ideal. Using the Azure DevOps Migration Tools available on GitHub, we assist in moving specific components of your TFS environment. This approach is perfect when:

  • You want to consolidate projects.

  • You need to merge or split repositories.

  • You wish to change process templates, for example, moving from Scrum to Agile or vice versa.

2. Managed Import into Azure DevOps

For a more comprehensive migration, our managed import service covers the entire TFS environment, including all databases, code repositories, and builds. This process leverages Microsoft’s Azure DevOps Data Migration Tool, which takes your entire TFS environment and imports it into Azure DevOps. This service is best suited for:

  • Organizations with complex TFS setups.

  • Companies looking to move all their projects in one go.

  • Teams needing to transition from on-premises TFS to cloud-based Azure DevOps.

Order of Operations: Ensuring a Smooth Migration

Migrating to Azure DevOps is not just about moving data; it’s about ensuring that everything works seamlessly post-migration. Here’s the order of operations we follow to ensure a smooth transition:

  1. Update to the Latest Version of TFS: Before starting the migration, ensure your TFS is updated to the latest version. This reduces the risk of encountering compatibility issues during migration.

  2. Run Validation Tools: Use Microsoft’s tools to validate your TFS environment. These tools will check for any potential issues that could cause the migration to fail.

  3. Fix Identified Issues: Address all issues highlighted by the validation tools. This might involve reverting custom settings, such as max attachment sizes, or cleaning up outdated configurations.

  4. Initiate the Migration: Once everything is validated and issues are resolved, initiate the migration process, either using our targeted migration tools or the managed import service.

  5. Post-Migration Testing: After the migration, conduct thorough testing to ensure everything is functioning as expected. This includes checking code repositories, builds, and process templates.

Personal Advice: Don’t Skip the Testing Phase

I can’t stress enough the importance of the post-migration testing phase. In one instance, we migrated an entire TFS environment only to find that certain custom workflows didn’t translate properly to Azure DevOps. By catching this early through rigorous testing, we were able to quickly resolve the issues without impacting the client’s operations.

Account Alignment: Keeping Everything in Sync

During the migration, it’s crucial to ensure that accounts and permissions are properly aligned. Azure DevOps requires that all users have the appropriate permissions to access their projects and repositories. Failing to align accounts properly can result in access issues post-migration.

Practical Example: Aligning Accounts for Seamless Access

In a recent project, we helped a client migrate from an on-premises TFS to Azure DevOps. Post-migration, users reported that they couldn’t access certain repositories. The issue was traced back to misaligned accounts. We quickly addressed this by realigning the accounts and ensuring that all permissions were correctly set in Azure DevOps.

Conclusion: Why Expertise Matters in Migration

Migrating from TFS to Azure DevOps is a complex process with many moving parts. From handling validation issues to ensuring account alignment, every step requires careful planning and execution. That’s where our expertise comes in.

Key Takeaways:

  • Leverage the Right Tools: Whether you’re doing a targeted migration or a full import, using the correct tools is essential for success.

  • Don’t Rush the Process: Take the time to validate, fix, and test before completing your migration.

  • Seek Professional Help: Migration is not a one-size-fits-all process. Partnering with experts who understand the nuances of TFS and Azure DevOps can make all the difference.

Ready to make the move? Let’s work together to ensure your migration to Azure DevOps is smooth, efficient, and successful. 🚀

There’s a number of migration services that we offer. They’re kind of related as two sets of tools. There’s Martin Azure DevOps migration tools, which is on GitHub and available for people to use, but we help people use it. We do it for customers when they don’t want to learn it themselves. So that’s the more targeted migration tool. I want to move stuff; I want to merge stuff.

So that’s the actual moving individual work items around. That’s what I want to do. Then, that’s one of our services. The other one is a kind of managed import into Azure DevOps. Microsoft have a tool called the Azure DevOps data migration tool, and that data migration tool takes the whole thing. So you might have, if you’re with TFS, I always call on-prem TFS and the server Azure DevOps just to avoid confusion. Right? I know they renamed the server to Azure DevOps, but it’s just confusing.

TFS has multiple databases hanging off it, and those databases are the things that you take and put up to Azure DevOps. So if you have 500 projects in one database, you’re taking the whole thing, but you can’t just take it because there are things you could do to your TFS that are not allowed in Azure DevOps. There are things that could have happened over the years to your TFS that are not allowed in Azure DevOps.

I think I’m going to double down on things you could have changed in TFS that you’re not allowed to do in Azure DevOps, like increasing the max attachment size, for example. There’s loads of them. So Microsoft provide a bunch of tools to validate your environment to make sure it will work before you migrate it up, and it has to meet the validation before it will go to Azure DevOps.

But how do you do that? You have to get onto the latest version, then you have to run the tools, then you have to fix all of the stuff that it highlights, and then you’ve got to go. So we provide a managed service for moving your entire on-prem Azure DevOps TFS environment—code repos, builds, everything—up to Azure DevOps.

Or we also provide a service where you want to move pieces of things within that context around and consolidate and change process templates. You know, we want to move from Scrum to Agile, or our bespoke one to Agile, or our Scrum one to our bespoke one. All of those, if you want to do things piecemeal, we can help with that. If you want to do the whole thing, we help you manage that process up to the cloud.

Azure DevOps Practical Techniques and Tooling Install and Configuration Software Development

Connect with Martin Hinshelwood

If you've made it this far, it's worth connecting with our principal consultant and coach, Martin Hinshelwood, for a 30-minute 'ask me anything' call.

Our Happy Clients​

We partner with businesses across diverse industries, including finance, insurance, healthcare, pharmaceuticals, technology, engineering, transportation, hospitality, entertainment, legal, government, and military sectors.​

Lean SA Logo
Cognizant Microsoft Business Group (MBG) Logo
Ericson Logo

NIT A/S

Jack Links Logo
YearUp.org Logo
Emerson Process Management Logo
Flowmaster (a Mentor Graphics Company) Logo
New Signature Logo
Microsoft Logo
Illumina Logo
Alignment Healthcare Logo
Workday Logo
Bistech Logo
MacDonald Humfrey (Automation) Ltd. Logo
Epic Games Logo
Big Data for Humans Logo
Qualco Logo
Washington Department of Transport Logo
Royal Air Force Logo
Ghana Police Service Logo
New Hampshire Supreme Court Logo
Department of Work and Pensions (UK) Logo
Washington Department of Enterprise Services Logo
YearUp.org Logo
Brandes Investment Partners L.P. Logo
Big Data for Humans Logo
Slaughter and May Logo
Philips Logo
Lockheed Martin Logo