Bring your questions, and we will provide answers.

 

That’s it. No commitments. With less than 1.5 hours of your time, you will limit the risk for your project. 

We like to deliver! After a call, you will get a summary report with all the information we covered.
Do not wait.

 

Register for your free scoping call right now.



    *Predica needs the contact information you provide to us to contact you about our products and services. You may unsubscribe from these communications at any time. For information on how to unsubscribe, as well as our privacy practices and commitment to protecting your privacy, please review our Privacy Policy.

    Articles

    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 points:

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


    This article has been published on September 16, 2019. It has since been updated for better readability.


    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.

    DevOps survey promo banner

    Click the banner to start the questionnaire

    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.

    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.