Microsoft Azure DevOps for software development

What is Azure DevOps

Azure DevOps is Microsoft’s set of cloud-hosted DevOps services that are used for Software development – build, deploy and manage applications/services. Azure’s main features are Agile project planning tools, test plan management, and version management with full traceability and visibility across development activities.

Why Microsoft Azure

We chose Microsoft Azure as our software development tool for more than a few reasons. We have a whole set of things developed using the .NET Core framework, which is easily deployed on Linux and works well with Postgres which is usually our DBMS of choice. Also by choosing Microsoft Azure, we create a unified and mutually compatible workflow for software development as it integrates well with Tasktop and we have a bunch of neat scripts on our Pipelines that share build and test information across to our project/product management tools.

The key benefits include ease of following Agile (Scrum, Kanban) methodology in Microsoft Azure, fast way of setting up a project, receiving instant feedback and statistics about software deployment and pipelines, instant test results and most importantly – the client can oversee when certain features are being developed and when the same features are finished, giving the client full overview of what is happening in the project.

Azure for Agile

We believe that Agile software development methodology is the prime way of software development. Many projects have 30+ stakeholders who are actively involved within every sprint – Using Agile principles and involving all project collaborators, we create and guide others in creating long-term viable software solutions.

The Agile process provides different work item types for planning and tracking project – user stories, tasks, bugs, features, and many more – e.g. we have created a few custom item types like Tech Debt (Picture Nr. 1) items and Risk work items. For additional details of work, tasks can be added to user stories. Within each work item, description, assignee’s, statuses, and other attributes can be added.

Picture Nr. 1 – Tech Debt table

Our preferred way to manage work items is to use a Kanban board that we have run live on big screens within our developers’ offices. Any work item statuses can be easily visible and managed, especially since a lot of information that is created outside of Azure DevOps is automatically synced across to Azure DevOps using Tasktop again. Additional features to user stories can be added in a matter of seconds. When reviewing user stories or different work items, the discussion section is used to add comments and tag others for fast and responsive reconcilement.

Our Work Flow

Developers create projects and work with repositories within Microsoft Azure. After some code is committed, automated pipelines compile, deploy, test, and run the code. Automated Unit tests and Cypress tests (and sometimes depending on the environment some load tests and security scans) are being run to test all system parts. Test results are visualized for instant feedback and available to everyone involved.

As mentioned before a lot of automation is done with the help of Tasktop – work items are automatically synced across to other tools (e.g. Jama), info from pipelines is bundled up in JSON files and parsed to be sent across other tools or to create visualizations. This way Developers and Clients can work on their own platforms without the need to bother the other for status updates, that is – be in sync and oversee the overall work.

Contact us for further information:

e-mail: info@aaprojekts.lv
phone: +371 67282720

Rūdolfs
Sviklis

Kārlis Broders
Kārlis
Broders
Matīss Zemturis
Matīss
Zemturis