Defining the DevOps Approach

Objective

After completing this lesson, you will be able to describe the motivation for DevOps and how it can be defined

Motivation and Definition of the DevOps Approach

Definition of DevOps

According to Ken Mugrage, the Chief Technology Officer at Thoughtworks, an American Technology Consultancy, DevOps is: "A culture where people, regardless of title or background, work together to imagine, develop, deploy, and operate a system". Ken Mugrage

Reason for Coming up with DevOps

Many organizations develop and run products separately with separate teams, which is known as running products in information "silos". Both have conflicting views on the production environment and on how to measure success:

conflicting goals in the organization: the Dev team I own the application, the Ops teams: I own the application runtime!

This is an example of standard conflicts between Development and Operations silos inside an organization, each of which acts on conflicting goals and different understandings of success:

  • The development team strives to rapidly propagate its changes to production and end users, as it might be measured by the number of new features and services and as it seeks end-user feedback.
  • At the same time, the operations team might do their best to keep the scenario as stable as possible - as outages would endanger their team's goals.
  • Here, development and operations are just the two key representatives of all the roles contributing to product's success by contributing to its value stream. In addition, you often find experts from other areas directly involved, such as quality assurance managers (QA), user assistants (UA), user experience experts (UX), and product managers (PM).

The biggest challenges do not lie within the silos, but between them. Different silos might metaphorically speak different languages (that is, use different terms and bring a different context) and have different goals, meaning that they lack a shared definition of "done". That might lead to misunderstandings between each silo.

DevOps is an organizational approach that rejects the creation of silos by forming cross-functional, autonomous teams. This means teams are composed of members who directly impact the creation and implementation of a specific product. 

Note

Besides those product teams, you might still have functional silos for roles not directly related to the value stream of your products (such as for HR or Legal).

This would end up in a transformation similar to the example in the following video animation:

This cross-functional team has the following characteristics:

  • Efficient and direct communication using a mutual language.
  • Common goals and principles.
  • A common definition of project completion.

These characteristics ensure that any changes to a project are standardized, commonly understood by the team, and the product is functional at the market scale.

DevOps is a Change in Culture

Going back to the Ken Mugrage definition, explore below two important features:

Culture

DevOps is a cultural approach where organizations establish an autonomous and trustful work culture with teams with shared goals that can benefit from a positive failure culture. So, DevOps is not a product you can buy and implement; it is a cultural movement and approach. To adopt it, you start an incremental journey and must improve continuously. Although being first and foremost a cultural approach, tools will nevertheless ease and power your transition and help to drive your continuous journey to implement, live, and evolve critical practices of DevOps.

Work Together

This feature stresses again the importance of cross-functional teams, where experts with different backgrounds work towards a common goal with a shared understanding of the holistic product and its environment. Cross-functional teams involve all contributors who directly work along a product's value stream.

Note

The DevOps term needs to be more accurate, as it's too exclusive, focusing only on development and operations. It fails to refer to all the experts working on your product's value stream. SAP recommends to stick to the term nevertheless and to consider variants of the term only to stress certain aspects when investigating and discussing parts of the overall approach, For example, DevSecOps, to stress a focus on security aspects along the overall DevOps approach.

Summary

You can now describe DevOps, its definition and its purpose in creating cross-functional teams that work towards better products.

Log in to track your progress & complete quizzes