18.09.2019

Agile Projects with Microsoft Azure DevOps

Are you also faced with the challenge of having to react quickly to changing market conditions in your product development and do you not want to make new features accessible to your customers as quickly as possible? Find out in our DevOps article series based on a specific use case, such as Microsoft Azure DevOps can be used profitably precisely for this purpose – and that not only for software projects.

More and more projects are being carried out agilely. As a result, the requirements for project management tools change. Microsoft has placed a helpful tool on the market with the advancement of Azure DevOps, the successor to Visual Studio Team Services (VSTS). As a successor to VSTS, Azure DevOps' proximity to software development projects is obvious. It is easy to overlook the fact that Azure DevOps has a lot to offer even for non-software projects due to its modular design and the support of all the essential phases of agile projects.

What is Azure DevOps?

Microsoft Azure DevOps is a tool that supports software development teams throughout the development cycle, from request capture to implementation and testing to automated deployment. The name DevOps is derived from the abbreviations Development (Dev) and Operations (Ops) and is regarded as one of the major megatrends in the industry, which is attracting increasing attention.  This trend is underscored by studies that show enormous efficiencies by implementing DevOps. According to the “State of DevOps Report 2018”, the top group achieves 46x more frequent deployments, 2555x faster lead time from commit to deployment, 7x lower error rates, and 2604x faster bug fixes. 

Now it would be wrong to equate Azure DevOps with DevOps. DevOps is neither a tool, a software nor a methodology or a process. DevOps must be understood above all as a culture or a philosophy, which places the cooperation of development and operation in the foreground. This is often combined with a change of mindset, a change in the type of cooperation and a closer integration of development and operation to overcome existing silos. DevOps promises increased mutual trust, faster response times, faster customer-generation, as well as better and more reliable handling of planned and unplanned work. Many of these goals resemble the goals of agile methods. Azure DevOps as a tool to support DevOps is therefore not only suitable in the context of IT or Dev and Ops topics, but also in the context of agile projects without IT reference.

In this series of blogposts we will show how Azure DevOps can support various challenges in the context of agile projects with and without IT focus by means of a concrete and current use case.

Overview: The modules in Azure DevOps

Azure DevOps has a modular structure. This has a decisive advantage: in many companies good tools for sub-disciplines are already established in parts, e.g. via a test management suite. However, integrated solutions for planning or Continuous Integration (CI) and Continuous Deployment Pipeline are often missing to enable a consistent approach. In addition, there are also companies in which, for example, specialist departments only want to implement a simple solution for organizing their work using flexibly configurable taskboards. In such a case, only the Azure boards can be activated and the other modules can be hidden - enabling them to be added later at any time.

In general, Azure DevOps supports all phases of an (IT-) project. The following modules can be flexibly activated according to the individual requirements profile of the project.

The ideal typical development process can be implemented with Azure DevOps as follows. The initial requirements analysis is supported by Azure boards and Wiki integration. Afterwards the planning can be very flexible e.g. in the form of sprints in the boards - out of the box you are completely flexible here concerning the configuration and representation of fields, filters and views.

When it comes to implementing first artifacts and software deliverables, Azure Artifacts offers package management and Azure Repos provides a powerful repository integration that allows you to integrate a version control system. Azure Test Plans offers the ability to fully integrate test management, some of which are the actual test cases. These are directly linked to your requirements and allow to enter test feedback on individual test steps as well as to create bugs - all without leaving the tool suite. Multiple Excel lists with individual test steps and links to the actual test environments are a thing of the past. A graphical evaluation within freely configurable dashboards is also available here:

Azure Pipelines offers CI/CD that works with any language, platform and cloud environment. As a result, a connection to GitHub or any Git repository can be established and new product versions can be continuously deployed. Azure DevOps' flexibly configurable dashboard function makes it very easy to merge the various pieces of information - for example, burndown charts, a build history or velocity history can be displayed clearly and graphically.

Finally, the Microsoft Marketplace gives you the opportunity to add further features to Azure DevOps, which we will also present in detail in the blog article Series on Azure DevOps using a concrete example.

Many companies already rely on the direct predecessors of Azure DevOps - the cloud variant Visual Studio Team Services (VSTS) or the on-prem variant Team Foundation Server (TFS). VSTS users automatically receive an upgrade to Azure DevOps projects. There is no loss of functionality for existing users. Customers who have previously used TFS can migrate to the new version of Azure DevOps Server - with the Software Assurance always included in TFS, you can upgrade here for free.

Look forward to more articles about Azure DevOps that we will publish regularly until the end of this year to give you an idea of the benefits of this solution.