In an increasingly digital world where innovation and customer retention are ever more reliant on software, there is a growing requirement for organisations to accelerate the frequency of application deployment. DevOps has emerged as a concept that can potentially address this challenge, with successful implementations bringing increased speed to market, improved software quality and reduced operational costs.
DevOps is receiving considerable market attention and it can sometimes seem that a relatively new concept has moved up the enterprise IT agenda almost overnight. In reality, DevOps practices have been deployed successfully by cloud and software vendors for many years, where integrated software development (Dev) and operations (Ops) teams collaborate on a continuous delivery process.
Over the last decade many organisations have successfully deployed agile development techniques, however these implementations often don’t extend to the operational (or service delivery) functions. So whilst the development and testing activities are planned around short iterations, deployment into production occurs less frequently due to operational acceptance processes. As these processes were most likely developed to support waterfall type deployments, it often results in large, complex software releases that take longer to implement and carry higher levels of risk.
DevOps is not a product, technology implementation or a standards based methodology. It is more a concept (Gartner calls it a philosophy) that seeks to extend agile methods to include the operations functions. A key objective of the DevOps concept is to reduce the inefficiencies between the development and operations functions by bringing the technology, processes and people under an integrated and collaborative operating model. Adopting DevOps at an enterprise scale can be a complex undertaking and whilst the approach to implementation will inevitaby vary between organisations, there are a number of key areas that will need to be addressed to ensure success:
- Planning – The lack of an agreed framework or standards to guide adoption of DevOps means that organisations will need to plan for and implement a customised approach that will work for their organisation.
- Organisation – Development and operations teams traditionally work in separate functional silos and have different objectives in relation to delivering change versus protecting the production environment. Breaking down these silos and implementing a common, collaborative approach where development and operations are working to a common objective is fundamental to success.
- Process and Tooling – A key DevOps principle is to integrate and automate end to end processes, ensuring that performance can be tracked, managed and monitored. However, it is important that implementations initially focus on getting the people and processes components right before selecting and implementing supporting technology and tools – otherwise you risk implementing inappropriate tools or automating poorly implemented processes.
Each of these areas is critical to increasing the pace of the application deployment cycle, protecting production and to reducing development-to-operations costs. It also makes sense to start any DevOps implementation with candidate applications which are best suited to a pilot project(s). This might include applications that require regular updates (e.g. mobile or web), are based on modern architectures rather than end-of-life, and are not the most business critical to the organisation.
For DevOps to succeed it also requires buy in at all levels of the organisation, with executive support being vital. Incremental project successes can build momentum and spread the DevOps mindset throughout the organisation. The road to DevOps in the enterprise is not straightforward, however with the right planning and support, it can deliver compelling benefits.
The most obvious way to kick off a DevOps initiative is to hire experienced practitioners to lead the transformation; they are unlikely to exist internally. However, as DevOps is relatively new at an enterprise level, and such skills are in high demand, they can also be difficult to source in the market. Exception utilises DevOps methods for our customer development projects and our Digital and Technology practice is assisting organisations to implement DevOps to support the lifecycle of mobile and web applications. We are therefore able to provide a wide range of collaborative offerings to assist customers in implementing DevOps.
If you are embarking on a DevOps project or are looking for expertise to support your planned transformation, contact Exception today.Back to articles