<   BLOG
DevOps Project Management: How Has the DevOps Approach Changed the Way We Look at Project Management?
23 MAY 2022

In heaven, they are talking about nothing but the DevOps approach and how awesome it is. In two years, the demand for DevOps specialists has grown by 70%. No wonder! At a time when everyone is chasing the fast and quality release of new products, all available tools go into battle. Therefore, companies tend to hire so-called DevOps engineers.


DevOps development services help to automate building, testing, deploying, and production. Thanks to them, companies can quickly and safely introduce changes to the code or launch new products. I’m a DevOps expert at Brivian and I wanna tell you how DevOps processes in our company help us build products faster.

If you don’t know about DevOps, its advantages, and who needs it, you can find out about this here. To make a long story short, DevOps project management is focused on reducing time to enter the market, reducing new release failures, reducing the time between launches, and minimizing failures through process continuity.

How to manage a project?

First, let’s figure out how projects are managed. For successful product development, you need well-organized processes and task planning.

There are several approaches to building software. For example, Waterfall — the classical linear product development model. Phases go one after another and focus on achieving a specific goal of each stage. The next one can’t begin until the other one is completed. If you follow this methodology, the developer will not be able to start a new stage until they finish the previous one.

DevOps project management vs Waterfall approachThe scheme of Waterfall approach in DevOps management

Or Agile. Agile project work is divided into sprints — the emphasis is on the coordinated work of employees and work planning, not on tools and processes. The main benefit of agile software development is that it allows the software to be released in iterations. This approach improves development efficiency, and teams can find and fix defects and make changes easily.

DevOps project management vs Agile approach

The scheme of Agile approach in DevOps management

These two approaches have one important thing in common: they do not build collaboration between the development and operations departments. That’s how the DevOps approach was born. It was designed to break down the wall between departments. I mean, DevOps project management is not only about tools, continuous practices, and coding. This is about a tight collaboration between the development team, including task planning, coding, testing, and the operations team, which is responsible for product deployment and release.

The advantage of DevOps engineering lies in the inseparable connection between developers, system administrators, and deployment into the final product — the pipeline. If earlier it was necessary to solve architecture issues in stages and work in different planes, then in the modern IT industry they came up with an ideal solution, which links all planes into one continuous process.

The DevOps project management approach promotes faster, better, and more secure delivery of business value to an organization’s end customers. At Brivian, we actively use this modern methodology to improve the quality of the product and eliminate errors during the release of the application.

DevOps project management approach

The DevOps project management approach solves the silos between deployment and IT operations. The flexibility of this approach optimizes project management methods.

Who is a DevOps services engineer?

DevOps engineer is a specialist who owns the largest number of tools. This person must combine the skills of an administrator, programmer, tester, and architect. They keep up to date with new methodologies in the global network that are constantly being developed and added.

Continuous pipeline DevOps process

DevOps at Brivian is a constantly repeating process that involves several stages of building an app:
  • creating architecture depending on the provided capacities of PCs and their number
  • programming the frontend part of the app for all users and the backend part that is hidden from the regular users and available only for administrators
  • connecting an application with storage and setting it up – usually a database
  • testing the first three stages
  • involving a DevOps engineer to automate the build process of the first four stages
  • releasing the final application into production
This way, when we integrate DevOps services, we identify flaws in development and operations processes to reduce time and costs.

Best DevOps practices and tools

One of the main goals of DevOps project management is to help companies of all sizes achieve high development efficiency and enable collaboration between development and operations teams for faster code deployment. In order to implement DevOps project management into processes successfully, our DevOps team uses appropriate practices and tools. What are they like?

Continuous Integration

This practice is related to the fact that parts of the code are written by different people, and then these parts become a single code base for the future app. Before DevOps, developers could write code in isolation from each other for long periods of time. They only merged their parts with the main part of their work when the whole project was complete. Merging code was more difficult, and bugs piled up and weren’t fixed. Accordingly, delivery was not fast either. CI practice allows integrating code into a single base continuously, so developers can interact with these changes immediately.

