The evolution of Agile and Continuous Delivery took a mile high jump with DevOps. In the fast moving, dynamically innovative environment of IT production and delivery, DevOps is gradually reducing the time window between requirement to delivery. In more formal lingo, it means reducing the execution gap between development and delivery of software or information. Today, when clients express the need for an IT product or service, IT teams need to start delivering in phases – as soon as a product is demanded – and user feedback is incorporated as the next phase gets developed and delivered. The development team work in tandem with the operations and executions to reduce the scope of error, and fix issues even before the end users detect them.
Such an assembly line, if we want to call it so, was imminent for some time and important in today’s business scenario for quite a few reasons. To start with, if one looks deeper and gets into some form of statistical data evaluation, the time gap between the requirement and the delivery of IT products and services is not only costing huge business opportunities but also resulting in the change of business environment and requirements itself by the time delivery happens.
Successful businesses need to evolve every week. The not so successful ones have to do so faster to catch up with the need of the day and brighten up their books. Smart businesses are doing this faster.
Disjointed IT product and service delivery systems that take months and are oblivious of the happenings in the other components of the assembly line would not be able to provide to the best interests of their customers. In a very simple example, after demonetization in India where cash transactions came to a halt and cashless transactions were made the norm, online retail stores had no time to haul their platforms or transaction systems. IT service providers had to continuously develop and deliver the platform for the retail customers to pay using every kind of online cash –not only through Net Banking, Debit and Credit Cards, but also through newer entities like PayTm, PayU, and mobile cash services like Mobikwik, and also through non-banking entities like Ola or Airtel Money. Just Imagine, big retail chains effectively going out of business for days because they were busy overhauling their IT systems!
Essentially, irrespective of whether a business is dealing in garments or in shoes, in food delivery or in entertainment, or in IT products, it has to evolve on the run and continuously align the respective products in accordance with very current customer needs. While a business does market predictions and capability assessments, it has to scale up inventory, production, QA, and customer service, while also collecting customer feedback and incorporating those in the design and production of what’s going to be on offer. How do you think an entity made up of anything between 20 or 200 employees would be able to bring about this kind of coordination in each of its departments? The answer is – getting charted by DevOps.
Definition of DevOps
When Patrick Debois, the father of DevOps, first coined the term in 2009, he was speaking of an operational philosophy that promotes better communication between Development and Operations, cross-practicality and better working relationship. DevOps enables building cross-functional teams that collaborate to maintain the system that runs the software, and also build the software that runs on that system. This, obviously, has to be done with a lot of room for soliciting and incorporating continuous feedback.
Jez Humble suggested that DevOps is “a cross-disciplinary community of practice dedicated to the study of building, evolving and operating rapidly-changing resilient systems at scale.” Ernest Mueller, however, thinks this might be a little too esoteric and specific to Internet startup. Hence, he modified the definition to describe “a practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support.” (http://theagileadmin.com/what-is-devops/)
These definitions actually bring out the characteristics of DevOps and subtly explain how it works.
DevOps Characteristics that are changing the way products and services are now delivered
Global banks with huge and complicated IT structures are adopting lean DevOps practices now to derive true business value. With DevOps, they can roll out feature releases faster than before, and achieve better service qualities at highly optimized costs. Similar is the case for multinational insurance bigwigs, FMCG companies, and hospitality kingdoms – all combining their best shots at continuous updation and execution!
So is DevOps just a combined team of Developers and Operations?
It is that, and beyond. DevOps is certainly not the casual grouping together of teams of Development and Operations in an organization. Rather, it is like a bold lifeline of neurons that adjusts and updates itself at every stimulus of relevant communication to achieve optimal efficiency. Every other department in the organization needs to lend itself to this community structure. DevOps is fundamentally inclusive. It includes system and database administrators, developers, staff from Operations, quality assurance personnel, security professionals, and everyone else.
So now we need to have employees who can handle both Development and Operations?
You better not. As we said earlier, DevOps is fundamentally inclusive and cross-disciplinary. Team members should be sharing and responsible, and should understand business requirements and not just IT requirements. Communication and teamwork go hand in hand, and this can’t be truer in DevOps. There’s hardly any room for ego clashes because the tiniest of errors can lead to major loopholes. Also, since DevOps lends the flexibility to work remotely and across time zones, accountability, trust among team members, and an effective channel of communication becomes of utmost importance.
So everything happens online, all the time. There’s no human interaction?
On the contrary, DevOps is enormously humane. It simply strives to minimize human errors. DevOps is a cultural change, not a quick fix universal remedy for every IT or operational illness. It helps bring the best out of the team members, optimizes efforts, time, and available resources, and ensures that the best is delivered. DevOps also helps avoid repeating our age-old project management mistakes, and clear and effective communication is the key to success.
So it means our company will ever be on the road to development?
To be successful in the long run, where change is the only constant, an organization can never say quits to systems development. Anything static – is now a thing of the past. By the time you complete market assessment for a product, develop it and are ready to launch, the market attributes have changed. Potential consumers would already be looking for a more advanced product, thereby rendering your efforts futile. Hence, discrete and disjoint efforts and ventures cannot provide continuous solutions. The DevOps mindset traces ongoing, continuous relationships. Therefore, development is never going to be done with, and DevOps only promotes this climate of ongoing betterment.
Benefits of DevOps
Any operational philosophy that promotes better communication between teams and provides a better working relationship, call it DevOps or by any other name, is bound to come with multiple levels of efficiency. It goes without saying that DevOps achieves faster time to market and reduces waiting time between iterations. Life doesn’t come to a standstill when something goes wrong in a DevOps culture because business is on the run and something else is always happening. Since DevOps takes care of user reviews and feedbacks as soon as feature releases happen, failure rates of new releases are minimised.
Large and global organizations are using DevOps to improve their cloud and server infrastructure, incorporating efficient product management, development cycles, enhanced security, and application reliability. The intermingling of Dev and Ops doesn’t mean that either of them is side-tracked. Rather, with DevOps, organizations are able to completely integrate their software-development functions with their IT operations. This means that their teams can simultaneously build, test, release, and maintain new digital applications, with a higher frequency and efficiency and at lower costs. Products and services are delivered keeping in focus discrete business requirements and system integration needs, and developers and operations staff share joint responsibility for the delivery and stability of a product version.
Hence, while DevOps takes into account constant change, it strives for continuous improvement to work in tandem with the evolving situation. Isn’t this a more humane, intuitive, and sustainable way to go!