In my previous article, I described what DevOps is: the combination of cultural philosophies, practices and tools that improves an organization’s ability to deliver IT solutions and services. In this article, we will take a look at Azure DevOps, a tool designed to help with DevOps best practices.
Culture is fundamental
In my previous articles, I mentioned that collaboration is one of the most important pillars of DevOps. Team interaction and collective input are absolutely crucial when working towards a desired common goal.
It is also absolutely imperative that leadership teams evolve their culture to embrace DevOps and Agile approaches. The DevOps culture promotes traits like ownership, persistence, transparency, open communication, agility, risk-taking and empowerment. It’s no secret that employees who are both motivated and empowered do great work.
DevOps also is often described as a set of practices to follow to achieve a planned end-state in the shortest time possible. Here are just a few of DevOps best practices:
- Application development teams use version control
- Stakeholders actively participate in the development process
- Deployment patterns for building applications and services are reusable
- Automated testing
- Application monitoring
- Source code is available for other teams
- Build on a standard set of technology
Adhering to best practices is much easier with the right tools. This is where Azure DevOps shines.
Microsoft Azure DevOps is a tool that provides developers with services to support teams to plan work, collaborate on code development, and build and deploy applications.
Registration in Azure DevOps is free, so everyone can start using it. Now let’s go over some of the features that can help you apply and manage DevOps practices.
Azure Boards enable planning, tracking and discussing work across the teams in the organization.
Under the “Azure Boards” you will find a few interesting sub-sections:
Work Items shows tasks that you created, or ones that are assigned to you. This is where you find work items assigned to specific teams within a project.
Work items can be filtered. You can easily filter on recently updated items or display only active items. I encourage you to read more about work items in the Azure DevOps.
In the Boards section, you can configure Kanban boards. This provides a visual space for you and your team to plan and show the progress of a project using work items displayed as cards.
You can also use filters to customize your view, for instance, to show work items from the current sprint.
Once you have collected all the requirements for the project, you can proceed to create a product backlog. In the backlog you create the roadmap for what your team plans to deliver.
The product backlog provides product owners with insights into work performed by several agile feature teams. They can define high-level goals as Epics or Features. Development teams can break these down into user stories that they can prioritize and build in specific sprints.
When your team works in the Scrum methodology you will find this part of Azure DevOps functionality very helpful. This is the place to plan the work for the development team within a specific time period. Of course, sprint length is configurable so it is possible to adjust it to the requirements.
The Queries tab provides an easy and fast way to filter work items. For instance, you show all the tasks that are in progress in the current sprint using the query.
Queries provide an easy way to achieve the following:
- Create a chart and add it to a dashboard
- Review work that is in progress or recently closed
- View a tree of parent-child related work items
As you can see there are a lot of helpful features that Azure DevOps offers for tracking and managing the progress in projects. It is important to note that if you work with Microsoft Project or Excel tools, you can easily integrate them with Azure DevOps. You can learn how are the steps of the integration following this link.
It’s always good practice to store source code in a version control system. I wrote about it in my previous article “Application development teams use version control”.
DevOps offers two version control systems:
- TFVS (Team Foundation Version Control)
Azure Repos is a set of tools that helps to manage source code. It enables developers to collaborate and review code. It also stores the entire change history of your code base, so it is easy to get a specific version if needed.
Team members can connect to the Azure Repos with different Integrated Development Environments (IDE) like Visual Studio or XCode.
Continuous Integration and Delivery is also a part of DevOps best practices. With Azure DevOps Pipelines, it is possible to set up automatic builds for different types of applications (like web or mobile). During the build phase, you can also apply an additional verification — like a security scan, to detect vulnerabilities in the source code.
Once application packages are ready to be deployed to the environment (development, QA or production), we can set up a release pipeline in Azure DevOps. You can choose which packages should be deployed to a given environment.
I only showcased the the most popular and useful features available in Azure DevOps. But of course, there is so much more to this platform. For instance, we also have Test Plans that enable automated testing, manual testing and bug reports.
There is also the Artifacts section, where a development team can share different packages (like NuGet) and set up continuous integration/continuous delivery with just a few clicks.
I encourage you to check out Azure DevOps full set of capabilities and start using it for free. You can being by clicking over to the registration page.
Managing DevOps best practices is much easier with the right tools. Azure DevOps is a great tool with a broad list of capabilities. You can use it to create a product backlog, manage development teamwork and measure implementation progress. It integrates with version control systems to manage your code base changes, and easily revert when required.
Azure DevOps provides an easy way to configure continuous integration and delivery. You can quickly deploy your application to different environments.
In the next article, I will show you what DevOps standardization looks like at Predica, and offer a few good tips of our own.
You have also the chance to attend the free webinar on the importance of DevOps and governance processes to unleash the full potential of the cloud. Sign up now and see you there!