Defining the DevOps Approach

Objectives

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:

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

  • The development team strives to get their changes propagated towards production and their end users quickly, as the number of new features and services is what they might be measured by and as they strive to get 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 the success of a product 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 team members who have a direct impact on 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 any changes to a project are standardized, commonly understood by the team, and ensure the product is functional at 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 can be misleading, as it's too exclusive with its focus on development and operations only. It fails to refer to all the experts working along the value stream of your product. SAP recommends considering variants of the term only to stress certain aspects when investigating and discussing parts of the overall approach, e.g., 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