POV: Enterprise DevOps Transformation
DevOps is one of the Core practices followed in modern application development. Many organizations started the DevOps journey with 'Automation' as the core theme. Automate the release pipelines (CICD), provisioning of resources (IaC), integration between monitoring and project management systems, etc. This approach leads to initial benefits like faster releases to market, new agile process adoption, and reduced manual interventions.
An analysis of an organization that adopted 'Automation' centric DevOps 3 to 4 years back brings a question on this approach. Most of these organizations ends up with multiple teams handling Automation scripts for Infra, Application CICD, Automation in Support, etc. Cloud adoption brought more groups labeled as CloudOps, Cloud Engineering, etc. In Automation centric approach, a product moves through multiple teams with many to-and-fros, manual interventions, delays, and indirect communication mechanisms like ticketing systems.
POD-based DevOps model addresses the core concerns related to the multi-team by focusing on ONE team approach or PODs. Each POD consists of cross-functional teams to manage the entire product development. Considering the growing demands for niche skills, practically it is difficult to define a POD with all the required skills. It is better to bring the ONE team mindset of the POD-based?DevOps model along with the flexibility of the Swarm-based team to form a better DevOps model. In this model, core members will form the POD, whereas niche skill teams form the Swarms and collaborate on a need base.
Enterprise DevOps
Enterprises started the DevOps journey by embarking on the DevOps best practices to deal with continuous planning, continuous integration, continuous delivery, continuous testing, and continuous operations. Over time, the focus moved more towards the automation of manual interventions and processes. It leads to distributed teams focusing on specified areas or working in silos. Collaboration between these teams routed through ticketing, emails, approvals, etc. Lack of direct communications and teams handling specific areas leads to delays, failures, and increased complexity.
Figure 1 depicts the team distribution for an enterprise. In this kind of setup, product development flows through many teams and ends up in reduced benefit from DevOps
Figure 1: Enterprise DevOps - Team distribution
POD-Based DevOps Model
There are multiple industry models to address the challenges that emerged by the distributed teams in DevOps.
The POD-based DevOps approach consists of an Autonomous, Cross-functional team working on the DevOps principle. This model focus on Value Streams with multiple POD teams to focus on independent deliverables. Each POD team is responsible for a single deliverable. Based on the size of the deliverable, one can setup simple, medium, and complex POD.
领英推荐
Figure 2: POD-Based DevOps Team
The main challenge with the POD structure is the lack of the required number of skilled resources. Assigning niche skills to each of the PODs will be difficult and won't be possible.
Recommendation
POD-based DevOps model brings the benefit of ONE team, but is practically not feasible due to skill requirements. Better option is to form niche skilled resources as Swarms and share across PODs and Value Streams. Proper Swarm formation and governance are critical to the success of this model.
Figure 3: POD-Based DevOps Model with Swarms
Each POD consists of Core POD members and optional members from Value stream-specific swarms or cross-stream swarms. The swarm model helps in better collaboration and governance. Swarm teams are a network of self-driven multi-skilled people works in a collaborative way. Specific skills like ML & AI resources may be part of the Value stream swarm, whereas enterprise compliance and audit member will be part of the cross-stream swarm.
How the DevOps Models drive your business ? Are you considered DevOps as part of Digital Transformations ? What is your observation of a Digital Transformation without proper DevOps roadmap ?