The Evolution of My Journey with Azure DevOps: Lessons and Insights

Published
Written by Our People
7 minute read

When I first encountered Azure DevOps back in 2006, it wasn’t even called Azure DevOps. Back then, it was known as Visual Studio Team Services (VSTS), and before that, Team Foundation Server (TFS). Over the years, the name has changed several times, but the core intent has remained consistent: empowering teams to enhance their capabilities through powerful tools. In this blog post, I want to take you through my journey with Azure DevOps, from my early days as a software engineer to becoming a Microsoft MVP and a DevOps consultant. I’ll share personal experiences, lessons learned, and practical advice on leveraging Azure DevOps to its full potential.

Early Experience with Team Foundation Server (TFS)

A Humble Beginning

My journey with Azure DevOps began in the mid-2000s when I was a software engineer plugging away at building products. Back then, TFS was my gateway into the world of DevOps. It was a tool designed to help teams improve their processes, increase their capabilities, and streamline their workflows.

Challenges and Growth

However, TFS, in its early days, struggled to extend its reach beyond the Microsoft ecosystem. It was primarily designed for teams deeply entrenched in Microsoft technologies, limiting its versatility. Despite these challenges, I found TFS to be an invaluable tool, and my work with it played a significant role in earning my Microsoft MVP status. This recognition came from my efforts in building plugins and working with the TFS APIs, which laid the foundation for my future endeavors in the DevOps space.

Becoming a Microsoft MVP

Recognition Through Contribution

Gaining recognition as a Microsoft MVP was a pivotal moment in my career. My contributions to the TFS ecosystem, particularly in API development and consulting, earned me this prestigious title. I had the opportunity to work with teams at Merrill Lynch and Aggreko, where I helped them implement automated builds, streamline work item tracking, and integrate various tools to enhance their capabilities.

Real-World Applications

In these roles, I wasn’t just writing code; I was helping teams understand the importance of DevOps practices and how to effectively utilize TFS to achieve their goals. I built visualization tools, automated processes, and played a key role in driving the adoption of DevOps practices within these organizations.

Significant Projects and Custom Adapters

The Power of API Work

After earning my MVP, I moved to the United States and worked as a DevOps consultant, primarily within the Microsoft stack. During this time, I was heavily involved in API work, which included complex migrations and custom adapter development. One particularly challenging project involved migrating data from TFS to other systems using an old Microsoft tool with an adapter model. This experience highlighted the importance of flexibility in DevOps tools and the need for custom solutions to address unique challenges.

Creating Custom Solutions

One of my notable achievements during this period was creating a custom migrator for Test Track Pro into TFS. This project demonstrated the importance of understanding both the technical and business aspects of DevOps. It wasn’t just about moving data; it was about ensuring that the migration process aligned with the organization’s goals and workflows.

Evolution of Migration Tools

Consolidation and Optimization

As my career progressed, I started my own business and took on projects that required deep expertise in DevOps and migration strategies. One such project involved a company called Slumber, which needed to consolidate its tools and processes. Slumber’s environment was a mishmash of tools and engineering processes, and they needed to streamline their operations by adopting TFS as their primary tool.

The Role of PowerShell

In this project, I initially built a series of PowerShell scripts to prototype the migration process. PowerShell was instrumental in rapidly iterating on solutions, despite its limitations in terms of stability and scalability. These scripts allowed us to migrate data, change process templates, and move data between fields. However, as the project progressed, it became clear that a more robust and pluggable solution was needed.

Building Azure DevOps Migration Tools

Two Approaches to Migration

The migration landscape in Azure DevOps is complex, with two primary approaches to consider:

  1. Microsoft’s Built-in Migration Tools: These tools are limited but powerful, designed to help organizations move their on-premise TFS environments to Azure DevOps in the cloud. If your environment is relatively up-to-date, this is often the simplest and most reliable method.

  2. Custom Migration Tools (My Solution): For organizations with unique needs or outdated environments, my custom migration tools offer a more flexible solution. These tools allow for selective migration of work items and other data, providing the necessary adaptability for complex scenarios.

Real-World Case Studies

One of the most significant projects I’ve worked on involved migrating 2.7 terabytes of data for Slumber, making them one of the largest Azure DevOps customers outside of Microsoft. This massive migration was a testament to the power of Microsoft’s tools when used correctly. On the other end of the spectrum, I’ve also handled smaller migrations, where the process was completed in a matter of hours, showcasing the scalability of Azure DevOps.

Practical Advice for Migration

Planning and Execution

When planning a migration to Azure DevOps, it’s crucial to:

Custom Solutions for Complex Needs

For organizations with unique requirements, such as partial migrations or splitting projects, custom tools like the ones I’ve developed can be invaluable. These tools allow for a more granular approach, enabling organizations to move only the necessary components while maintaining the integrity of their data.

Training and Consulting Services

Empowering Teams

In addition to providing migration tools, I offer training and consulting services to help organizations make the most of Azure DevOps. Whether it’s a one-off migration or ongoing support, my goal is to empower teams to leverage the full capabilities of Azure DevOps.

Real-World Applications

One of the most rewarding aspects of my work is seeing the impact of these tools and services in real-world scenarios. For example, I recently completed a migration of 880,000 work items for a customer, enabling their audit department to seamlessly transition to a new system. This project not only demonstrated the scalability of Azure DevOps but also underscored the importance of having the right expertise on hand for such critical tasks.

Conclusion and Ongoing Support

A Continuous Journey

As both a user and consultant for Azure DevOps, I’ve witnessed the platform’s evolution and its impact on organizations of all sizes. While my work has increasingly shifted to GitHub, I still hold a deep appreciation for the capabilities Azure DevOps offers. However, as powerful as these tools are, there are always gaps that require custom solutions or expert guidance.

Final Thoughts

Whether you’re planning a migration, seeking to optimize your DevOps processes, or simply need advice on the best approach for your organization, remember that Azure DevOps is a versatile platform with the potential to transform how you work. But like any tool, its effectiveness depends on how well you understand and leverage its capabilities. So, take the time to explore your options, seek out the right expertise, and make informed decisions that align with your business goals. By sharing my journey and insights, I hope to inspire others to explore the full potential of Azure DevOps and embrace the continuous journey of improvement that DevOps embodies. 🚀

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.​

CR2

NIT A/S

NIT A/S