What DevOps Is And Who Needs This Methodology
Tags: devops, webdev
Published: 2020-12-29 10:13:08

Many have heard about the DevOps methodology, but not everyone fully understands what exactly it gives developers. In this article, we will figure out what this abbreviation stands for and what benefit this methodology brings, as well as who needs it and who doesn’t.

## What is DevOps?

DevOps stands for Development and Operations. It is a methodology that is aimed at connecting developers and system administrators. Officially, DevOps is not viewed as a separate profession, but the position of DevOps engineer has taken an established place in the specialization stacks of large IT companies.

This methodology offers the possibility to establish a development cycle that is free from the difficulties that usually arise due to a misunderstanding of the programmer's work by the system administrator or vice versa.

Following the DevOps methodology, programmers can independently participate in setting up server hardware and look for bugs or gaps in the code. System administrators study software in-depth, including its coding. Many will ask: why is this necessary? After all, everyone should, first of all, do their own job well. And that’s right, but team members need to understand what each of them is doing, as the overall success of the project depends on this.

An example of the usefulness of DevOps: programmers begin to understand the problems that a system administrator faces when setting up servers, so they try to eliminate these problems as early as at the stage of coding. Working this way allows for an earlier software release and reduces the overall number of bugs that can be revealed after the code is written.

## Who needs DevOps and who doesn't really need it?

IT experts believe that DevOps is necessary for the development of any large project that is becoming popular and attracting a large number of users.

Small startups building an MVP version do not need to implement DevOps at the initial stage. In this case, all codes are tested manually - Automation testing and Machine Learning are not necessary.

## How to implement DevOps?

The basic steps for implementing DevOps for a large company are as follows:
1. Search for problems in business processes. A company's analysts draw up a list of obstacles that slow down the release of software and determine whether it is possible to automate the detection of errors in the code. Along with that, an assessment of the structure of the organization and a search for possible obstacles for the software release are carried out.
2. Job empowerment. For example, the developers of Facebook write the code and implement it on their own. Test scripts are written by them as well.
3. Correction of minor problems. Experts recommend starting with the automation of software deployment or testing. In this case, distributed control tools are introduced, such as Git, Mercurial, or CVS. And Bamboo or TeamCity can help to automate the assembly of the final product.
4. Assessment of improvements. Experts suggest creating a checklist of implemented improvements and then discussing them with company managers and other people involved in the project.

Although the methodology has significant advantages, some people criticize DevOps.

##Criticism of the methodology

The criticism of DevOps is based on the following opinions:
1. DevOps doesn't work under bad management. If the manager is not able to get the benefits of this interaction over to programmers and sysadmins, there will be no positive effect.
2. As programmers have to delve into the work of sysadmins and vice versa, a company faces a shortage of highly-specialized professionals.

Despite its drawbacks, DevOps is becoming increasingly popular. The demand for DevOps developers - specialists in implementing these techniques - is growing as well. Given the "youth" of this specialization and the scarcity of DevOps experts on the market, some companies, even those having a staffed IT department, turn to outsourcing services for competent specialists. 

In the experience of [Andersen](https://andersenlab.com/?utm_source=article&utm_medium=https%3A%2F%2Fdev.to%2F), one of the top DevOps companies, there were cases when large companies independently developing IT solutions for themselves came to us for DevOps consulting. After the successful implementation of DevOps, many of these companies reached out to Andersen again for other specialists.