By: Kannan Ramamurthy, Director Engineering Programs, Juniper Networks IEC
DevOps is one of the key factors in a growing number of large companies and organizations to bring agility, reduce time to market, high quality products. Successful adoption of DevOps model needs dedicated investment, resources, cultural shift and is continuous journey. DevOps has become key to enable Continuous delivery and Agility in organizations. It helps scale organizations to deploy solutions rapidly and consistently.
Some of the salient elements to achieve these as part of DevOps model implementation within an organization are:
Culture is blended with org structure: DevOps is a redefinition of how teams collaborate and work together and are structured. People are not robots, hence sequential waterfall model doesn’t blend with agile culture and natural thinking of people. Need to proactively address these challenges with traditional waterfall model, share benefits of DevOps model and align organization structure. This will help blending culture of people, increase collaboration and agility. This makes DevOps a natural extension of Agile through the whole value stream of software delivery.
Aligned policies and processes: Organization policies need to be aligned and tuned for the collaboration of the development, testing, infrastructure and IT teams. Workflow, roles, responsibilities, policies and processes need to be re-looked to achieve true agility in DevOps model. These need to be aligned with agile mindset or culture around delivering small steps often and manage changes, not just overlaying weekly scrums onto traditional processes and calling it agile. To work in small sprints and truly deliver production ready code that can actually be shipped to customers, one needs development and operations working together with automation technology and all processes integrated optimally.
Eliminating silos: To achieve true agility we need to break down the walls between development, testing and operations within an organization. Enable continuous development, testing and deployment with functional tool chain and processes. This needs weaving of tools, teams and processes firmly together. Effective communication and cross-functional team’s collaboration is key in DevOps model success. This implies there are no walls or barriers across various agile teams supported by right collaboration tools.
Tool chain: We need to ensure Tool chain is integrated, functional and aligned with agile processes. Tool chain should be integrated and cover all aspects of Agile development. DevOps model encompassing tools for change management, issue tracking, collaboration / communication, source control / configuration management, continuous integration / continuous development (CD/CI), test automation and deployment. These integrated toolchain enables automated deployment to make everything happen smoothly and reliably.
Balance rapid development with minimal disruption: We need to minimize disruption and maximize reliability by balancing Agile principles of speed, rapid development and prioritization. DevOps model helps in choosing the right approach, right agile testing tools, to take full advantage of Agile’s speed without sacrificing quality. It’s all about striking the right balance to allow companies to respond to changing business conditions and take advantage of opportunities rapidly and effectively.
Continuous measurements: Feedback is a crucial element to measuring effectiveness and creating successful DevOps. For each deployment, basic metrics around quality, time and cost elements needs to be captured. These can be analyzed over a period of time to determine agility and effectiveness DevOps and identify areas of improvements. Cultural metrics around team’s cohesion, time to resolve conflicts, pride and ownership are hard to measure. But, these cultural metrics are critical in determining agility and effectiveness of DevOps
In order to scale and ensure DevOps model stays Agile, relevant to business with high quality deliveries, we need to ensure overall organization culture, processes, mindset, toolchain are aligned. This needs mature aligned teams working together and focused on continuous improvement and continuous measurement.