Best Practice

DevOps – A role model for the digital transformation

03.03.2020

How agile methods can promote the digitization of companies.

On the one hand, companies must increase the speed by which they respond to new market and customer requirements; on the other hand, they must also ensure the reliability and stability of their products. Agile methods offer a possible solution in this context. For example, the DevOps practices of a modern IT organization can serve as a role model for the entire company.

A familiar scenario: The risk of oversights increases as the amount of time that is spent on a task decreases. The same goes for all areas of daily office life, sales and billing, product development and project management, to answering e-mails. In the course of the digital transformation, speed becomes an increasingly important competitive factor. At the same time, a level of diligence must be maintained, otherwise one will be left behind.

Particularly IT departments are already quite familiar with this problem. They are supposed to react quickly to changing market conditions and technological opportunities, while also providing stable, reliable and secure services for customers. Frequently, this leads to a situation in which new features are developed in short cycles but then have to run through the IT operation in a strict and protracted acceptance process. The result: The speed gains from agile development methods are lost. But how can these speed gains be utilized?

What is DevOps?

DevOps - a combination of Development and Operations - offers a solution in this regard. This approach uses a holistic examination of culture, automation and continuous, data-driven improvements to permanently accelerate the development process and consolidate the sometimes opposing objectives of Dev And Ops. In this way, IT can quickly respond to customer requirements while also guaranteeing stable operations.

When the associated agile mindsets and methods are implemented, the process frequently focuses on optimizing the product development cycle, with the objective of continuously providing development steps, creating cross-functional teams consisting of all relevant IT experts, and greater collaboration between the departments and IT.

The traditional approach

The advantages of DevOps become particularly evident when they are compared to conventional processes. Currently, the new product increment is handed over to the IT organization at the end of a development step so it can be made available in live operations. In accordance with the IT organization's classic focus on optimum stability and availability of the solutions, this process is accompanied by detailed transfer and acceptance criteria. But these inevitably lead to delays. Furthermore, the successful start of new releases often lacks a feedback loop, so that developers can learn from mistakes and can tailor other products to the requirements of the operation.

In addition, the classic, sequential process often leads to situations in which IT security and compliance requirements are only considered much later, so that data privacy or security checks are only performed just before the product goes live. If these checks uncover larger problems, the product may have to be completely re-developed in the worst case scenario.

The new approach: DevOps

On the other hand, the DevOps process based on popular agile frameworks does not include a separate architecture or planning phase. It integrates all relevant experts and stakeholders in the development project from the beginning. Using the principle of “Shift left”, both functional and non-functional requirements are examined in the early stages of the project. They include in particular IT security and data privacy, as well as contractual requirements and internal standards. The expansion of the term to DevSecOps emphasizes the integration of security aspects into all phases of the development cycle.

DevOps considers the many requirements for a project with a holistic examination of technical measures and the optimization of development processes along the following dimensions: culture, automation, lean management, continuous measurability and cross-departmental collaboration. In this way, companies can conclude their projects faster and also in a sustainable manner.

Technical changes for the right architecture

But this also means that answers must be found for both technical and methodological questions. The technical challenges include the provision of a flexible development infrastructure and the implementation of practices such as Continuous Integration, Continuous Delivery or Continuous Deployment (CI/CD). Besides processes for optimized development, the right deployment strategies also support the goal of being able to respond to changes at all times while also minimizing the risk of deployments.

Deployment strategies

In the case of Blue-Green Deployment, individual servers are temporarily removed from live operations until the installation has been successfully completed. Canary Deployment means that new features are installed and rolled out on a small selection of servers, gradually followed by all other servers in the live system. Alternatively, so-called “Feature Switches” can be used to ensure that functions can be (de-)activated at any time. These strategies warrant that deployments can be completed easily and securely in day-to-day operations, or that they can be removed easily in the case of errors.

In addition, having the right system architecture is also a key criterion for the successful scaling of the project. The higher the number of dependencies between the system components, the more difficult it becomes for a growing number of teams to work on a single product. On the other hand, in a loosely coupled architecture, e.g. in the form of microservices, many small development teams could work efficiently on an overall product without the need for interfaces that are difficult to manage. This architecture also makes it possible to establish different release cycles for each service. This is another important step for meeting customer requirements in a flexible manner.

5 principles on the way to a DevOps mindset

In addition to the technical practices and the system architecture of the products, some methodological principles also support the DevOps mindset. The following five are particularly relevant in this regard:

  1. Make our work visible
  2. Limit work in progress
  3. Reduce batch size
  4. Reduce the number of handovers
  5. Eliminate waste

The DevOps culture is characterized by open and transparent communication along the entire value chain - regardless of organizational structures or company hierarchies. Projects are built around motivated and capable team members. In this context, it is not only technical expertise that is of relevance, but also very routine knowledge, e.g. using the available communication tools.

Lessons for the entire company

The DevOps approach can serve as a role model for the digital transformation of the entire company, because it must meet similar requirements. For example, staff in volatile environments that result from digitization must engage with the respective environment and must e.g. become involved with cross-functional, intercultural or virtual teams. A flexible communication culture forms the basis for close collaboration between customers, departments, development and operations, so that new solutions can be provided quickly.

The hierarchy is flat and decentralized. Decisions are made where the information is located. The management level concentrates on orchestrating and contributing context knowledge, and keeping an eye on the larger picture. In this way, protracted submission and decision-making processes, as they exist in many companies, can be replaced. This is an important prerequisite for fast decision-making.

All participants must be aware that volatile and insecure environments require continuous learning. This can only be done on the basis of a modern error culture that recognizes failure as an important learning process (Fail Fast). The product, the process and collaboration are continuously reviewed and enhanced in short and steady cycles. Hypotheses are developed, and measurable indicators (that describe success and failure) are formulated for all small and large improvement measures.

A steady focus on measurable criteria allows the team or organization to control its own development and determine the progress. The aspects that are measured include metrics on throughput, deployment frequency, lead time, reliability, error rate, average recovery time, as well as operational success indicators such as sales revenues, market share and company value. In this way, processes can be continuously improved and products can be flexibly tailored to market requirements.

DevOps

Conclusion

DevOps describes a mindset that significantly accelerates the implementation of transformation projects. It has already proven itself in the area of software development and IT operations. The general mindsets, methods and practices can also be used as a role model for the company's digital transformation, as the holistic examination of all factors along the value chain paves the way for continuous improvement. CIOs must also look at agile methods such as DevOps to turn the IT organization into an innovation driver and integral success partner of the business. Particularly large transformation projects, which often take several years, benefit from cross-functional units and the DevOps mindset.