Fundamentals of DevOps

People

Teams vs Roles crossing teams

This article delves into the DevOps concept of cross-functional teams, often referred to as "DevOps people." The primary idea is that a delivery team must include every skill required to transform an idea into a minimally viable, customer-ready product.

In a cross-functional team, essential competencies such as development, operations, testing, and product management are integrated into a single group. This structure ensures that the team can manage every phase—from concept to deployment—independently.

Key Principle

Every team must have or have access to all the skills needed to take a product from the initial idea to production.

The specific skills within the team may vary based on the services your organization provides. For example, if you offer Infrastructure as a Service (IaaS) using public cloud technologies or specialize in Security as a Service, the team composition might differ. However, the core principle remains: all required skills should be available within the team or accessible through external, specialized platforms.

A person is gesturing while sitting between plants, with the words "CODERS" and "OPERATIONS" on the left. A lamp and unicorn figure are on a table.

In practice, cross-functional teams usually consist of developers, operations personnel, testers, and product managers working collaboratively on the same software project. As the project scales, roles such as software architects and engineers are often introduced to support larger initiatives.

The goal is to empower software teams through automated platforms and efficient services that minimize bureaucracy and accelerate delivery. This can be achieved either by consolidating all necessary skills internally or by leveraging external platforms managed by proficient personnel.

Since the publication of Google's SRE (Site Reliability Engineering) Handbook, embedding operational talent directly within software teams has gained significant traction. This integration ensures that every necessary skill is either inherently present in the team or readily accessible, fostering an environment that promotes rapid and effective product delivery.

For additional insights into building high-performing teams, consider exploring further resources within the DevOps and site reliability engineering domains.

Watch Video

Watch video content

Previous
A Developers Scenario