Steps for Building a Successful DevOps Team Structure
Organizations must build the DevOps team structure necessary to evangelize and implement key DevOps practices.
Adopting practices such as continuous integration and continuous delivery is key in enabling DevOps within organizations. However, organizations cannot adopt these practices without building a DevOps team structure that facilitates these practices and other aspects of DevOps culture.
The current interest in DevOps is a result of the evolution of practices and, most importantly, culture and team structure. “Agile methodology—e.g., scrum or combine—have also helped organize the flow of work,” says Laurent Valadares, Director of Cloud Operations at MuleSoft. “10 years ago people were working in parallel, now they are working collaboratively. All of these things—practices, culture, methodology—have been evolving. And people are evolving as well as products and platforms.”
To better implement DevOps, organizations cannot simply build a team dedicated to DevOps; rather, they must ensure that the team structure that they build promotes the practices, culture, and methodologies of DevOps and, ultimately, sets the business up for success.
Step 1: Assembling Resources for the DevOps Team Structure
The first step to starting a DevOps environment is building a successful DevOps team structure made up of existing or new experts with a multidisciplinary skillset. Assembling this tiger team and ensuring it contains the organization’s best resources is essential. According to Gerry Leitao, Vice President of Managed Services Delivery and Platforms for Capgemini, organizations often fail at DevOps because they do not “...realize that people are the most important component of the equation.”
TechBeacon has outlined six crucial roles that should be a part of this tiger team:
- The DevOps Evangelist: Advocates for DevOps benefits by determining key value that IT can provide to the business.
- The Release Manager: Addresses coordination and management of the organization’s projects and products.
- The Automation Architect: Designs, implements, and analyzes continuous deployment strategies.
- The Software Developer/Tester: Completes business requirements as well as monitors and tests code.
- The Experience Assurance (XA) Professional: Monitors the release of new features and prioritizes the user experience.
- The Security Engineer: Coordinates with other team members to ensure that security is always first.
The above roles can enable organizations to form the foundation necessary for DevOps. While not every DevOps environment contains these roles, the most crucial components that need to be built is communication and collaboration amongst team members, regardless of which roles are involved. As such, we can think of the above list as merely an example of some of the responsibilities and skillsets that are required to develop a DevOps team structure.
Step 2: Aligning Business Goals for the DevOps Team Structure
After assembling the necessary resources for the DevOps team structure, organizations must avoid jumping into implementing DevOps practices. Instead, they must align business goals with their DevOps team. This means that the business requirements of the organization and the overall company vision must correspond with the objectives of the DevOps team.
By aligning the needs of the business with DevOps teams, organizations will empower team members to focus on the business objectives, rather than simply work on assigned projects and tasks. In the long run, this will not only create a DevOps team structure based on a specific objective or goal, but also increase visibility amongst team members and allow them to have a sense of purpose in their day-to-day work.
An example of how this looks in practice can be illustrated with one of our customers, Cox Automotive. The automobile dealer and buyer witnessed significant growth after acquiring over 20 companies. They had minimal IT resources and their DevOps practice was not as effective as expected. Cox Automotive wanted to build a DevOps team that encouraged both the creation and consumption of reusable assets––enabling the growing number of acquired companies to leverage assets effectively and securely.
With MuleSoft’s Anypoint PlatformsTM, Cox Automotive was able to unlock digital assets (e.g. driver history, vehicle records, etc.) to increase the effectiveness and productivity of their DevOps teams, mitigate bottlenecks in the development process, and better align DevOps projects with business focus areas. As a result, Cox Automotive was able to go from 2-month cycles to 2-week sprints, delivering MVP and enabling iteration with business partners in each sprint.
Step 3: Adopting Suitable Tools for the DevOps Team Structure
The previous steps establish the team structure necessary to start the DevOps journey. In this third phase, organizations begin implementing DevOps practices––from continuous integration and delivery to automated testing and continuous deployment.
In order to embrace these practices, organizations must adopt the necessary tools. IT leaders are actually struggling to understand which tools and technologies they should utilize to enable DevOps. There are countless tools in the market that enable organizations to build, test, deliver, and deploy with ease. To get organizations started, we put together a list of top DevOps tools that can enable a successful DevOps team structure.
Step 4: Measuring the Effectiveness of the DevOps Team Structure
After building an environment based on DevOps practices and a solid team structure, organizations cannot sit back and expect to see positive results. DevOps is not an end goal, it is an ongoing journey. Therefore, organizations must continuously measure the effectiveness of their DevOps team structure, roles, and environment.
This can be done by evaluating a set of Key Performance Indicators (KPIs). Examples of such KPI measurements include:
- Deployment Frequency: How many deployments occur per day? Is the number aligned with the organization’s goal?
- Security & Quality: Are the security and quality standards of projects aligned with the organization’s standards?
- Volume of Errors/Bugs: What is the percentage volume of errors and bugs that occur? How long does it take for teams to address them?
The above is merely a representation of the type of KPIs that organizations can measure for and these will differ depending on the needs of an organization.
But beyond measuring the technical outcomes of DevOps, organizations must also look into two key components of DevOps team structures: communication and collaboration. Are teams within the DevOps environment communicating effectively with each other? Are they able to collaborate easily? Are there any bottlenecks in the building, testing, or deployment process? Are there gaps that are creating information rationing? These are the types of questions that organizations must answer and address in order to build a better team structure and, ultimately, a more effective DevOps environment.
There are many ways and different steps to take in order to organize DevOps teams. The steps outlined above are by no means the only way to pursue DevOps. Organizations will have to choose the steps and structures that work best for them.
How a Center for Enablement Improves DevOps Team Structures
In working with our customers, we found that organizations often face a number of challenges when building a DevOps team structure. More specifically, teams struggle to maintain communication and collaboration and, most importantly, build the reusable assets necessary for the organization. As a result, in order to build a better DevOps team structure, organizations must look into a new way of organizing teams and processes: a Center for Enablement (C4E).
A C4E enables organizations to transform their IT teams into strategic business partners, as opposed to traditional technology functions. A C4E is a cross functional team that operates across central IT, Line of Business (LOB) IT, and digital innovation teams. These teams work together to ensure that the assets the team creates are consumable, consumed broadly, and fully leveraged across the organization. A C4E supplements DevOps and agile efforts due to the collaborative team structure that it builds and the self-reliant and productive environment that it creates.
Learn more about how a C4E can help organizations build an effective DevOps team structure and explore how the model helped one of our customers, Cox Automotive, increase the efficiency of their DevOps team.