At Artic Consulting, our goal is to delight our clients, including their employees, partners and customers, by delivering amazing technology that transform their business.
To accomplish this effectively, we use modern software development practices including DevOps, a methodology that ensures a team can deliver innovative and stable software quickly and efficiently. There are times when a more traditional waterfall approach is better, if we know up front what we are doing or if we’ve done a similar project before. But DevOps is great when you are creating new technology and/or working with cutting edge software tools for the first time, which is often a position we find ourselves in.
We have found that Microsoft’s development stack and its tools provide the most comprehensive, integrated and efficient workflow for delivering software via DevOps. The core tool used to be called “Team Foundation Services” but now has been rebranded as “Azure DevOps”. Microsoft has invested lots of development into making Azure DevOps a best-of-breed solution and integrating it with many other products and services.
Over the past several years, many commercial and open source developers have championed the use of GitHub.com to enable team and cross-company collaboration scenarios, and Microsoft has done a great job of integrating Github into its development tool stack. By making use of a feature known as Azure Pipelines, developers can create a continuous improvement cycle where it becomes very quick and easy to generate new software builds and get them into a live environment for testing and acceptance.
Other products in Microsoft’s ecosystem such as Microsoft Teams (used for meetings, chat, and team collaboration) have now been given integration hooks so that they can enhance this workflow and enable developers to further accelerate their DevOps processes. Teams even allows you to manage your development tasks and approvals within the same interface you use to collaborate with the team normally, which is vastly more efficient than having to switch between tools.
This article provides a step-by-step guide to setting up an Azure Pipeline with Azure DevOps and Github, and integrating it with Microsoft Teams for notifications and collaboration scenarios.
By setting up continuous integration and continuous feedback cycles using tools like Azure DevOps, teams can deliver well on some key metrics. The most notable being that teams can reduce the Lead Time from the initial discussion of a change to its being live in production, while also significantly increasing the Deployment Frequency, or sheer number of software releases. This enables new features and positive changes to get into customers hands much faster than older software development practices. Some teams are even able to release new code multiple times per day, and to leverage DevOps to experiment with new ideas quickly and among a small segment of their customer base. This allows failures to be found quickly, and successes to be ramped up to the entire customer base quickly and easily.
How often teams fail to deliver new software into production (known in the industry as Change Failure Rate) is also significantly reduced by instituting DevOps practices. For high-performing teams, this metric is reduced to under 15%, and sometimes down to 0, according to the report 2019 Accelerate State of DevOps 2019.
In closing, leveraging DevOps can help transform your business by allowing your software development teams to work quickly and efficiently, putting new features into the hands of your customers quickly. Microsoft’s development stack provides a best-of-breed solution which is well-designed. Our team has extensive experience with Azure DevOps and can help your business to leverage it for maximum effectiveness.
References
Integrating Azure DevOps, Microsoft Teams and GitHub
Integrate Your GitHub Projects With Azure Pipelines
Create a CI/CD pipeline by using Azure DevOps Projects
Azure Pipelines: Github
Connect Azure Boards to GitHub