Introducing DevOps culture in your company

If, when you think of DevOps, only the related tools come to mind, you are losing sight of an important part of the process. The term DevOps, in fact, does not indicate a technology or a framework. Rather, it is a methodology, which brings together a set of principles that constitute the DevOps culture. The objective? To accelerate time to market, to respond to market changes and business demands with incremental improvements and to create a simpler and more efficient code development process.
And no, DevOps is not dead if we bring up the concept of Platform Engineering: they are two interwoven aspects, the first is an approach, the latter is "a discipline of designing and building toolchains and workflows that enable self-service capabilities for software engineering organizations in the cloud-native era" (quote Humanitec).

The term is a portmanteau of two business areas that have traditionally been separate: Development and Operations. The DevOps culture relies on a methodology designed to accelerate the software release cycle, reduce waste and improve the end-user experience after each release.

The first difficulty one faces in a company when intending to introduce DevOps is internal resistance. In our experience, most of the time this adversity stems from a basic misunderstanding of what it really entails to adopt DevOps practices and culture.

Let's take a look at some tips that favour the adoption of DevOps and allow you to really benefit from this approach.

READ ALSO: What is Platform Engineering and why adopt it in your company?

DevOps culture is collaboration

In an organisation using DevOps, small, multidisciplinary and autonomous teams work collaboratively across development, QA (Quality Assurance) and production teams with shared responsibility for the entire process.

Indeed, the first point is collaboration between teams, and here technology plays a key role. All the tools for keeping teams together and enabling them to communicate, from Slack to Teams to Zulip, are crucial. 

But equally important is the automation of everything that can be automated. Doing so facilitates collaboration and eliminates friction through smoother and faster processes. Automating tasks such as testing, configuration and software distribution allows the team to focus on other more important tasks and also reduces the possibility of human error. 

Bonus: scripts and tests for automation over time also become an excellent documentation of the system being worked on.

DevOps means shared responsibility

With DevOps, a redefinition of team roles and responsibilities is also necessary. 

If the development team, when it is finished, passes the responsibility for the project on to the management and maintenance team, it is easy for them to become disinterested. If, on the other hand, that team also has to take on part of the project's life cycle, then it feels more responsibility and operational difficulty, and is more concerned with identifying ways to simplify its deployment and maintenance.

That is also why being responsible for the end result is important. 

Constant learning of DevOps practices

Another aspect not to be underestimated is the mentality, which must not be destructive but participatory. One must move from a mindset in which if one breaks a part of the code one 'points the finger', looking for the culprit, to one that instead sees the error as a lesson to be learnt and continuously improved from

A climate that invites constant learning is the basis for the development of a culture based on 'fail fast': you try out new solutions very quickly and find out immediately whether they work or not, ready to start off again in another direction once you have learnt something useful. Failure is the visible half of the process, but behind it there must be the learning of lessons that enrich the whole team.

READ ALSO: DevOps: What it is and how can you best introduce it in your Company

Continuous feedback, but in the right way

The continuous improvement processes we have just talked about are also based on constant and cadenced feedback. After each iteration, feedback (respectful, honest and clear) from everyone is the basis for continued growth. 

To this end, a climate of constant exchange must be established, with regular, well-timed meetings in which everyone has the freedom to express themselves. Each individual team member must feel secure in being able to say what they think. 

This is why having an internal communication system (such as the aforementioned Slack, Teams or Zulip) that allows everyone to stay connected, listen and contribute, is crucial. A great added value offered by these platforms lies in the facilitation of remote and distributed team work, an increasingly crucial issue and now a daily reality for many companies.

For distributed teams, Retrium, a tool for organising a valuable retrospective, and Miro, a platform that helps conduct organised meetings thanks to its shared whiteboard function, can also be useful.

This mindset of collaboration and openness also entails a profound change in the hierarchy of the company and the groups, which thus flattens out, overcoming obsolete organisational models that are ill-suited to accommodate innovation. From the bottom to the top the steps become few, and the gates of communication, as well as those of perception, remain always open.

DevOps culture needs time and measurable KPIs

If it is to lead to the desired results, the DevOps culture must be introduced at all levels. The advice we want to leave you with is: give people and teams the right amount of time. As we said at the beginning, it is a methodology that involves major changes, and it takes time for it to be integrated into the team. But after the first steps, DevOps starts to bring benefits. 

In this regard, it is fundamental in a DevOps strategy to set KPIs at an early stage in order to assess the success of the operation after a predetermined time. Below are some of them, but it is very important that the KPIs are designed specifically for the type of solution and that only those of value to the application are considered, leaving aside secondary ones.

Here are the KPIs that are most commonly monitored:

  • The frequency of deployment in production;
  • The deployment time in production;
  • The 'mean time to failure' (the time between errors in production) and the 'mean time to recovery' (the time it takes to recover after an error);
  • Lead time, i.e. the time between the start of processing an item and its deployment;
  • Error rates, which include bugs and production problems.

The true value of DevOps

DevOps is a strategy based on continuous and maximally automated interactions (Continuous Integration, Delivery, Testing and Monitoring) that blur the boundaries between development, QA and production. Teams are enabled to significantly speed up development time and release new functionality more often for users, creating an ever-better user experience. 

It is an established approach that has become a de-facto standard for modern software production in recent years, as well as an increasingly necessary competitive advantage factor for digital business. After all, DevOps helps organisations build trusting relationships with their customers by quickly providing them with secure and constantly updated applications. And after all, it is in the ability to create this trust that the true value of a company today is reflected.