DevOps & Service Management: Agile Collaboration
Introduction
As an avid advocate for Service Management and DevOps, I am thrilled to share my insights on how automation, integration, and trust can bridge the gap between these two worlds. By leveraging the principles of DevOps, we can infuse speed and agility into service management practices, without compromising on governance and controls. Let's explore the key areas where this convergence can revolutionise our work.
Automation and Integration: The Best of Both Worlds
Traditionally, ITSM-based tools have leaned towards governance and process, sometimes sacrificing speed and agility. However, as DevOps pulls operations staff into the DevOps process, service management has taken a back seat, sacrificing its prominence.
By embracing automation and integration, just as DevOps preaches, we can merge the strengths of both approaches. Simple integrations and automation, such as status updates, can provide operations with the necessary information while reducing the burden on development teams.
Consider updating ITSM workflows with backlog and sprint statuses, and automate these processes within your DevOps application to update the service management workflow. This way, Service Management stays informed when a problem enters the backlog or progresses into a sprint, enabling swift action and seamless collaboration.
Addressing the issue of customer communication should be a significant focus. Ensuring requests reported by customers should not disappear into a black hole, but rather receive proper attention and updates throughout the resolution process.
Change Management: Breaking Free from Restrictions
While crucial for ITSM, change management has often been considered restrictive and unpopular among engineers and developers. As a consultant, I've witnessed the ingenious ways teams circumvent these processes, often out of necessity.
I recall the intriguing approach I adopted during the initial days of an assignment. I observed how engineers and developers strategised ways to bypass the change process. This surreptitious listening proved invaluable in understanding the ground reality without requiring extensive and repetitive meetings.
I discovered a lack of conformity with the change process, driven primarily by necessity and frustration with a poor change management system that hindered the smooth flow of changes into production.
This revelation served as an eye-opener, pinpointing the areas where improvements were urgently required. To my surprise, senior management often remained oblivious to this reality.
Such resistance stems from cumbersome change procedures that hinder the smooth flow of changes into production and hence hinder DevOps objectives.
Let's introduce simplified changes based on previous sprint releases' quality and historical success rates to address this.
By pre-approving changes proven to be successful within a sprint, we can strike a balance between fostering agility and maintaining quality. Regularly assess and refine this approach to adapt to evolving improvements or adjust the number of changes per sprint if the quality declines.
Building Trust between Operations and Development
Over the years, service management and development teams have formed a rift due to divisions and adherence to strict processes. Trust must be earned on both sides to establish a more collaborative environment.
Starting small is key, gradually increasing the number of changes in each sprint or release as confidence and key performance indicators (KPIs) improve. Strive for a harmonious equilibrium between the speed of changes and their quality.
Releasing a large volume of changes without considering the repercussions only leads to more work and fewer resources for innovation. By nurturing trust through incremental progress, we pave the way for better collaboration and results.
Effective KPIs: Measuring Success and Enhancing Trust
Measuring the success of changes in production qualifies accomplishments and reinforces trust between teams. Initially, it is essential to ensure changes happen, avoiding overly restrictive change processes. Tracking changes, even at a basic level, is preferable to being unaware of their occurrence.
Accurate KPIs provide valuable metrics, but it is vital to establish a shared understanding of what constitutes a successful change. Consider factors such as the absence of issues associated with the change post-deployment and successful production implementation.
Communications: Transparency and Confidence
Maintaining open and accurate communication with customers is paramount. Early communication becomes crucial when aiming to increase the speed and frequency of deploying changes.
Unlike traditional change management practices that allow for weeks of lead time after testing UAT and customer lead times, a DevOps approach requires more timely updates. Start by providing customers and operations with a list of upcoming features at the beginning of a sprint, updating it throughout the development and UAT phases.
Example:
This iterative communication approach reduces the overall cycle time, ultimately delivering features in a shorter timeframe. As trust solidifies, involve customers and operations during stand-ups. Minimising the feedback loop ensures a better understanding and minimises the risk of rework, overcoming the age-old challenge of aligning expectations between customers and IT.
Embracing ITIL® Principles for Continuous Improvement
Throughout the integration journey of DevOps and ITSM, we should not disregard the valuable lessons learned from ITIL® over the past 20+ years. Continual Service Improvement is equally crucial for DevOps integration as ITSM. One could argue that it holds even greater significance.
We must acknowledge that achieving perfection on the first attempt is unlikely. Instead, we should adopt process improvement methodologies like Demming's PDCA cycle (Plan, Do, Check, Act) and schedule regular quality meetings with our development and operations teams.
Moreover, we must not forget the core tenets of ITIL®: People, Processes, Products/Technology, and Partners. Above all, nurturing a culture of open communication, problem-solving, and leadership is key. Cultural change takes time, so let's embark on this journey together, valuing our teams' feedback and fostering a supportive environment.
Conclusion
As we strive to find the perfect balance between Service Management and DevOps, integrating automation, trust-building, effective KPIs, streamlined change management, and transparent communication can revolutionise our approach to delivering IT services.
Embrace the principles discussed here, but remember, the journey is ongoing, and embracing a continuous improvement mindset is crucial. Good luck on your path to success!