DevOps a question of culture?
DevOps is the widely used buzzword for a far-reaching transformation of the IT organization in companies. However, depending on the context, DevOps is used for various partial aspects of this transformation. These sub-aspects can be organizational changes, the introduction of new processes or even the introduction of individual tools. In a short series of articles on DevOps, we will shed light on the various aspects and share experiences. In this first article, we will focus on the core aspect of DevOps: a new culture in IT.
It was not only the Corona pandemic that showed that the ability to react to changing conditions within the shortest possible time is increasingly a critical success factor for entrepreneurial success. In an increasingly digitized and data-driven economy and administration, this not infrequently means changing or introducing new software solutions within the shortest possible time.
DevOps brings many benefits to the IT department as well as entire organization. Examples of the need for rapid and agile provision of new or changing functionalities in software solutions are in particular:
- Implementation of new, digital business models, which, for example, allow additional customization of products by customers via digital sales channels
- Further development and scaling of online sales platforms (e.g. web stores)
- Rapid response to customer feedback and implementation of changed requirements
- Deploying customer-centric and streamlined applications such as mobile apps for the end customers of companies or for the residents of municipalities and cantons
- Integration and adoption of collaboration solutions into existing business processes and workflows within an organization
- Leveraging new capabilities to analyze and aggregate data through machine learning (ML) to artificial intelligence (AI) and implementing data-driven services.
The implementation of these different needs poses new challenges to both the processes and organization of software development as well as the framework of IT operations within an organization.
In the field of modern software development, agile methodologies have become the de facto standard and even increasingly modern business management in recent years for these reasons. A breeding ground for this development in IT was provided by the emergence and widespread adaptation of container technologies and the ever-increasing range of innovative technologies offered by cloud providers and open source communities.
Agile methodologies not only affect the effective development processes of the software, but also its operation. Due to the rapid and iterative further development of the solutions, it is increasingly less possible to carry out a classic "operational handover" to IT operations and to operate the productive solutions unchanged and statically for a longer period of time. As a result, agile methodologies not only influence effective software development processes, but also permeate the entire IT organization.
The foundation for this is provided by a fundamentally changed culture, the component which is ultimately the most difficult to transform in companies. Only with a changed culture can the transformation of methods, from the operating model to the frequency of individual software releases, and the introduction of new tools and technologies have their full effect.
It is not without reason that Peter Drucker formulated the oft-quoted statement "culture eats strategy for breakfast". Changing traditional corporate cultures, especially with regard to leadership and error cultures, is a lengthy process and requires intensive commitment, especially at the leadership level.
Nevertheless, the efforts are worthwhile not only because of the benefits that can be achieved through DevOps and cloud-native applications, but ultimately also in the competition for qualified IT specialists. After all, corporate culture plays a key role in the job choice for young talent, often even ahead of financial considerations.
In our view, the central aspects of a DevOps culture are the IT organization itself, leadership, employee empowerment, and a conscious culture of error.
Adapting IT organizationHere, a shift in responsibility from operations teams to development teams, referred to as "shift-left", takes place in the orientation according to DevOps principles. However, this eponymous merging of development and operations of applications into holistically responsible DevOps teams does not mean that operations teams are no longer needed! On the contrary, they are increasingly being replaced by so-called site reliability engineering (SRE) teams with a broad range of tasks and a high degree of specialization. The term Site Reliability Engineering, or SRE for short, coined by Google, describes the approach of also automating core tasks of the IT infrastructure approach using methodologies from software development and making them more efficient. Infrastructure-as-Code (IaC), for example, is a core element here. Particularly when cloud services are used, such approaches to the operation or provision of the IT infrastructure are optimally supported.
Another core aspect of a DevOps-oriented culture is the leadership of the organization. The organizational form must be actively exemplified and responsibility for the development and operation of the software must be actively placed in the hands of the DevOps teams. Classic approaches to line management, for example in the prioritization of features, theoretically no longer have any effect when Scrum, SAFe or other agile approaches are used. Operational responsibility is thus shifting from the classic IT operations teams, which have a pure focus on the productive operation of fully developed software solutions, to the DevOps teams, which are also responsible for the continuous further development of solutions in addition to productive operation. This shift in responsibility must not only be accepted across all levels of responsibility in an IT organization, but must also be actively promoted and exemplified. This "Lean Agile Leadership" requires a fundamental rethinking at all levels of an organization so that the corresponding cultural change becomes possible in the first place.
Closely related to the leadership aspect is the organizational and technical empowerment of the employees. In organizational terms, this means that the DevOps teams actually have the opportunity to make decisions independently or in direct consultation with their respective business representatives. This also results in a direct change in the involvement of the business representatives or specialist representatives, who are much more continuously integrated into the software development process than in classic software development.
However, with the broader range of tasks of the DevOps and SRE teams, the focus is also shifting to content-related empowerment in the sense of employee training. Here, the speed of innovation in software development represents a major challenge. Only continuous training of employees can ensure that technological innovations can also be adapted.
It is therefore clear that the cultural aspect of DevOps should be given a high priority in an organization that wants to use the DevOps way of working sustainably and successfully.
Since experience shows that in many organizations DevOps starts as bottom-up initiatives within individual teams or areas, situations can arise in which the DevOps culture is only established locally within these areas or teams. This circumstance should be exploited by collecting the positive experiences and also lessons learned of these teams or areas in a structured manner and ideally already using them as a template for other areas of the organization.
A critical success factor here is that acceptance and promotion of the cultural aspects of DevOps are also exemplified and credibly communicated top-down instead of fighting slightly changed procedures. Often, the autonomous teams each develop a slightly different approach to the new challenges presented to them. Here it is very helpful to review the effectiveness of DevOps principles some time after they have been established and to start adjusting details after the major changeover.
Finally, it is clear that DevOps should not be equated with chaos in software development. On the contrary, successful agile collaboration often requires significantly more processes and methodological underpinnings than a classic hierarchical structure. Ultimately, all operational processes, right through to classic ITSM processes such as incident and problem management, must be rethought and lived - including any audit security. In addition, the transformation of the culture with regard to DevOps also has a strong impact on the methodologies of how software is developed and operated. We want to go into these methodological aspects of DevOps in our next article.
If you enjoyed the article, we as Eraneos Group would be very happy to discuss your initiatives, success stories but also challenges related to the establishment and use of DevOps in your organization in more depth. We would be happy to support you with our experience and expertise in the field of DevOps and agile transformation.