It’s been a while, I was attending a Scaled Agile training workshop. A discussion triggered around – Whether DevOps is Agile or beyond? While many including Trainer, were in favor of ‘DevOps is Agile’; while only a few were in the opinion that ‘DevOps is Beyond Agile’.
DevOps is Agile
Folks in favor of ‘DevOps is Agile’ gave the following analogies–
DevOps is based on Agile Manifesto, which embraces values and principles inherently. Agile (or precisely Agile Manifesto) is the basis for many software product development framework and methodologies which have been in practice for more than three decades. Even though, DevOps is precisely not a development framework or methodology but still embraces agile values and principles with no exception.
Like Agile, DevOps does need changes to people mindset and organizations culture in order to adapt and practice effectively. At the core, Agile values and principles are applicable to DevOps as well in addition to Lean and System thinking.
While the above analogies are partially true but not complete; considering the reasons behind why DevOps originated and subsequently evolved slowly with industry acceptance, and the benefits are being realized by many enterprises who adapted DevOps practices. Let’s look at some analogies which suggest DevOps being beyond Agile…
It’s beyond processes and methodologies: In post Four Facets to Agility Applicable To DevOps, I detailed out how DevOps goes beyond Agile values and principles as well as enterprise cultural and mindset changes.
It brings software engineering practices and required integration of tools & technologies in the enterprise ecosystem. Developers continuously created product versions which become overhead to systems and operations team. These product versions couldn’t be taken to production at the same pace; hence jeopardizing the customer feedbacks loop; which led to incomplete, inconsistent and delay in realization of end-products benefits. The differences between product’s developed versions and production version widened slowly further and further; by simply just following agile methods. The customers’ feedback, product features evaluation and usage patterns, post-production monitoring and control etc. are the few seer benefits are effectively realized.
Agile manifesto talked about cross-functional team, which often just meant limited to developers, testers and may be the domain consultants. But often organization missed the operations, systems and support teams and their working in conjunction tandem with development team; which was originally envisaged in agile concept. The gaps between developers and operations widened further. The core fundamental of continuous customer feedbacks on product increments jeopardized since the incremental product versions were still delayed and unavailable in production. DevOps helped to overcome all these challenges, especially through tools and utilities to help realize end-to-end agile benefits from product envisioning to making them available for use by real end users.
Similar to Lean and System thinking concepts, which are applied at small or large scale Software development; DevOps practices can be applied from small to large scale product development. That’s the reason; DevOps required to have special attention & explanation from adaption to implementation point of views even in leading scaled agile frameworks; like SAFe, DAD, LeSS etc. SAFe goes to the extent of defining it’s scaled framework as Lean-Agile and DevOps.
Let’s Look At The Wider Perspective
Innovation and evolution to products, processes, and services around are natural. Usually, the innovations happen around some challenges faced by humankind in existing products and services; giving birth to something new. In the IT Industry, we see many new products and services evolution over the last decades. For examples, the Cloud Technologies developed to save upfront cost and infrastructure investment, is meeting the demand of quicker. Similar technological needs and benefits are applicable in other technology trends like Containerization, Server-less Computing etc.
These technologies help achieve organizational agility, flexibility and operational efficiency. The flexibility in terms of on-demand scalability, multiple choices for infrastructure options, level of controls and selection tools. The organization can achieve paramount efficiency to operations in terms of accessibility, speed to market; availability of products and services with zero or minimal interpretation to business operations. These innovative technologies give enterprises complete agility and competitive advantages.
Similarly, DevOps came to into existence to overcome the challenges faced in the Software industry, which has evolved, accepted and practiced widely across because it is the right fit to address the product implementation challenges.
But, There Are Some Invisible Forces?
There is no doubt that recently ‘DevOps’ got huge hype in Information Industry catching attention from participants. In the last few years, many organizations started experimenting with DevOps. Who needed people with DevOps competence and skills. But industry lacked people with DevOps skills and competence; creating an imbalance of demand and supply. But this mismatch in demand and supply created new opportunities in form of DevOps training and certifications to equip people with required skills, and they are called DevOps Engineers and similar roles. In the last few years, many people swarmed into undergoing training and certification or imparting training and certification and many startups and institutions came into this business to monetize this opportunity.
Especially, many agile-trainers (so-called ‘agile gurus, who may have no prior practical execution experience) and agile-certification based companies advocate DevOps something like an extension to Agile and also extended their certification portfolio by adding DevOps related trainings and certifications. So more likely it’s over-hyped marketing gimmicks to sell one more new stuff and the same time creating the illusion of being experts of yet another product (DevOps); since they are already experts of one core product (Agile). Unfortunately, most of these DevOps certifications are incomplete; but such forces got successful in positioning DevOps as something as Agile; since it goes hand-in-hand to extends Agile methods and practices.
Should We Really Bother ‘Whether DevOps is Agile or Beyond’?
I think the straight answer is ‘NO’. The fact of the matter is DevOps helps to address problems and provide solutions where Agile failed or had limitations. We should just see it as another ‘enablers/accelerators’ which is yet another revolution in the software industry and going to be in demand and practiced in near future for many years.