As part of our ongoing blog series on DevOps adoption motivators and best practices, we recently shared Seven Lessons for a Successful DevOps Pilot in which we touched on the criticality of choosing the right team to staff your DevOps pilot. In today’s blog, we will dive deeper into our recommendations for the ideal team size, composition, and the roles each team member should play.
As we noted earlier, the most successful DevOps pilots are staffed by cross-departmental teams. This ensures success as cross-functional DevOps teams are likely to realize the risks of a poor implementation sooner and importantly do not declare success as easily. So, how do you choose who should be on the team and what cross-functional roles are needed?
Building the Pilot Project Team
Ideally, the size of the team should be confined to a small group of hand-picked individuals. Too large and the DevOps pilot team risks collapsing under its own weight. The key here is to remain agile.
While the individual use case of the pilot project will dictate who should be on the team, there are several essential roles that we consistently recommend that span Development, Operations and Security. It’s Important to put careful thought into who is selected from each group to join the DevOps team.
Best Practice Roles
In our experience shepherding organizations through the DevOps adoption process, the Flux7 DevOps team recommends several best practices when constructing the pilot team:
1. Include an experienced "Agilist" (Agile Coach or ScrumMaster) The ScrumMaster is responsible for facilitating Agile practices. They assist the team in reflecting on their use of Agile practices and tools for continuous learning and improvement. While they are not responsible for the overall project outcome, they serve the team, ensuring that Scrum Events are held -- facilitating where needed -- assuring that the work is understood and removing distractions to improve focus on high value deliverables. This often means that the ScrumMaster clears obstacles that might get in the way, including any distractions that could keep the team from making important progress. If your organization is unfamiliar with Agile methodologies, we highly recommend that you bring in an external Agile Coach expert to join the team. This Agile Coach can help guide the team to ensure they are maximizing the value of Agile.
3. A Product Owner is part of the core team. The product owner is responsible for maximizing the value of what the Team delivers, which may include talking to the business customer and/or interfacing with the Cloud and Technology Teams. In this role, the product owner creates a Product Backlog of the necessary work and optimizes the priority of the work in collaboration with the Team(s). We find that a person who is an architect by trade excels in this role as this team member takes business requirements and translates them into a technology solution.
4. Choose only a handful of Developers. While the developers you choose will depend on the skill set(s) you need to execute your use case, the Scrum Guide recommends that pilot teams have at least three developers and no more than nine. Flux7 has found that three team members is a sweet spot in creating a successful DevOps delivery team.
If your development team will be working with new technologies, such as Infrastructure as Code (IaC), that they are not familiar or comfortable with, we recommend you bring consultants with these specific skill sets on board for the pilot and add them to the team. In addition to ensuring technology successes, they can help teach your team how to use and manage these tools moving forward to ensure future successes. In this way, the team gets constant knowledge transfer while simultaneously progressing the pilot.
5. Security, Operations and Release Management representation should round out the pilot team.
Pilot Team Partners
Note that while some people may be important to the overall process, not everyone can be on the team. If everyone were on the team, you’d quickly exceed a reasonable size, weakening the overall chances of success. Individuals who are deemed important to part of the overall success should be considered partners of the project.
Partners should be engaged for a short period of time, on an as needed basis. For example, Active Directory is not a staple role for the DevOps pilot team and as a result shouldn’t be present perpetually. However, it will be important to invite this partner to the team as the project dictates.
Choosing a team that feels empowered and emboldened by the new DevOps approach is important as the success of your DevOps pilot rests on their shoulders. You want to make sure that they are excited to move forward and not return to business as usual, balancing a contagious excitement with a realistic view of success. When combined in a right-sized cross-functional team, your DevOps pilot team can successfully execute on your use case, laying the groundwork for future growth and scaling of DevOps throughout the organization.
Should you be interested in a professional guide as you select your DevOps use case and supporting team, schedule a call today. And, stay tuned for the rest of our series on motivating DevOps adoption and IT transformation by subscribing to our blog below.