As a popular method of creating and publishing software, DevOps has many benefits that other software development methods might lack. One of these benefits is the ability to scale from small teams working on a single project, all the way up to large corporations with many different products and features. The concept of “Scaling DevOps” is just an extension of the same ideas and principles that many already understand about DevOps. The only real difference is that Scaling DevOps is more complex, requiring coordination across teams and organisations.
How to Scale DevOps Within an Organisation
The most important part of DevOps, including scaling, is to focus on culture across the entire organisation. Culture is core to the DevOps process, on both small scale and large scale. Encouraging a DevOps culture of collaboration and experimenting in local groups will naturally radiate to other areas, in turn driving the entire organisation to share the same mentality.
For DevOps to be successful, especially on the scale of a large organisation, it requires backing from all levels of management across all areas. Because DevOps requires so much cooperation, and is such a stark contrast with the silos of traditional development, it can be difficult to get everyone in an organisation on board. Additionally, upper management must support the decision, even accepting the temporary reduction in productivity from creating new workflow tactics. However, once team members see the value that DevOps can bring, they may be more willing to buy in.
The Scaling Process
Implementing DevOps across a large organisation can be difficult, but it is certainly possible by following certain processes. First, the organisation must start with small teams, and switch to DevOps in the same way that a small company of only one team would. Keeping the shift to only a single small team at first offers a number of benefits. The organisation can remain more concentrated on the small team, more quickly responding and adapting as necessary to mold the team into an efficient DevOps process. Plus, shifting a single team rather than the entire organisation minimises the reduction in productivity. Once one team has successfully migrated to DevOps and regains full productivity, other teams can begin to switch.
While teams are in the migration process, the organisation must allow for experimentation. Creating a DevOps process that works most efficiently requires the team to try new things. Occasionally, new methods or tactics might decrease productivity or slow the overall process. It may take several iterations before a team finds the exact formula that works best for their own needs. Until that point, the organisation should expect that some ideas may not help the team.
Because DevOps covers the entire process of software development and release, organisations must remove metrics that discourage collaboration. In traditional environments, development and operations try to optimise their own areas, even if those methods penalise other areas. To increase collaboration, organisations must use common goals to all areas. This allows all teams to work toward the same goal, without prioritising their own metrics over the efficiency of the entire process. When things work well, the whole organisation shares the success. In times of failure, teams must work together to improve the process.
Particularly large organisations might have multiple products across multiple development pipelines. Scaling DevOps may work best for these corporations by switching a single development pipeline first. This encompasses all stages of development and operations, but at a smaller scale than switching the entire company at once. After the single pipeline has adapted, other pipelines could shift. The localised approach allows each pipeline to find their own methods, without having the productivity of the entire company suffer.
Beyond shifting individual teams and development pipelines to DevOps, large companies must also focus on shifting the entire organisation toward DevOps tactics and culture. When management and administration are not aligned with DevOps culture, the process is less efficient. DevOps works best with buy in from all members of an organisation. Getting support at the organisational level, while it may not be easy, will greatly benefit the success of DevOps implementation.