The focus on products over projects is one hallmark of digital transformation. And as companies seek to be quicker in responding to evolving customer needs as well as fend off disruptors, the need to better manage the end-to-end product lifecycle has become a crucial differentiator.
In recent times, DevOps has emerged as the go-to approach for organizing product teams in order to gain visibility over the end-to-end value chain, resulting in enhanced delivery speed and improved quality, among other benefits. The 14th annual state of agile report reported that:
If DevOps is to deliver value to organizations, how should they structure their teams to gain the most from this approach? Is there a standard formula that all should adhere to, or is it adaptable to the specific and unique needs of the organization?
This article attempts to address this topic.
(This article is part of our DevOps Guide. Use the right-hand menu to navigate.)
A DevOps team mindset differs from traditional IT or scrum teams as it is an engineering mindset geared towards optimizing both product delivery and product value to the customers throughout a product’s lifecycle.
For this mindset to deliver value, the team has to adopt the following qualities as defined by DASA:
(Explore different types of IT teams.)
The structure that is now most appreciated for DevOps organizations is a two-tier mode comprising:
Product-focused DevOps teams are multidisciplinary, having every capability required for the entire product lifecycle. This reduces expensive handovers and delays, with the team focused on:
Modern DevOps teams employ value stream mapping to visualize their activities and gain necessary insights in order to optimize the flow of product increments and value creation.
Taking an example from Spotify, the business teams are called squads, who handle specific services (e.g., search, playlist, player etc.). These squads are small, multidisciplinary and autonomous. They sit together and act as a mini-startup, incorporating every component required to support a service throughout its lifecycle.
The squads are loosely coupled yet tightly aligned. Where multiple squads collaborate on a feature, they form tribes. And for specialists, such as DBAs or JavaScript developers, there are:
Platform teams at Spotify are called Operations teams. But their role is dissimilar to the traditional IT operations team involved in deployment and support. Their core mandate is to:
The optimal size of a DevOps team is subject to debate. Of course, a small team is preferable for a few reasons:
However, the risk with small teams means that getting all the required expertise might be a challenge, and loss of a team member might significantly impair the team’s throughput. A general agreement is that team sizes should range between 5 and 12.
As the DevOps team is expected to have end-to-end responsibility of the service, some of the expected roles within the team include:
Since every organization is different, the roles might be handled by individuals or be mixed, depending on the team’s capabilities. But as the team continues to work together, then cross-pollination will take place as knowledge and responsibilities are shared. The 2021 DevOps Institute Upskilling report ranked the most important skills that a DevOps team member requires include:
Dig deeper into DevOps job titles, roles, and responsibilities, the next article in our DevOps Guide.