The disruption of DevOps
Finding success and capitalising on value hinges on making broad cultural changes across the IT organisation
It is both critical and demanding for an organisation 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 DevOpsas the potent catalyst for removing this barrier through a cultural and professional movement in juxtaposition with the three Cs — character, communication and continuous delivery.
How will DevOps disrupt IT organisations?
The traditional friction between “development” and “operations” boils down to a few key attributes of character vis-a-vis skills, roles and responsibilities - the so-called new-age disruption forces within an organisation. 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 - development and operations. 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 organisation in the growth zone. DevOps has shown that finding success and capitalising 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
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. Organisations need to automate, perform self-service, standardise 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. Organisations 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 organisations to reduce cycle time and respond quickly in an unpredictable, competitive market with constantly changing consumer preferences. This is made possible as CIs are automated across build, test, release, deployment, and production environment.
Minimising conflict between development and operations
The key to minimising conflict is recognising 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 and 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, organisations must concentrate on release frequency (embrace smaller releases). Instead of a few big releases, organisations 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 operationsteam should solely focus on achieving application release automation (ARA), application performance monitoring (APM), and customer experience management (CEM).
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. Organisations 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.
Arvind Mehrotra is president of Infrastructure Management Services at NIIT Technologies.