4 Hindrances in Implementing DevOps

147

4 Hindrances in Implementing DevOps

DevOps is becoming the new gaga everywhere. According to Puppet 2014 State of DevOps Report DevOps organizations are implementing code frequently more than 30 times compared to their counterparts. This shows the increasing adoption of DevOps. However, mistakes and errors do take place while implementing DevOps. Especially new businesses and small sized companies are making mistakes. Nothing is easy to achieve and so challenges are a part and parcel of something new you wish to deploy.

Gradually, DevOps is becoming an effective and efficient way to deploy and develop cloud hosting applications, but as of now it is just the start of the adoption. DevOps implementation helps in eliminating the barrier between operational teams and development team, thereby reducing the backlogs of enterprise applications. Organizations deploying DevOps tools and processes frequently realize too late that they have committed mistakes. Many of them are such which require them to stop, take back up and then start again. So where are organizations going wrong? Mistakes vary between organizations to organization, however some mistakes are found to be common amongst organizations regarding DevOps failure.

Keeping Technology before People

Removing the barrier between operations staff and developers is the core purpose of deploying DevOps. One general mistake which companies make while deploying DevOps is concentrating on technology too soon instead on processes and people. With this, organizations choose DevOps tools which are do not have a longer life. Overlooking the fact of training the staff and changing IT processes can be lethal. Due investment should be made on training programs focusing on optimum utilization of technology, ways to adopt uninterrupted development, integration, testing, operations and deployment. At a point the DevOps tools will change but processes and people will not change.

Ignoring Security and Governance

Often organizations ignore in considering security and governance which is systematic to the applications. Now, security can no longer be separated from applications. Make sure to integrate security in every process carried out, even continuous examining and development. Gone are the days of erecting walls around applications. Government should be systematic for cloud application development and everything that is involved in each and every step of DevOps processes, even those policies that restricts the use of services or API’s, also service dependencies and service discovery.

Resistance to Change

Executing DevOps signifies changing in terms of development, testing, deployment and the way in which applications are operated. Technology, tools and processes should change for which the organizations should set metrics to measure the productivity of the changes so implemented. It is inevitable for DevOps to change evolve with the changing ideas and technology. The designing of DevOps process should be carried keeping in mind the change aspect.

Work Disruption

New workflows will take place when DevOps implemented which will bring a change throughout the organization. To take care of new workflows, investment is to be done in new tools as existing tools will become obsolete. Regulatory compliance and security issues will be implied on new and compound workflows. For that sake, it is important that the implementation team of DevOps has a broad skill set and interests of all stakeholders are put forward during planning. A holistic view is required for complete value chain for software delivery, starting from conception ranging to monitoring in production. DevOps implementation team will undergo a good exercise of performing value-stream mapping for existing as well as proposed processes and overlapping those maps for identifying areas causing friction.

DevOps is still WIP (Work in progress) no matter if you are an enterprise development workshop or vendor. While implementing DevOps, the lessons we learn in the coming years will enable us to enhance the process and thereby launch better applications.