DevOps Culture Prologue

The niche of the new decentralized Internet is quite extensive, which means that it is gradually being filled with new crypto startups – good and not so good. What are the characteristics of a good project? Practice has shown that the most important indicator is the presence of a good team. A good team is able to solve any problems and not only successfully complete the project, but also make it even better. However, if a company does not have the capacity to implement or improve its own web 3 projects, then Blockchain infrastructure consulting services will do everything possible so that the projects had the right to exist and improve.

The basis for the success of any project

Speaking of how a good team is the key to success, let’s list the signs of a good team

1) Active communication within the team.

2) Each team member has the necessary qualifications and successfully applies them in his area of work.

3) Ability to manage changes and risks. This means evaluating each feature against some notional scorecard in order to determine what could go wrong or where it could fail.

4) Balanced “time to market”, taking into account the analysis of changes and risks.

5) Continuity of knowledge. This implies the presence of a certain system of accumulation of knowledge, experience, and practice.

The main reasons that prevent the project from becoming good:

1) Long time for the project to enter the market.

2) “Dev” plus “Ops” does not equal “DevOps”. That is, developers and operators do not work together.

3) Problems with documentation. Many people know the situation when there is a general description of the product and what the corresponding specialists do. However, situations often arise that cannot be predicted. Problems are solved, but often these solutions are not recorded anywhere. In addition, sometimes there are paradoxical situations with the work instructions. Specialists who know the procedure do not develop instructions, since they do not use them. Specialists who need these instructions cannot develop them, since they do not yet know the procedure. As a result, documents are often not created at all.

4) “Manual” work, which significantly reduces the speed of development, and “manual” problem solving.

5) “Heavy” artifacts or inflexible product.

About DevOps

There are different approaches to address these causes. The first is to invite an engineer to work for DevOps. For example, a typical vacancy for a DevOps engineer opens with the following requirements: know Linux K8S (deeply), Docker, bash, Cloud. And there are his responsibilities: CI / CD, IaS (Chef / Ansible), find / fix application problems.  Everithing seems to be logical and without any challenge. However, practice shows that by finding just a DevOps engineer, a company does not solve its problems, because DevOps is not about a person, DevOps is about culture and methodology.

DevOps culture involves the integration of the following areas of activity – Development (Dev), Quality Assurance (QA) and IT Operations (Ops) – in the name of achieving a common goal. The overall goal is usually a successful product in the market and a business satisfaction.

A team that works on DevOps must have certain qualities. People must be able to work in a team, actively cooperate, completely abandon the approach of finding the blame for emerging problems and perceive problem solving as a valuable learning experience. And, of course, they should strive to move away from “manual” work towards maximum automation. An important marker of automation is the approach from the standpoint of lean, since it is automation that contributes to significant savings not only in material values, but also in the time it takes to bring the product to market. And for both lean and automation to work effectively, the development process needs measurement.

The measurement process involves more than just classical monitoring indicators. Measurements can cover absolutely any indicators, for example, significant business indicators. The system for collecting and analyzing data based on the results of measurements will ultimately make it possible to gain knowledge about the real picture of the development life cycle and disseminate this knowledge to form rules and work procedures, write instructions, document problems that have arisen and how to solve them, etc.

Epilogue

So, in order to implement DevOps, you need to start operating according to the DevOps culture. In other words, the company must reinforce the following slogan in its product development activities: “Think like DevOps, do like DevOps.” However, it must be understood that DevOps cannot be implemented “at the click of a finger”. These activities must first be planned, then implemented, the results of the implementation measured and evaluated , then actions for improvement should be taken. And as an improvement, the main members of the DevOps team (Dev, Ops, QA) can be added business analysts who collect requirements, business support who monitors whether users are satisfied and how quickly the application works, as well as technical support who monitors the server performance.

So, there is no universal way to implement DevOps. Each company should have its own path that it follows, its own methodology that suits its requirements and specific situation. The proposed standard libraries exist only so that you can take some examples from there for study.