Fulfillment of Agile Methodologies with DevOps

Ted Ryrie, MD, Sharp Decisions

The shared responsibility and cross-func­tionality which is highlighted in the DevOps environment grew out of the move to Agile methodologies and con­tinuous integration development and de­livery. The problem was Agile really only enhanced and speeded that design and development com­ponents and really didn’t do much on the deployment and operational management side. It was still largely controlled in a Waterfall environment. In order to ac­commodate these continuous releases, DevOps encour­ages automation of the change management, release and deployment function.

Simply put, DevOps is a combination of software de­velopment and operations it’s a melding of these two disciplines in order to emphasize communication, col­laboration and cohesion between the traditionally sepa­rate developer and IT operations teams. Companies of all sizes are beginning to implement DevOps practices, and many organizations, particularly lean startups, have been doing DevOps without calling it DevOps for quite some time.

DevOps becomes another component in the overall fulfillment of Agile methodology which espouses con­tinuous and iterative processes from design, through development, test and deployment. Agile has been the impetus for organizations to look for synergies and to imbed into single teams what used to be considered very disparate functions. These newly embedded functions come under names such as Behavior Driven Develop­ment and Test Driven Development. However, each of these did not address the vital operations functions including release and deployment.

Rather than seeing these as two distinct groups who are responsible for their specific tasks but don’t really work together, the DevOps methodology recognizes the interdependence of the two groups. By integrating these functions as one team or department, DevOps helps an organization deploy software more frequently, while maintaining service stability and gaining the speed nec­essary for more innovation.

However, not every implementation of DevOps is going to achieve the benefits the organization is seeking. With that said, it is important to be able to measure over all and individual metrics to ascertain what is working and what aspects of the DevOps implementation may need to be changed.

There are many significant benefits to DevOps and other changes in methodologies and process that bring continuous integration and intra-group collaboration to our industry. The benefits of DevOps can be experienced by almost all industries, but can be best exemplified in sectors where speed to release new products or versions of software can have profound effects on the competitive nature of the industry itself. Given the fairly recent rise of DevOps and the some what fragmented approach to how it has been implemented in different environments, it is difficult at this point to prove the overall effective­ness, or what implementations of DevOps are more or less likely to produce significant improvements in speed, quality and other measures. As our industry continues to accumulate more examples of DevOps implementations and as the metrics for assessing improvement progress and congeal, it will become easier for organizations to project potential DevOps implementation strategies and the potential benefits to be achieved.

One of the current limiting factors to the effective spread and adoption of DevOps is the experienced re­source pool that organizations need to successfully undertake such an initiative. There is a pronounced shortage of resources at almost all levels and in almost all industries.