ArrowLinkToArchivePageBlog

Azure Devops Tutorial - Check Best Devops Practices How To Stay Consistent In Following Best DevOps Practices?

In my last two articles I described the concept of DevOps and introduced Azure DevOps, a Microsoft platform designed to help maintain its best practices. In this final part, I will go over how we follow these practices and benefit from them at Predica.

This is our very own DevOps case study. Let’s see how to bring these principles to life.

KEY TAKEAWAYS:

  1. How to align company culture with DevOps principles?
  2. What is the “Predica Agile” Framework and why did we decide to implement it?
  3. Why is it beneficial to build a dedicated team responsible for managing DevOps best practices?

Predica culture

Before I get into DevOps, I want to touch on our company culture. Ownership, persistence and transparency are our core values. They are what each of our Predicans, especially Project Owners, lives by.

In fact, the role of a Project Owner at Predica has two main responsibilities: to collaborate with development teams and maintain a high degree of service quality, and to remove any obstacles that stand in the way of delivery. It plays an essential part in a DevOps-driven service model.

The “Predica Agile” Framework

“Predica Agile” is our in-house framework that ensures a standardized and efficient approach to managing projects. It also helps us to achieve the following:

  • a standardized approach to service delivery, in the form of best practices, which are continually being shared and developed (more detail on this in the Predica DevOps Center of Excellence section, later in the article)
  • reporting and project KPIs aligned with our approach. They, in turn, help us to quickly compare, assess and communicate project status (for this, we use Power BI along with the Azure DevOps backlog)
  • employees are able to flow between projects and dedicated engineers/teams with little ramp-up and disruption.

The entire model can be illustrated in this way:

Predica Agile approach

The elements of the “Predica Agile” Framework

We utilize the Product Backlog and have our delivery team work in sprints. This way, they have a clear plan for what to do each week and Project Owners can easily track their progress:

DevOps case study: work in sprints

Backlog management process

Leave your email address to get expert topical updates every two weeks! Sign up

What is Predica DevOps Center of Excellence?

Our DevOps Center of Excellence is a dedicated team responsible for managing DevOps best practices across our organization. We publish our processes, standards and best practices on a Wiki page in an Azure DevOps project. There, we gather information on the following:

  • Process
  • Extensions
  • Backlog definition
  • Dashboards and metrics
  • Wiki
  • Version control
  • Branching strategy
  • Branch policies
  • Build pipelines
  • Release pipelines.

DevOps Center of Excellence

A screenshot from our COE repository

The above sections contain various standardization details. For instance, in “Branch policies”, you can find the following:

  • Direct merge to master – forbidden
  • Linked work items for each branch
  • At least one reviewer
  • Reset code reviewer votes when there are new changes
  • Description of what was changed.

Each part of our standardization has its own description related to DevOps practices.

Azure DevOps from a Project Owner’s perspective

Project Owners are responsible for both tracking progress and managing the client relationship.

Once we collect requirements, a Project Owner creates a Product Backlog. This is where we keep all requirements and features for any given solution.

Based on the backlog, they coordinate the sprint planning process, where we prioritize the features which we will deliver in the upcoming sprint.

DevOps case study: an example of a backlog

An example backlog

Each project has a dashboard configured to display project statistics:

DevOps case study: example project statistics

An example of a project dashboard

Azure DevOps from a Development Team’s perspective

Our development team uses Azure DevOps to report work progress on assigned tasks. I mentioned in my previous article that Azure DevOps contains repositories for the source code.

Once we develop a new feature, a Development Team member creates pull requests so that other members can review the changes and provide feedback.

DevOps and development

An example task in Azure DevOps

Besides code reviews, Development Team also uses Azure DevOps Pipelines to automate application builds and releases. This way, our test teams always have a fresh build to work with.

Team collaboration using Azure DevOps

Our main collaboration and communication tool used by both Project Owners and development teams is Microsoft Teams. Let’s go over a few best practices that we have adopted at Predica with respect to both DevOps and Microsoft Teams.


Azure DevOps or GitHub? Find out which one to choose

Status meetings

We organize our status meetings in Microsoft Teams. During each meeting, the development team shares what they have completed, what they are working on, and current obstacles. We can also display the current sprint directly from Azure DevOps for everyone to see and discuss.

MS Teams meeting invitation

MS Teams meeting invitation

Additional information about project health

We can display project stats in both Azure DevOps and Microsoft Teams. We leverage the integration with Microsoft Teams to access project health data right within the app. There are several channels with project data: we have a build channel that shows build statuses with dates, and a bugs channel that lists reported issues/defects.

An MS Teams channel for project bug notifications

An MS Teams channel for project bug notifications

Summary of our DevOps case study

As you can see, there are a lot of ways to help maintain best DevOps practices. We touched on just a few of them: team collaboration, deployment automation and version control. Our DevOps Center of Excellence promotes best practices and standards, and every member has a chance to contribute to it.

In summary, DevOps is the combination of cultural philosophiespractices, and tools. Which is exactly what we use! Our “Predica Agile” Framework, Center of Excellence and tools like MS Teams or Azure DevOps help us to improve our development process.

Hopefully, our DevOps case study has convinced you to try out this practice. And if you’re still unsure, you can check out our dedicated service!

Key takeaways

  1. In order to fully benefit from DevOps, organizations must align their work culture with its best practices.
  2. To manage the product backlog and plan sprints, you can use Azure DevOps.
  3. A dedicated team will help you collect, manage and execute best practices.
  4. Team communication and collaboration can be streamlined using Microsoft Teams.

Sign up for Predica Newsletter

A weekly, ad-free newsletter that helps cutomer stay in the know. Take a look.

SHARE

Want more updates like this? Join thousands of specialists who already follow our newsletter.