Jornada de transformação digital

DevOps and Digital Transformation

During my DevOps consulting work, I heard an interesting phrase, that “to work with DevOps you need to have a therapist side”. That's because DevOps is often associated with a digital transformation process in the company, since it involves the modernization of practices, tools and technologies. Some of the DevOps disciplines can be quite straightforward when the team is already culturally prepared for this - for example, using public clouds to host their solutions, when the organization trusts the credibility and security of large cloud platforms (Azure, AWS, etc.) . However, companies with stronger organizational and cultural restrictions can be an extremely challenging environment for this transformation journey, and without working the “human” side of the transformation in parallel to the technical side, the process can be longer and more frustrating than anticipated.

In this article we will explore the main cultural challenges in implementing DevOps and the keys to overcoming them.

The relationship between DevOps and Digital Transformation

Digital transformation is a process of modernization in an organization with the objective of increasing efficiency in its working method and bringing better results in its area of operation. It can affect processes, tools, technologies, methodologies, team structure and even the organization's culture.

When it comes to companies that have software development, the concepts of DevOps can be applied to achieve this goal within the disciplines that DevOps contemplates.

In the article What is DevOps I mention that in DevOps, it is customary to highlight engineering practices that can increase efficiency in deliveries, usually in a technical scope, such as the implementation of Continuous Integration and Delivery (CI / CD).

However, implementing new software delivery procedures in companies whose products have already “been born in the cloud”, with a more horizontal and less hierarchical team structure, with modern development practices and technologies is relatively simple. Now, when the organization has characteristics such as highly bureaucratic processes, development in castata or variants, areas of development and operations in different departments, manual operating procedures, use of On Premises infrastructure (local), among others, this type of transformation can be more challenging than it looks.

That's because any new practice, tool or process depends on people. The more outdated the processes and technologies, the greater the impact for the people involved. While some may view this renewal positively, the majority tend to show resistance. To make matters worse, the digital transformation journey is not a linear trajectory - with every paradigm break, there is a loss of performance until the team masters the new processes and tools, so there is a performance gain compared to the previous state . Without people being engaged, each performance drop will end up reinforcing prejudices and discouraging collaboration, postponing more and more the positive results that will only be observed with the team's perseverance.

Jornada de transformação digital
Journey of digital transformation - Extracted from the article “5 Common Mistakes in Agile Transformations”, quoted at the end of the text

Implementation challenges

The main challenges in implementing DevOps are related to the profile of people, the organizational structure and resistance to change.

People profiles

Considering that one of the pillars of DevOps is the approximation between Development and Operations, the barriers begin with the people themselves.

Perfis de pessoas
Innovative profile vs Conservative profile

The developer usually has an innovative, curious profile, likes to test new technologies. The operator, in turn, has a more conservative profile, after all, the software produced must be stable, secure, and developed with technologies that the team is able to support.

These profiles are complementary, and an organization is unbalanced when it chooses innovation over support and security, or prioritizes support in order to delay or discourage innovation.

Organizational structure

In addition to the profile of professionals, the organizational structure often encourages barriers between areas. There are cases in which the areas of development and operations are part of completely isolated teams, with separate boards and even a cost center.

Estrutura organizacional
Hierarchical organizational structure

It is common for the operations team to serve several areas of the company, not a single product. This implies divergences in priorities - the needs brought by developers are not always priorities considering the company as a whole. Each demand goes through a queue to be served, which ends up resulting in service bottlenecks. This creates even cultural problems - in the view of the development team, their needs are not being met, in the view of the infrastructure team, developers can only see their own project.

Bureaucracy ends up being instituted in the organization to increase the security of operations and protect the people involved, but at the same time it slows down the software delivery process as well. Bureaucracy is seen as a “villain” in many companies, but it is no longer needed when there is sufficient credibility in the processes, preferably automated. Otherwise, people would be constantly blamed for delivery failures, and this mainly affects infrastructure professionals.

Resistance to change

