Blog‎ > ‎

6. DevOps


Introduction to DevOps

DevOps (a clipped compound of "software DEVelopment" and "information technology OPerationS") is a term used to refer to a set of practices that emphasize the collaboration and communication of both software developers and information technology (IT) professionals while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment, where building, testing, and releasing software can happen rapidly, frequently, and more reliably.

DevOps has been classified as “on the rise” with respect to the Gartner Hyper Cycle in 2013 and as expected has been used by 25% of Global 2000 companies. Some of the companies adopting DevOps include Amazon, Netflix, Bank of America, ING Bank, Disney, Sony Pictures, Nationwide Insurance, Target, Macy’s, Facebook etc (As per Data freely available on the internet). It can be observed that DevOps is picking up across the industries.

Lets go a little deeper into the definition and understand the implications of the definition of DevOps

·         The Quality of the deployed changes should of supreme quality. Quality basically means suitability for the use by various stakeholders for whom the changes are made for. These may include the operations team, end users, business teams etc.

·         The delivery mechanism also should of high quality. This implies that the reliability and the repeatability of the delivery mechanism should be high. This implies the tools and processes used during the delivery should be such that the configurations should be repeatable. If the mechanism or processes fail frequently, then there may infact be rise in the delivery timeframes.

·         There are two phases in which the end-to-end delivery cycle can be split up into. The first phase is when the developers develop potentially shippable increments of the software (thru agile or any other development frameworks) and the second phase is with the developed code gets picked up and gets deployed into the production. DevOps demands that the time period between the phase 1 and phase 2 of the lifecycle be as less as possible to achieve a seamless delivery into the production without compromising the quality of the deliverable.

·         Our definition should be goal oriented and not focused on the tools and practices that you use. You may use any tools, any processes, however, the goal that you have decided should be met – be it thru tools, be it thru Agile methods or be it thru waterfall methods. A sample goal could be “reducing time between 2 deployments should be as short as possible”.

·         The goals specified in the definition do not restrict the scope of DevOps practices to testing and deployment. In order to achieve these goals, it is important to include an Ops perspective in the collection of the requirements. i.e. your product backlog should have elements of infrastructure and deployments also and not just functional elements.

Sample Scrum Agile Video by Amit Kulkarni

 Sample PMP® Training Video by Sateesh Kamat

 

Amit Kulkarni conducting Planning Poker Estimation Exercise

 

EPMC - Project Foundational Concepts by Sateesh Kamat

Other Topics