The impact of a strong DevOps strategy is apparent throughout the defense and aerospace industry. The need to get everything right “the first time” has encouraged leaders to integrate DevOps principles into their organizations. Lockheed Martin and Raytheon have even gone on the record promoting DevOps and describing how implementing these strategies has improved their ability to deliver value to their customers.
The goal of DevOps is to design development practices to create quality products in a way that requires minimal time and minimal budget. Many different techniques for improving DevOps exist, but sometimes the best solutions are the simplest ones. Establishing small, stable DevOps teams can have a significant, positive impact on an organization’s development capabilities.
The Need for Small, Stable Teams
When working in DevOps, two of the most important factors are product quality and product delivery. A DevOps team that creates low-quality content quickly is just as bad as one that creates high-quality content but misses important deadlines. In general, a small, stable team is the best bet for creating high-quality products that meet deadlines.
A crucial factor in determining the effectiveness of a DevOps team is the size of the team. Research has demonstrated that the optimal size for a team is around 5 people, based upon average team size across organizations. Larger teams can be workable (Scrum recommends 5-9 members), but scaling a team beyond 20 people has negative impacts. Oddly enough, eight has been proven to be a particularly bad choice for team size since it often results in deadlocks.
The impact of team size on DevOps effectiveness is created by a variety of factors. One of these factors is the impact of each additional team member on the team’s ability to communicate effectively. The larger the team is, the more time needed to convey information accurately across the team (ever try to schedule a meeting with more than 20 people?). Communication quality is also impacted since public speaking is a common fear and many people won’t share their thoughts in front of a large group for fear of being wrong.
The other important factor in DevOps teams is stability. It takes time for a team to learn to work together and communicate effectively. In the beginning, it may seem like that one guy never has anything to say but that he is more willing to share ideas once he’s more comfortable with the group. Or another team member may seem flaky and anti-social, but it turns out that Slack or texting is a better way to reach her than email. Learning how partners communicate takes time, which requires a stable team.
Team stability also has a significant impact on a team’s ability to make and meet deadlines. With a new team, no one is sure of the other team members’ capabilities, work speeds, etc., and some members may be inclined to over-promise in order to show off for the boss. Over time, teams are able to get a better feel for each other’s particular skill sets, idiosyncrasies, etc. and develop a dynamic that works for them. If teams are thrown together for one project and then ripped apart upon its conclusion, they never have the opportunity to develop this synergy.
Improving DevOps Through Team Building
In the aerospace and defense industry, DevOps is crucial. A “software bug” in development or testing that makes it through to production could have significant cost impacts. Building small, stable DevOps teams that have the opportunity to learn to know and trust one another can have a significant impact on the quality of deliverables and the speed at which they are produced.
To learn more about how DevOps can benefit your organization, contact Performance Software.