According to Gary de Menezes, Country General Manager for Micro Focus South Africa, the drive for large enterprises to deploy DevOps practices is part of the push toward digital transformation as companies are tasked with adapting their business strategies to the evolving and digitally-centered business landscape.
As the push for digital transformation continues to grow, DevOps practices and the teams that implement them will be the engine of change that builds these new capabilities.
This means companies must rethink how they create and deliver new customer value, developing capabilities to satisfy the demands of the digital economy as the scope of this transformation is global and across all industries.
According to IDC, there will be over $18 trillion in added annual economic value for companies who invest in digital transformation strategies by 2020 — that is a 25% increase in global GDP. This also shows that companies are relying even more on their IT teams and organisations to build capabilities that leverage new technologies such as cloud, AI, and mobile.
Those looking to scale DevOps to the enterprise need to consider the following aspects when embarking on such journey.
The first thing to consider is whether the business is aware of the impact and implications of trying to implement DevOps.
In the enterprise software world, DevOps provides a vehicle for organisational transformation from siloed, traditionally adversarial groups to collaborative, shared ownership teams with a common goal and collective responsibility.
As DevOps defines practices, processes, and strategies to increase collaboration, efficiency, and communication between teams involved in the end-to-end Dev to Ops landscape, the organisation needs to evaluate whether they will be willing to make the necessary changes.
Adjacent teams will be affected and brought into the initiative, and include (but are not limited to) architecture, infrastructure, QA, production support, security and change, and release teams.
Teams will be consolidated and aligned both in terms of process and technology to allow organisations to streamline their end-to-end application delivery process. This, in turn, will lead to faster, higher-quality releases with reduced risk and lower costs.
Pace of deployment
Rapid development alone is not differentiating, but the actual, rapid delivery of software into production that is secure, free of error, and delivers business value is.
However, the IT Service Management (ITSM) practices that have been encouraged and significantly adopted by many organisations are often seen to be in direct conflict with the agile mantras of delivering working software in a continuous manner.
ITSM administrators take the 100% uptime objective they have very seriously, as they know that changes are what tarnish that perfect score.
In order to compete with a start-up that is disrupting the market with incremental capabilities using two-week release cycles and getting immediate customer feedback, organisations need to start with CD.
Automating code and configuration deployments with a single set of deployment processes across all environments, using parameterisation, will help ensure that environment-specific constraints and requirements are met.
According to Micro Focus it is advised not to deploy code in different ways simply because you are moving from test to production.
Repeatability and consistency are the keys to successful, accurate, and speedy delivery. Ensure that all artefacts are deployed from the same source location or artefact repository.
Applications and environmental architecture
The clamour for DevOps and CD adoption at enterprise levels often fails to take certain applications into account that are architected and implemented in a way that makes CD impractical.
Continuous Delivery is highly appropriate for web-based or mobile applications, given the volume and velocity of changes common in development of these types of applications.
Any enterprise that undertakes Java or .NET application development is very likely to have Continuous Integration or common build processes in place. Older “legacy” technologies may be less appropriate initial targets for CD. However, many organisations try to prove capability by undertaking the hardest challenge first, which often leads to failures or poor rates of adoption and low returns on investment.
Enterprise application portfolio
An enterprise application portfolio can be one of the determining factors for an organisation’s readiness for DevOps.
An important question to ask about a business-critical application is whether it can support this new world of rapid change. If not, that could be a signal that it is time to rework or replace that application with one that is architected for CD. It should be noted that this can be a costly and time-consuming exercise.
Organisations can determine the capability of applications by going through a realistic portfolio analysis, and overlaying that with a detailed business analysis of the value of the application.
High business value, low complexity, and well-architected products are a natural starting point for any enterprise CD strategy. Pick the right applications and gain traction first, then spread to the rest of the enterprise later.
This article was published in partnership with Micro Focus.