DevOps is often vaguely associated with agile, but has just as much in common with lean. At its core, DevOps is about growing a culture and mindset that strives to understand the capabilities and constraints of development and general business operations. DevOps is about good development practices that continually deliver product features effectively with minimal wasted efforts, which are overseen by good governance controls. DevOps is thus a combination of Agile, Lean and ITSM, with automation, continuous build, integration and delivery as important enablers.
In a 2010 study of agile practices, 84% of respondents rated the agile principle of business people and developers working together the most important. The second most important principle was achieving customer satisfaction through early and continuous delivery of valuable software. The agile approach is designed to drive shorter feedback loops that ultimately improve customer value by developing software in a collaborative, iterative and incremental manner.
Manufacturing took many concepts from leadership practices and learned how to remove constraints along the flow of work using a variety of short feedback loops. The core idea behind lean is maximising customer value while minimising waste. Simply put, lean means creating more value for customers with fewer resources.
There has been a long-time cultural connection between Agile and Lean in the IT field, with consistency of purpose, respect for people, pursuit of perfection, voice of the customer, quality at source, systems thinking and flow (pull system) as the most important building blocks.
ITSM (Information Technology Service management) is a quality management approach for delivering IT services that meet the needs of the business by focusing on the effective and efficient operation of internal processes. Again, there are several ITSM frameworks, but the most widely known is ITIL (Information Technology Infrastructure Library). There are five lifecycle stages in ITIL version 3:
- Service Strategy
- Service Design (development)
- Service Transition
- Service Operation (operations)
- Continual Service Improvement (CSI)
The last stage has many similarities to the lean concept of Kaizen.
Like agile and lean, CSI uses methods from quality management such as the PDCA cycle. And like the Agile Manifesto, ITIL states some essential principles and values. For example, in ITIL a service is a means of delivering value to customers by facilitating outcomes customers want to achieve without the ownership of specific costs and risks. It also breaks down service value into two parts - utility and warranty, where utility is a service’s fitness for purpose while warranty os a service’s fitness for use. Utility is simply a service’s functional requirements, while warranty includes availability, capacity, continuity and security.
In terms of DevOps, Service Design and Service Operation have considerable relevance because of the DevOps activities that make up these two ITIL life cycle stages. Service Design includes processes for service-level management, availability management, capacity management, IT service continuity management and information security management.
ITIL 4 was released in 2019 and expands on the previous version by providing a practical and flexible basis to support organisations on their journey to the new world of digital transformation. It provides an operating model for the delivery and operation of the IT components that fosters team integration. ITIL 4 also provides a holistic end-to-end picture that integrates frameworks such as Lean, Agile and DevOps.
The goal of DevOps is to enable cross-functional relationships between the development and operations groups, thereby enabling the two to work together to ensure IT services are transitioned to the live environment without problems. The specific skills and knowledge needed for a DevOps implementation will vary based on the infrastructure and business focus. This adds to the challenge of implementing DevOps because there is a clear lack of universally accepted skills and knowledge. The growing consensus within the DevOps community that DevOps = Agile + Lean + ITIL helps to establish a common set of base skills and knowledge that transcend business environments and tool chains.
Organisations that focus on cultivating these skills and knowledge will enhance their ability to build cross-functional processes and also use appropriate technology to enhance an overall collaborative, automated DevOps environment. ITILs Service Design and Service Operation processes can clearly adapted for DevOps as these processes and the generic functions will still be necessary. Similarly, agile can adapt ITILs Service Transition processes that help monitor and control service delivery, such as change management, service asset and configuration management, and release and deployment management. In addition, lean workflow concepts can better improve most ITIL processes.