DevOps and ITIL: Why Can't We Be Friends?

6347903993_4d1370e4d8_zThe IT world we know and love exists today thanks to the bedrock of the IT community: ITIL, the IT Infrastructure Library. Since ITIL’s inception 26 years ago, the world has changed and an app exists for everything – shopping, messaging, ride sharing, or just staying connected via social media. We’re in the midst of a new technological age. This evolution has been guided by agile methodology and now, with the rise of cloud computing, many teams are embracing DevOps.

The consumerization of technology is changing expectations of IT. And IT has pressures to live up to these expectations. Because the pace of innovation is largely driven by DevOps and agile methodologies, IT must adapt. To do this, ITIL must support an agile environment. By working together, these practices reinvent how IT teams deliver reliable services to the business, faster.

DevOps and ITIL working together

Developers want an agile process – and it’s best for the organization that they have one. This means having a frictionless release process, and continuously improving software for customers.

ITIL’s framework is hyper-focused on reliable service delivery and support, with its feedback loop based on incident management. ITIL can combine with agile to get the best of both worlds: better software and a reliable, stable environment.

How agile saves the day

376591423_c0b3889fc6_m

Real world example – the Service Desk received reports of a slow loading login page. The underlying issue is confirmed by a bad Apdex score (a user satisfaction score reported by New Relic). The problem might be a runaway query so the development team implements the bug fix into their next sprint, which happen on a weekly basis. From incident to resolution, turnaround time is two weeks.

Using ITIL to support Agile and DevOps

Agile incident management

Maximize your team’s bandwidth with sprint planning. Reserve 30-40% of your team’s capacity for operational tasks, where priority 1 and 2 incidents are resolved immediately, and lower priority incidents are resolved within bandwidth. This means that incident management doesn’t affect sprint goals.

Agile problem management

Trim down on time-wasting administrative work. Manage problems as user stories in a product backlog. Don’t separate “incidents” and “problems” – everything should be cohesive. If a problem occurs more often, it should have higher priority in the backlog.

In ITIL orgs, there’s an assumption you’ll need multiple instances of an incident before starting problem analysis.

Instead of waiting for incidents to pile up, detect and solve problems faster with automated monitoring. Link monitoring tools to your incident management system to identify the cause of problems earlier and get it restored faster.

Agile change management

When it comes to change and releases, many IT orgs drown in bureaucracy related to heavy processes. That can change.

In a DevOps environment, releases are frequent. ITIL framework combined with DevOps means development, operations, and support are always collaborating. It means change requests link from incidents and problems. Issues related to changes are added to a developer’s backlog and allocated to their sprint.

In the end, there’s no budding conflict when it comes to these methodologies. It’s all about making processes leaner, making data visible and enabling faster resolutions. With the right practices, the ITIL framework supports the agility of DevOps.

Author bio:

Sid Suri is the Vice President of Marketing for JIRA Service Desk. He’s worked in various technology roles over the last fifteen years at Salesforce.com, Oracle (CRM), InQuira (acquired by Oracle) and TIBCO Software. An expert in the intersection between IT Support and DevOps, Sid helped create the detailed ebook, “How to Enhance IT Support with DevOps”.

 

Image credit
Image credit

How to Transition from a Reactive to Proactive Support Center

 This article has been contributed by Sid Suri, Vice President of Marketing for Atlassians’s JIRA Service Desk. 

Sid Suri, Vice President of Marketing for Atlassian's JIRA Service Desk
Sid Suri, Vice President of Marketing for Atlassian’s JIRA Service Desk

For years, support centers have focused on reacting to problems. According to research from SDI (Service Desk Institute), 67% of of a service desk’s time is spent firefighting. This reactive approach often leads to burnout and a lack of processes that can scale. On top of that, support centers are faced with the ever present challenge of scaling their services, decreasing costs and showing value to their business constituents.

We’d all prefer a situation where IT teams didn’t have to wait for their queue to fill up with angry tickets before they looked into a problem. What if a failing machine knew it was failing and sent out an SOS? Imagine seeing several of those SOSs as things got worse, so that all the right experts could spring into action, saving the poor server before it collapses completely. Sounds like science fiction? It’s not. It’s a new wave of IT and DevOps that aims to take a proactive approach to IT.

Here are four ways you can get started:

1) Set up server alerts

Often, support teams find out about problems after customers do. When it comes to servers, problems like high load, outages, or full disk space can be fixed before they snowball. Smart IT teams set up CPU or memory alerts to notify the team when things are heading towards a bad place, either by watching the server or running smoketests at regular intervals. This lets them correct an issue before it actually becomes a problem.

2) Monitoring automation

Along with setting up alerts, you might want the machine to do “something” according to every response. Proactive support means automating monitoring with the right combination of tools (application monitoring, service desk, chat and more). Here’s how you might automate the escalation process for a server issue:

  • Whenever servers hit a low threshold, send a chat message to the service desk room to notify all team members.
  • If it hits a second threshold, then open a service desk ticket and add a history log to the ticket.
  • If it hits a third threshold, then automatically contact the on-call engineer directly by phone or SMS.

3) Get smart with ChatOps

When urgent issues come in, they need fast answers. Often, managers aren’t notified right away, resulting in lost time. Other times, domain experts need to get involved and aren’t quickly reachable. Many chat applications help overcome these challenges with real-time messaging. This means you can collaborate and solve problems in real-time, involving all the right experts instantly.

More than just chatting, what the DevOps community is now calling ChatOps, is about integrating bots and plugins to a standard chat application to automate tasks. With a chat bot, you can get notified of any critical tickets that need to be assigned right away. Mentioned previously, you can also set up server monitoring bots that send out notifications if there’s ever a problem, so you stay ahead of issues. More advanced chat bots let you type commands that fetch information, execute deployments and more.

4) Deflect repetitive issues with self-service

Taking a break from bots and automation, an IT team can also be proactive when it comes to repetitive incidents (and there is no shortage of those).

Here are the costs of support, according to industry standard:

  • Level 3 support is around $100 per contact.
  • Level 2 costs are $45-$75 per contact
  • Level 1 is $12-27.50 per contact.
  • Self-service, or Level 0, is 10 cents or less.

As organizations grow, self-service reduces cost per incident whereas manned incidents will rise in costs with company growth. If growth and costs are concerns for your support team, implementing self-service is a great way to proactively solve repetitive issues. This means developing a knowledge base for customers to access and self-serve answers to their problems.

The transition from reactive to proactive IT support is happening now, and it’s more than just getting the right tools – it’s a cultural transformation. It’s about taking traditionally separate functions and encouraging cross-team collaboration – like passing information between IT and development teams. These two sides combined, tools and culture, help break down silos across the organization.