One of the main obstacles in the digital transformation is resistance to changes for the most diverse reasons: previous frustrations when proposing improvements (“I already tried to change this and it didn't work”), demotivation in the workplace (“here nobody values proactivity”) , mastery of current processes and tools, and a lack of confidence that successors will bring some effective gain (“but I can do all this and do better with the current tool”), in addition to the fear that automations and improvements will make your work loses its value ("will I lose my job?").

It is important to make it clear that every company looking to implement DevOps sees that its current processes need to be reformed. That is, change is inevitable. This does not mean that people will lose their jobs, but that they will need to adapt and collaborate with the changes. Automating processes is not a one-time task - scripts need to be continually reviewed and improved by people who understand how the software and platforms used work. Software support activities will continue to exist, but they will be more strategic and efficient rather than repetitive and manual.

Overcoming challenges

There is no specific formula for overcoming the challenges mentioned. However, practicality, communication, collaboration and empathy are key words for the successful implementation of the DevOps concepts.

Pragmatism because regardless of good intentions and attachment to best practices, the goal remains to deliver better and faster software, and the shortest path to it is always the best option. Sometimes it is necessary to “choose the battles” and focus on disciplines that can be implemented more quickly, so that the team feels more confident in the transformation, and gradually adapts to deeper cultural changes. Without a practical sense and concrete results, DevOps concepts can be seen as utopia, lose credibility and increase people's resistance.

Collaboration because the definition of processes and their adherence depends on the participation of the people involved. First, because disregarding people's knowledge and experience when proposing improvements is failing to take advantage of relevant information about what has been done in the past and its results, what is being done at the moment and how the platforms and systems used in the company work. Second, because if people do not agree with the new processes, they will continue to do what they did previously anyway.

Communication effective and respectful because decisions need to be collaborative and transparent. Each decision needs to involve key people from related disciplines - for example, there is no point in the technical team implementing Agile practices without the Product Owner agreeing to their responsibilities, or the development team making platform decisions without an infrastructure manager involved. What is decided without the participation of key people tends to be blocked or delayed, generating conflicts and wear on the team as a whole.
The new processes and guidelines must be made available to the team in a clear, didactic and centralized way, and the people directly impacted by them must be notified - it is unfair to charge people for not having followed processes in which they were unaware. Whenever possible, the channel should be kept open so that other people with an interest can collaborate as well, and that their opinions, positive or not, are heard and taken into consideration.

Empathy because people react in particular ways when dealing with changes, and understanding their reasons is fundamental for adherence in the company. Top-down decisions or unilateral persuasion techniques do not work well, and even if they did, they could result in people carefully following processes that were not adequate from the start. Reinforcing the concepts of practicality, collaboration and communication, the most appropriate processes can only be identified when people are heard and treated with empathy.

Recommended content

To show how these concepts can be put into practice, there are two exceptional books that can help develop empathy, understand human behavior in the face of change and assist in solving challenges. Both books show how certain behaviors normally seen as "negative" can be enriching if they are understood and targeted.

Dealing with agile transformations

Jornada de transformação digital

Andy Palmer and Antony Marcano show in the article 5 Common Mistakes in Agile Transformations five common mistakes that teams make when dealing with digital transformation, among them, believing that the change will be made at once and that the team will have immediate results. There, actions and changes in mindset to have a more realistic, productive and less frustrating experience in the transformation process.

Communication and engagement strategies

Fearless Change
Fearless Change Book

Fearless Change: Patterns for Introducing New Ideas , from Ph.D's Mary Lynn Manns and Linda Rising, provides strategies for dealing with resistance, testing ideas and proving their credibility and results, and then expanding them into the organization.

For example, starting a project requires the involvement of an innovative, engaged and optimistic majority, so that it can be idealized without people becoming discouraged or giving up too soon. As a result, more conservative people can help map risks and refine them to make them more doable. Finally, when implemented, more resistant and critical people will question its functioning and put their results to the test. If these flaws and risks are corrected as they appear, which does not take long to happen because (a) every project or idea has flaws and (b) critics will make a point of pointing them out as soon as they arise, the project can evolve until bring the expected results.

A constantly dissatisfied and critical person can be difficult to deal with, but this profile is an important ally in the refinement of solutions - if only optimistic people were involved, the solution would be fragile and ineffective in the first challenges. Furthermore, it is naive to believe that the project can be shielded from people who doubt its value. Recognizing this and understanding how to target profiles so that they collaborate in the growth of the solution contributes to its success.

Developing empathy

Comunicação não-violenta
Non-violent communication book

Nonviolent communication: techniques to improve personal and professional relationshipsby Marshall B. Rosenberg shows the value of empathy in conflict resolution. After reading it, it will be easier to identify the needs behind the words and behaviors, and provide solutions that meet those needs.

Imagine that an employee stopped following a certain process without informing the leadership. This behavior can be scolded, or the responsible leader can seek to understand his motives and take action on it. It may be that the person does not feel comfortable criticizing because he has been rejected at other times, or that he does not believe in the functioning of the process itself. In the first case, managers could be instructed to receive feedbacks less reactively, and in the second case, some metrics and indicators could be established so that the team has more visibility into the results of the process.

People's reaction to the processes and tools established during the digital transformation process is the biggest indicator of whether there will be adherence or not. A process without adherence or an underutilized tool is a cost for the company and a frustration for the team. Above all, it is important to recognize that the transformation is made by people, and competent professionals have their particularities, which can be introverted or extroverted, whether they verbally communicate their opinions or not. Observing and taking these behaviors into account allows you to periodically refine the models so that they are more effective, in addition to building a better work environment and encouraging team collaboration.

DevOps and Digital Transformation

In the video below I talk more about the topic presented here.

Final considerations

Reinforcing some arguments from the previous article, any company that produces software, regardless of the organizational structure, can implement some of the DevOps disciplines within the limits imposed by the organization and take advantage of it.

However, the more technologically outdated the company is, the greater the importance of working on the human side of transformation in parallel to the technical, given that, without it, it will be a lengthy process, with circumvented procedures and underutilized tools, without the rapid and frequent deliveries bringing the real value for the organization: the rapid return of the solutions provided and the growth of the organization.

To overcome cultural barriers it is necessary to recognize the nuances of human behavior in the face of changes with empathy, to communicate clearly and respectfully, to value and encourage collaboration, without giving up practicality and focus on results.

Published by

Grazi Bonizi

I lead the .Net Architecture track at The Developers Conference, share code on GitHub, write on Lambda3 Medium and Blog, and participate in Meetups and PodCasts typically on DevOps, Azure, .Net, Docker / Kubernetes, and DDD

Leave a Reply