DevOps team structure: types, roles & responsibilities
Different teams require different structures, depending on the broader context of the company.
When a software team is on the path to practicing DevOps, it’s important to understand that different teams require different structures, depending on the greater context of the company and its appetite for change.
The Rise of DevOps Teams
Do you have a DevOps team at your company? There's a good chance you do. In our DevOps Trends survey, we found that more than two-thirds of surveyed organizations have a team or individual that carries the title “DevOps” in some capacity.
As DevOps becomes more widespread, we often hear software teams are now DevOps teams. However, simply adding new tools or designating a team as DevOps is not enough to fully realize the benefits of DevOps.
Without a clear understanding of DevOps and how to properly implement it, a DevOps transformation is usually constrained to reorganizations or the latest tools. Properly embracing DevOps entails a cultural change where teams have new structures, new management principles, and adopt certain technology tools.
Types of DevOps team structures
Determining which DevOps team structure to implement depends on numerous things, including the number of products an organization works on, technical leadership, and if development and operations teams have the capability to align processes.
DevOps tools for the whole team
Learn about the benefits of DevOps
It's important to understand that not every team shares the same goals, or will use the same practices and tools. Even the way a team is composed shouldn’t be standardized. Different teams require different structures, depending on the greater context of the company and its appetite for change. A DevOps team at two companies may mean radically different things.
In order to reap the benefits of DevOps -- faster time to market, improved deployment frequency, better team culture, and increased collaboration across teams and departments -- it’s important to understand the role each team plays. Still, in many organizations, there are a variety of team titles, with teams taking on multiple roles (e.g., an infrastructure team acting as both chooser and maintainer of tools). This sprawl makes it hard for leadership to visualize the full organizational landscape and answer important questions: Do we have the right teams in place? Are we lacking capabilities in some areas that are not being addressed by any team? Does it look like teams have the necessary balance between autonomy and support by other teams?
The excellent work from the people at Team Topologies provides a starting point for how Atlassian views the different DevOps team approaches. Keep in mind, the team structures below take different forms depending on the size and maturity of a company. In reality, a combination of more than one structure, or one structure transforming into another, is often the best approach.
Development and operations collaboration
Many people see DevOps as simply development and operations working cohesively and collaborating together. This is the foundation of DevOps and has clear benefits, including the ability for software teams to build, test, and ship faster and more reliably,
The key to success for this team structure is that developers understand the pressure on operational teams to maintain uptime and minimize resolutions. Just as important is for operations teams to understand the desire of development teams to reduce deployment time and time to market.
Development and operations together
This team structure assumes that development and operations sit together and operate on a singular team - acting as a united front with shared goals. Occasionally called “NoOps”, this is commonly seen in technology companies with a single, primary digital product, like Facebook or Netflix. This can even take the form of “you build it, you run it”, with the same individuals developing and operating applications.
This team structure, popularized by Google, is where a development team hands off a product to the Site Reliability Engineering (SRE) team, who actually runs the software. In this model, development teams provide logs and other artifacts to the SRE team to prove their software meets a sufficient standard for support from the SRE team. Development and SRE teams collaborate on operational criteria and SRE teams are empowered to ask developers to improve their code before production.
Ops as a platform
In this team structure, a team within the development team acts as a source of expertise for all things operations and does most of the interfacing with the Infrastructure as a Service (IaaS) team. This team structure is dependent on applications that run in a public cloud, since the IaaS team creates scalable, virtual services that the development team uses.
DevOps as an external party
DevOps as an external party is where companies use a DevOps consultant or DevOps team for a limited period of time to assist development and operations teams move towards the first two team structures mentioned (development and operations collaboration and development and operations together).
While there are multiple ways to do DevOps, there are also plenty of ways to not do it. Teams and DevOps leaders should be wary of anti-patterns, which are marked by silos, lack of communication, and a misprioritization of tools over communication.
Roles and responsibilities on DevOps teams
Regardless of your team structure, all high-functioning teams practicing DevOps regularly share knowledge and experience between development and operations, whether during regular meetings, or people working across different teams, and/or having team members work across both functions. A high-functioning team is marked by the benefits of DevOps: faster time to market, improved lead time, higher deployment frequency, higher quality deliverables, better team culture, and increased collaboration across teams and departments.
DevOps teams are usually made up of people with skills in both development and operations. Some team members can be stronger at writing code while others may be more skilled at operating and managing infrastructure. However, in large companies, every aspect of DevOps - ranging from CI/CD, to IaaS, to automation - may be a role. This can include a release manager who coordinates and manages applications from development through production, to automation architects who maintain and automate a team’s CI/CD pipeline.
So what does it take to join a DevOps team? The job requirements to join a DevOps team evolve due to new technologies and techniques, but the qualities of a good DevOps team are always the same. Solid technical skills, good communication, a team player mentality, and adaptability are some of the core traits of a strong DevOps practitioner. A combination of these is probably more important than an encyclopedic knowledge of Kubernetes or Git. But it doesn't hurt to have both!
Another ingredient for success is a leader willing to evangelize DevOps to a team, collaborative teams, and the organization at large. It doesn’t have to be someone with “manager” in their title, but anyone willing to convince skeptical team members to start bridging the gap between their team and an outside team, whether it be developers, operations, or a platform team.
Software to support your team
While the actual work a team performs daily will dictate the DevOps toolchain, you will need some type of software to tie together and coordinate the work between your team and the rest of the organization. Jira is a powerful tool that plans, tracks, and manages software development projects, keeping your immediate teammates and the extended organization in the loop on the status of your work.
Applications like Zoom, Slack, and Microsoft Teams are also necessary for teams to communicate quickly and efficiently, especially in a remote-first world. In the past, a developer could walk over to the operations team to ask about the status of an incident. Now virtual communication apps provide that same instantaneous communication.
Atlassian’s Open DevOps provides everything teams need to develop and operate software. Teams can build the DevOps toolchain they want, thanks to integrations with leading vendors and marketplace apps. Because we believe teams should work the way they want, rather than the way vendors want. Try it now.
Share this article
Bookmark these resources to learn about types of DevOps teams, or for ongoing updates about DevOps at Atlassian.