Separator

Fulfillment Of Agile Methodologies With DevOps

Separator
Ted Ryrie, MD, Sharp DecisionsA Business and Information Technology knowledge leader, Ryrie strategically plans operational/project effectiveness audits, full life-cycle project management, IT governance and compliance

The shared responsibility and cross-functionality which is highlighted in the DevOps environment grew out of the move to Agile methodologies and continuous integration development and delivery. The problem was Agile really only enhanced and speeded that design and development components and really didn't do much on the deployment and operational management side. It was still largely con-trolled in a Waterfall environment. In order to accommodate these continuous releases, DevOps encourages automation of the change management, release and deployment function.

Simply put, DevOps is a combination of software development and operations - it's a melding of these two disciplines in order to emphasize communication, collaboration and cohesion between the traditionally separate 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 continuous 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 Development 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 necessary for more innovation.

DevOps encourages automation of the change management, release and deployment function

There are many significant benefits to DevOps and other changes in methodologies and process that bring continuous integration and intragroup 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 somewhat fragmented approach to how it has been implemented in different environments, it is difficult at this point to prove the overall effectiveness, 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.

One of the current limiting factors to the effective spread and adoption of DevOps is the experienced resource 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.