By: Arvind Mehrotra, President and Global Business Head, Infrastructure Management Services, NIIT Technologies
It is both critical and demanding for an organization to be competent in order to speed up the business processes and quickly cash opportunities. The inflection point enabled by SMAC (Social, Mobile, Analytics and Cloud) and engagement models is driving the need to balance the rigidity of traditional systems. This has led to the consolidation and reorientation of both development and operations as a single delivery chain. While each of these is undergoing its own ‘lightening up’, as seen in CMMI for Agile and ITIL-Lite, the current barrier between development and operations will eventually disappear by the establishment of common processes or a clear handshake, and consistent definition of service tasks. We see DevOps as the potent catalyst for removing this barrier through a cultural and professional movement in juxtaposition with the 3 C’s – Character, Communication and Continuous Delivery.
How Will DevOps Disrupt IT Organizations?
The traditional friction between “development” and “operations” boils down to a few key attributes of character viz. skills, roles and responsibilities – the so called new age disruption forces within an organization. Creating a DevOps environment under these circumstances is a huge challenge. It requires assessment and realignment of how people think about their teams, the business, and the customers. Usually, the stigma attached to DevOps comes from the two important elements – Dev and Ops. The two respective teams are either not clear about their new roles and responsibilities or they think that their current role is paramount. DevOps is all about change. Change requires adaptation, and underlines the need for learning new skills. Whether it is a system admin learning to build new tools, or developers using a model other than the Waterfall model, DevOps firmly places your organization in the “growth zone”. DevOps has shown that finding success and capitalizing on value hinges on making broad cultural changes across the IT department, and creates a situation in which a holistic change is often necessary. Integration becomes the new value network for DevOps disruption.
Setting the Stage for DevOps and Adoption of Best Practices
Fostering open communication channels lays the foundation for a successful DevOps culture. Dev and Ops generate the same outcomes but their approaches are different. These divergent views have led to subtle but important differences in terminology – such as the definition of a “full stack.” The best way out is to thrash out these differences and establish a standard lexicon for IT by opening up the way you communicate via tools and processes. To put this into practice, we need a three-pronged strategy – identify the management (people, money and resource base), understand the action and the ecosystem processes, and identify the tools that will help in streamlining them. The bottom line is – if you want to succeed, you need to empower the team with the right tools, processes and technology. Organizations need to automate, perform self-service, standardize development environments, monitor and provide feedback, scale up and scale down, provide security and reliability. When all the areas are covered, we need to ensure that the configuration items across Dev and Ops teams are viewed consistently from a program/project perspective.
A Collaborative Approach Makes for an Agile Enterprise
DevOps encourages extensive automation and workflow redesign. Organizations can gain a competitive advantage by releasing code and bug fixes quickly (in a more or less continuous delivery cycle) without disrupting the operational environment. Bigger code releases are much more susceptible to risk than smaller releases. Incremental builds where each feature is thoroughly tested during the release helps in risk mitigation. Regularly releasing changes to end-users helps in gathering user feedback on quality, performance and acceptance early in the process. Critical feedback received early improves the quality of the end product. Each iteration focuses on eliminating problems identified during the software evolution. The time involved in taking a new idea to market is of utmost importance in today’s competitive environment. This agile methodology enables organizations to reduce cycle time and respond quickly in an unpredictable, competitive market with constantly changing consumer preferences. This is made possible as CI’s are automated across build, test, release, deployment, and production environment.
Minimizing Conflict between Development and Operations
The key to minimizing conflict is recognizing the cultural challenges between the business, Dev and Ops. DevOps is a response to the disconnect between development activity and operations activity. This disconnect often manifests itself as conflict, friction and inefficiency. Development tends to be driven by how many new functionalities can be churned out in a given time; therefore change is its incentive. Operations on the other hand tend to be driven by stability of the status quo; its incentive, therefore, is resisting change. So, to achieve continuous delivery it is important to develop a close, collaborative working relationship between everyone involved in the delivery process.
Apps Can Be Deployed/Redeployed with Minimal Lead Times
Focusing on lead times will help you measure the advantages of continuous delivery. Continuous delivery can be achieved with faster and smaller releases. To achieve minimal lead times, organizations must concentrate on release frequency (embrace smaller releases). Instead of a few big releases, organizations must release features as soon as they are ready. It is necessary to continuously integrate and make sure that the automated tests are not broken by the introduction of new and latest features. Release automation is necessary to push the latest features to the test or the production environments.
Businesses embrace DevOps to bolster collaboration and improve customer experience. In a real-time scenario, the development team should focus on build and test, but the operations team should solely focus on achieving Application Release Automation (ARA), Application Performance Monitoring (APM), and Customer Experience Management (CEM).
Our focus, however, cuts across both development and operations. In short, we focus on the entire application lifecycle. DevOps creates continuous flow of work from development to operations by eliminating large batch releases and inefficient activities. It can help uncover previously masked people and process communication issues. Leaving these issues unaddressed can cause frustration and disappointment within the teams – leading to further delays. Organizations need to promptly address end-user feedback to ensure a positive customer experience. Maintaining a positive and receptive customer experience not only helps in delivering high quality solutions, but also ensures that the customer concerns and feedback are addressed and necessary fixes and updates are provided in a timely manner.