Automated Testing

DevOps practice of testing goes along with continuous integration. Because the code is continuously integrated and continuously tested, the speed of delivery is increased. At this stage, version control is performed to detect problems in advance. Automated tests target different tasks. Automation helps to reduce the burden of performing repetitive tests manually and to speed up the testing process.

Continuous Delivery

In continuous delivery, every software code change is built, tested, and then sent to the preparatory environment. Continuous delivery extends the practice of continuous integration because all code changes after the build stage are deployed in a test or working environment. Each confirmation of a version entry triggers an automatic process of building, testing, and posting updates. If something bad is detected on production, it is possible to roll back to a previous version, thanks to automated recovery.

Infrastructure as a Code

When we roll back our app to a previous version, the infrastructure is also taken from the previous version. The API-based cloud model allows developers and system administrators to interact with the infrastructure as a code, instead of having to install and configure resources manually. If they need to test a new concept or approach, they can deploy an isolated infrastructure from off-the-shelf scripts. Then get the results and delete them.

Continuous Monitoring

Continuous monitoring practices exist to collect and organize application data. This way DevOps team can understand how changes or updates affect users and find the source of the problem if it is detected. This is important because, if performance degradation occurs, they can understand what caused it. Early feedback is critical to reducing the cost of errors and steering project in the right direction. Doing a real-time analysis of this data also helps companies monitor their services more proactively.

Continuous feedback and optimization

Users leave continuous feedback and provide a visual representation of the product. This allows you to understand how the users see the product and identify problem areas. Feedback can be incorporated in both the pre-production and post-production phases to maximize value and ensure even more interactions are completed successfully.

Collaboration

We described development practices, but let’s not forget that properly configured communication and data sharing play an important role in DevOps project management. The development and operations teams exchange information and communicate through specific chats and project tracking systems. This DevOps practice helps accelerate communication between the development and operations teams, allowing the entire company to focus on specific goals and projects.

So, what about DevOps services tools?

Different tasks request different tools. There is a list of what we use at Brivian. Terraform — a tool for creating declarative code for fast and accurate infrastructure elevation
Kubernetes — a tool for flexible operation of containers (distributed systems)
Cri-o as the basis for a container engine for Kubernetes
GitOps — a methodology for automatic synchronization of code and cluster
Kubectl scale and DaemonSet controller for scaling without restarting pods
ArgoCD — application manager and GitLab version checker
ElasticSearch+Kibana+Logstash+APM+Fleet-server for flexible and detailed monitoring Separate database and Nexus for storing and handling artifacts

Do you have an example of DevOps services in your company?

Sure, captain! We had a project related to the distribution of FMCG (Fast-moving consumer goods). We created an app that provides comprehensive services for the logistics processing, distribution, and promotion of consumer products for leading manufacturers and retailers.

In this case, the DevOps engineer has joined the already finished project on an old basis that looked like different servers not connected to each other in a continuous pipeline. We ensured continuous code delivery, published the product, and made it possible to track changes in the code repository and restart the application with detailed logs.

So what is DevOps project management for?

Primarily, DevOps project management can help you create a collaborative environment between development teams, speed up software delivery, and improve the quality of your product through continuous monitoring. Ok, the main question remains. Is it better to start a project with an outsourced team that has a DevOps engineer or implements DevOps services when the project is already underway? Our answer is quite clear — it is always easier to involve an expert at the initial stages than to immerse a person in a bunch of documentation, written lines of code, and establish well-coordinated work later.

Ok, I guess I need a DevOps specialist…

If you don’t need such an expert for a long period, it is better to contact an outsourced DevOps team. Our DevOps team can run a cloud migration and provide your team with the tools they need to manage product delivery in the cloud. We’ll put together a single cloud suite to help your teams support continuous delivery, testing, and integration. This way, you can improve scalability, automation, performance, and business value without hiring new people.

Well, you’ve read our article and are still not sure if you need DevOps project management? You can start by requesting a DevOps consultation. Fill out the form here and our manager will contact you!
Related Articles