The DevOps team, necessary?
We all know that DevOps is a transformation of both people and culture. Breaking down the so-called “wall of confusion” between Dev and Ops means collaboration and DevOps encourages a culture of collaboration and learning. DevOps wants to build cross-functional teams and, of course, it requires practical specialists. However DevOps is not a specific job title or team.
Talking about the “DevOps Team”, the industry is divided on whether a DevOps team should exist or not. The article “The Industry Just Can’t Decide about DevOps Teams”* showcases different opinions. The most popular opinion is that DevOps teams are an antipattern: they can create additional silos and, more in general, all people in an organization should subscribe to the DevOps culture.
Theresa Naete, in “Break down DevOps team roles so you can actually get to DevOps”** says: “The point is that we are not achieving DevOps if we are still siloing teams.(…) In this world, dev and ops are now on the same team. Let me repeat that: It’s the same team. What some of us don’t understand is that culture is paramount and primary to tools. This culture includes breaking down the DevOps team roles, silos and working barriers so any chosen tools can then be optimized to achieve our desired results.”
But there are also supporters of the idea that DevOps teams are an effective way of transitioning to a new way of working and, despite the fact that the majority of the industry thinks teams are not the right approach to evolving DevOps capabilities across an organization, the DevOps teams are on the rise.
The goal of DevOps within an organization is to improve the delivery of value for customers and the business; different organizations could need different team structures in order to create an effective Dev and Ops collaboration. This means that the ideal organizational structure for implementing DevOps depends on many variables.
As we said before, there is no one-size-fits-all structure for a DevOps team (or we could say there is no such thing as a DevOps team). Roles and responsibilities will vary according to your organisation: the most important thing is to identify key roles and responsibilities and have the right-skilled member to cover them. According to TechBeacon*** the most common DevOps roles, that are pivotal for any organisation that wants to adopt a successful DevOps approach, are:
- DevOps Evangelist: the person who promotes the benefits of DevOps across the organization. He/she is passionate about DevOps and his/her role is to ensure the back-up from development and operational teams. The DevOps Evangelist is your DevOps Leader.
- Release Manager: sometimes known as the Release Engineer or Product Stability Manager; responsible for overall progress, he/she coordinates and manages the product from development all the way to production.
- Automation Architect: also called Automation Engineer/Expert or Integration Specialist; he/she analyzes, designs and implements various strategies for the product’s continuous deployment. This role is critical because it ensures a reliable environment that is fully automated and free from obstacles.
- Software Developer/Tester: of course this role is at the heart of a DevOps organization (the Dev of DevOps!). But in a DevOps environment the developers are responsible not only for turning new requirements into code, but also for unit testing, deployment and ongoing monitoring.
- Experience assurance (XA) professional: if in the “classical” software development Quality Assurance (QA) has a vital role for the successful delivery of the final product, in DevOps it evolves in Experience assurance, because this role also needs to ensure that all new features and functions are released with the end user experience in mind.
- Security Engineer: he/she works side by side with developers, making the under development product secure.
- Utility technology player: traditional IT operations or systems administration professional who focuses on keeping the servers running; he/she operates effectively across development platforms, networks, databases, servers and tools.
DevOps is about sharing and learning so as important as having a skilled team member, is having an ambitious and open minded team member that is constantly looking to change and learn. These are the three key characteristics for a DevOps professional:
- a good team player, who fits well in your organization’s culture;
- a curious person, who wants to experiment over and over and keeps on trying and failing until he/she learns what will work: DevOps encourages responsible failure;
- an adaptive professional, who can embrace change with a positive mindset.
Copyright 2017-2019 PeopleCert International Ltd.
*Helen Beal, The Industry Just Can’t Decide about DevOps Teams
**Theresa Naete, Break down DevOps team roles so you can actually get to DevOps
***7 key DevOps roles you need to succeed
What Team Structure is Right for DevOps to Flourish?