Agile Best Practices in the Incident/Problem/Change Cycle of ITIL
ITIL is not in conflict with DevOps, ITIL supports DevOps with a solid foundation by providing an up to date an accurate configuration of our IT infrastructure. This, in turn, supports the ability to accurately carry out the detection of issues and underlying problems and deliver collaborative, permanent solutions to operational deviations. Further, it engages the Second Way by “shortening and amplifying the feedback loop” to development. Historically most IT organizations structure their incident, problem and change processes within a very confined view, typically utilizing these processes from an operational perspective and only marginally engaging them at the design stage of the lifecycle. ITIL should and can be adapted to DevOps practices to proactively define when incidents and problems arise while still in the design phase of the lifecycle. This means engaging both software development and infrastructure design in a way that allows us to capture these deviations proactively and engage the First Way “flow” by preventing know defects from moving downstream.
The conflict between what does arise is twofold. First, it is mainly only one of the ITIL processes being implemented with significant manual input while being overly complex. This can introduce drag or delay with “too much work in progress”. The key to resolving this first conflict is to have the structure of ITIL, yet introduce the idea of lean processes (just enough) and where possible engage technology solutions (automation/tools) that can meet the requirements of the stakeholders from both the development and operational sides of the organization. This will support the agility of DevOps without slowing it down and encourage a culture of continual learning and cooperation supporting the Third Way and begin the concept of continuous integration.
The second part of the conflict is on the development side. Scrum driven projects, and therefore the sprints that follow, are often biased towards utility. Functional requirements are given precedent with warranty constraints being viewed as an operational concern. This amplifies the wall of confusion and belief that applications are tossed over the wall and capacity, availability, security and continuity needs are something that the operational functions need to figure out. By not engaging these operational functions early on, additional time = money is needed to ensure that the service is able to deliver its intended value.
ITIL ensures that these operational prerequisites get reflected in SLRs and SLAs. By utilizing ITIL best practice and employing scrum principles together, we can make certain that both functional and nonfunctional requirements are engrained within the user stories and the product backlog. There are many instances of change throughout the product lifecycle of which the sprint or sprints are just a part. However, there is a need to address the idea of who will be approving and acting as the gatekeeper of these changes.
From an operational view change management acts as a guardian of the productive environment, identifying the risks and rewards of each change and averting any possible negative impact. At the same time, change control is also a key concern in scrum. Changes are identified and agreed to within the planning meeting. Each sprint ends with a sprint review meeting, in which the product owner inspects the implemented backlog entries and accepts the solution. The question then becomes how to coordinate these efforts and who takes overall accountability for the change? That will be something that each organization will have to define within the roles and responsibilities it establishes in this new environment of DevOps.
During the sprint, cross-functional (application and infrastructure) teams can design, build and test for all the appropriate outcomes. When deviations are encountered, change, incident and problem management techniques can be engaged for resolution and prevention of these variations being released into the live environment. The releasing of new software and hardware simultaneously from multiple sprints can mean that we will encounter multiple incidents and problems. We can apply the concept of continuous delivery /deployment to incident and problem management processes. By engaging multiple cross-functional teams in the ITIL incident and problem management processes in parallel we can demonstrate that they can work effectively within the DevOps movement.
For more additional information and resources please see http://itsmacademy.com/