Changes do not come overnight. They require patience, alignment, and long-term dedication. The fruit that comes as a reward at the end is, however, quite sweet. In this case, the fruit is faster delivery, collaboration, and full transparency.
When I started my journey in System Verification, I was a “freshman” in the world of IT – quality assurance or any kind of support was not something I was familiar with. As I had prior experience in teaching and I have developed my presentation skills over time, colleagues spotted the potential in me in the initial interview. So I focused on developing skills in different areas, both as a QA and a support engineer, which is what I started as when it comes to Azure DevOps Services.
I was included in the support team for both TFS (current Azure DevOps Server) and Azure DevOps Services, and I had yet to learn the benefits of the tool and why we should use it in the projects. Those were the common questions I had (most probably, everyone has), and, as time passed, I was figuring out, on a daily basis, the tool’s extreme potential in the process of any project.
How did it all start?
At the time, I was part of a support team that mostly handled incoming incidents related to TFS. We were handling all the technical support, starting from user administration to creating custom process templates of different projects, and supporting servers that were running TFS (since this solution from Microsoft is on-premises). TFS was in constant need of support since no updates were automatic. Over the span of a couple of months, I learnt a lot about maintenance of the tool, what the function is and how to use it in your projects, but also the various ways of customizing it (which was not easy to understand at first).
Over time, Microsoft has developed and rapidly updated Azure DevOps Services, the cloud version of TFS. They were developing a solution which is on-cloud, faster and more efficient in everyday work, a tool which you could easily use to improve a workflow in project. That is where we saw a great opportunity to develop ourselves – we invested a lot of time in understanding Azure DevOps Services inside out to help projects increase their speed of delivery. From that moment on, we were constantly engaged in the tool seeking ways to find out all the best practices when it comes to the Azure DevOps Services.
Working with clients (their agile coaches in specific), we have implemented changes within their processes through the tool. Thereby, we have created a transparent environment which has led them to improving their speed of delivery, on some occasions making it five times faster than before.
How to: Migration process
Every change is hard, and each of those changes come with some challenges of their own. With a couple of meetings beforehand, when introducing the tool to the organization, we highly advise clients to work on their process and put us in contact with people who are in charge of implementing their way of working. It is important to set the goals at the beginning, so that you are always reminded on what the final place of your organization will be.
Initially, you would need to work on the setup of the process, to create one common vision for the entire organization. Create an environment that is willing to implement the change by introducing one process, one mindset and one vision. In case your organization is a large-scale organization, try and do a trial on a small-scale team within your organization before the full implementation of the solution.
Next step is to create the organization within Azure DevOps Services together with project. You can also first test out how it will look like prior to the full migration by creating your sandbox environment (a different organization that can be dedicated only to testing out the tool).
Create your first environment here: https://azure.microsoft.com/en-us/services/devops/
Azure DevOps Services provides an easy way to update templates of processes within the tool and adjust them according to project needs. The recommendation that we strive towards is to go agile, as we have seen the difference this makes within large-scale, complex structures.
After setting up the initial environment, it is important to work together with teams in order to understand what data they would need to be transferred into the tool. That is the time teams can dedicate towards cleaning up the work they have previously created, and get rid of overhead, as now is the time for a lean start. Teams (including product owners, scrum masters and team members) oversee a cleanup process and understand what brings value to their work. Once settled, data is transferred, and a team setup is created and aligned with the project. Data includes migration of work items, test cases, as well as working moving code repositories and working with teams to setup their build and deploy environments in the tool.
Next up are trainings and workshops with teams. This is done by those who understand the tool and its implementation within the process well (for example, our team has been taking care of hosting these). On sessions, presenters are going through the tool in detail, showing how to define, refine and plan work done by teams. As Azure DevOps Services provides tons of features for all members of the team, it is important to have role-specific workshops, where team members are educated on best practices for the work they do, be it testing or programming, as each member should understand how to make their daily work easier, and also share and collaborate.
After settling the details, and practicing inside the tool, the team is ready to start collaborating with other teams within their new setup.
Pros and cons of migrating to Azure DevOps
This is the list of benefits of including Azure DevOps Services in your organization:
- Full traceability:
- Use Azure Boards for all project management
- Use Azure Repos, Pipelines and Artifacts for managing code and developing CI/CD
- Use Azure Test Plan to manage all Quality Assurance related activities
- Everyone has easy access to the tool and can track all the cross-team work as well as a work within your Team
- Always up to date, as it is a cloud solution (no need for server maintenance)
- Customizable and adaptable to any type of organization or project
- All in one place for perfectly following the process: install extensions that will help you plan, refine, and deliver your work within the tool
- User-friendly with a crisp design
- Keep track of your progress with diagrams that show Teams’ work over different timeboxed periods
- Part of Microsoft’s ecosystem:
- Integrate it with Microsoft Teams, Power BI or any other Microsoft tool
- Licenses and cost:
- You will need to manage which licenses are given to members of organization.
- Stakeholder license is free, however, it provides limited access to the tool (user can read boards and backlogs).
- Basic and Basic + Test Plan licenses are for team members that are involved in the project and contribute to it on a daily basis. Basic will provide full access to the work done in the tool as well as the ability to contribute to repositories, pipelines, and artifacts, and read out the Test Plans, while Basic + Test Plan gives you additional ability to contribute and work with the Test Plans feature.
Where to start?
Gain some metrics from the current environment you have and try to understand where you struggle and identify the bottlenecks in the setup. Afterwards, it is always good to have someone that could advise you in your journey forward, so let that be the next step – contact me directly to get some input or advice on how to proceed to create an ideal environment for your organization. Book a short meeting where we could discuss the issues you are facing and let us help you create the vision and goals for your organization.
Let us all have the same mission in mind – one tool, one process, one mindset.
Author: Ajla Sokol, Azure DevOps Engineer
If you would like to know more about Azure DevOps, you can join our webinar that will go live on October 6: