Azure DevOps is a SaaS (Software-as-a-Service) platform from Microsoft which offers a complete toolset for developing and deploying software projects.
When an organization is using DevOps the right way, they thrive. This incredible platform helps development teams by providing services and tools for analysts, programmers, testers, and project managers. Azure DevOps combines a vast array of tools, enabling IT teams to use DevOps processes and modify them based on the specific needs of their organization.
What Azure DevOps does
Azure DevOps is a suite of development tools that supports collaboration, coordination, and management of application and service delivery.
Using continuous delivery practices, Azure DevOps enhances the build, test, and deployment processes, which allows for smaller and more frequent releases. These in turn reduce the risk associated with updates and increase the quality and stability of your applications. Azure DevOps integrates into Microsoft’s Visual Studio Code and many other common integrated development environments (IDEs).
Azure DevOps preview
The Azure DevOps Toolset
The five main functional areas within Azure DevOps are
- Boards
- Repos
- Pipelines
- Test Plans
- Artifacts
Let’s dive into what makes each of these tools effective.
Azure Boards
Azure Boards offers interactive tools to assist development teams in managing software projects. Boards support the team’s work through Scrum and Agile development practices, and are used for various functions including:
- Tracking features, stories, and bugs
- Organizing work items
- Sprint planning activities
Azure Boards offer end-to-end traceability, allowing you to track the whole software development life cycle (SDLC) from requirements to deployment. The three different types of Boards are as follows:
- Kanban: Drag-and-drop work items to change status
- Backlog: View and organize work items in a tree view format
- Sprint: Track progress on work items that are currently scheduled for work
Kanban boards embrace principles of visual task management to provide a real-time view of work items, features, and tasks. It allows you to assign and move work items around on your screen, much like a traditional whiteboard with sticky notes.
Kanban board example
Backlog boards track the status of a project in a hierarchal way, where each task rolls up to a larger requirement. This parent/child type of board is helpful to break out what work need to happen to achieve a larger milestone. The Backlog board is the centralized repository for all your potential work items. It enables you to capture, prioritize, and refine features and tasks, which provides visibility and long-term planning capabilities.
Backlog boards example
Sprint boards are similar to the Kanban board, though they put the focus on tracking work items that are planned for a specific sprint or iteration. Since Sprint Boards operate within a fixed timeframe, they ensure incremental progress and support the following capabilities:
- Sprint planning
- Backlog prioritization
- Burndown charts
Sprint boards example
Azure Repos
Azure Repos is a control toolkit that assists teams in managing their application code. Regardless of size, version control is beneficial for any software development project. This cloud-hosted code storage is a robust feature of Azure DevOps.
Git is a one of the primary system supported within Azure Repos, which manages and coordinates combining code changes made by development teams. Git places a copy of the application files locally on your computer, which can be modified even when you’re offline. Any changes you make are tracked, and when synced back to the central repository in the cloud, your team members can review, comment on, and approve changes to be merged into the main codebase seamlessly.
This process is quite different from old-school centralized systems where users had to check out individual files in order to make changes, which prohibited others from working on it until the lock was released.
Azure DevOps Repos is made up of two types of repositories; local repositories and remote repositories, both of which play essential roles. The local repository is the copy of the entire source code, which is an individual sandbox and serves as a space where developers can create their own branch for making and testing code changes.
Remote repositories serve as the collaboration hub, where developers push their changes for others to review, comment on, and merge back into the master branch. These repositories enable team members to work together on the same code simultaneously, while ensuring that everyone is working with the most up-to-date version.
Git collaboration example
Azure Pipelines
Azure Pipelines is the automation engine built into Azure DevOps, which can automatically build, test, and deploy your code. Pipelines is the continuous integration and continuous delivery (CI/CD) control center for the platform.
Pipelines supports applications of all platforms and languages, which uses tasks and triggers to create intelligent automation processes that streamline your processes.
Azure Pipelines provides a user-friendly interface for defining and orchestrating workflows, allowing teams to build their applications, run automated tests, and seamlessly deploy their software to different environments – such as development, staging, and production, all without any human interaction if desired. This tool embraces industry best practices in DevOps, empowers development teams, enhances code quality, and delivers on promises of modern software development.
Test Plans
Test Plans allow you to build and run automated tests to help manage and track the testing of your software applications and ensure the quality of your software. Here’s how they function:
- Test Case Management: define and organize your test cases
- Test Execution: Assign test cases to testers, who can mark a test case as Pass, Fail, Blocked, or other status
- Test Configurations: Associate test cases with different configurations, such as operating systems, browsers, or device types
- Test Parameters: Define parameters for your test cases, which can be used to run the same test case with different input scenarios
- Test Automation: Integrate test automation tools to save time and ensure consistency in testing.
- Test Reporting: Access detailed reporting and dashboards that help you track the progress of testing efforts
- Test Outcome Analysis: Analyze test results to identify patterns, trends, and issues
- Traceability: Link test cases to requirements to ensure each requirement is tested
Test Plans integrate with other Azure DevOps Pipelines to streamline the development and testing process.
Test plan example
Artifacts
When it comes to integrating third-party solutions into Azure DevOps, Artifacts come in handy. You can use Artifacts to manage and share software components (or packages) like NuGet, npm, Maven, and more. It serves as a private, secure, and highly scalable package repository, allowing you to centralize the storage and distribution of Artifacts used in your software development processes. Search functionality makes it simple to find and select the right packages for your project.
Getting started with Azure DevOps
If you’d like to learn more on the tools and features of Azure DevOps, contact us today to speak with one of our consultants. As a top provider of Microsoft Cloud solutions, we believe DevOps is a software development team’s “way of life”. We’d be happy to show you how you can leverage this tool for your organization.
By Matt DeCap, Director Azure Solutions at Arctic IT