Here’s the million-dollar IT question: what is DevOps and why does it matter to IT support?
Short answer: DevOps advocates collaboration between Development and IT Operations. It’s about constant communication, breaking down silos and a culture of collaboration. The DevOps movement has made great headway and many companies have adopted and are employing DevOps practices – Netflix, Amazon and Google to name a few.
But where do IT support teams fit into a DevOps environment?
When developers launch new features and services, it’s the support team that deals with issues and interactions with frustrated customers. Change is often the enemy of stability. But because innovation can’t be stopped, IT support teams need to catch up. That means making their operational environments resemble the way their software is developed. The problem is that IT agents and developers have different methodologies, work in different systems, and practically subscribe to different technology religions.
The silos only exacerbate the challenges that the support team ultimately faces:
- Scattered data limits incident and problem understanding.
- Deployment failures have a high risk of downtime. And too often, changes are made that IT support doesn’t know about.
- Support feedback often represents customers, and doesn’t always get communicated to development, product owners and product managers.
DevOps is ultimately a culture change. When all teams commit to a collaborative approach and common goals, it can shift the entire mindset from silos to working together to deliver better services. Agile, Lean and Kanban are popular approaches that facilitate rapid iteration, learning and information sharing. This means you shorten the feedback loop necessary to drive business agility.
CAMS, DevOps and IT support
How do we put DevOps principles into practice for IT support? Over the past 20 years, IT has built up a strong governance model based on ITIL and that can’t be forgotten overnight. While putting new practices isn’t easy, the best way to make big concepts real is a model that covers people, processes and systems. Luckily the CAMS mode coined by Damon Edwards and John Willis at DevOpsDays Mountainview 2010 [1].
It stands for Culture, Automation, Measurement and Sharing.
Principle 1: Culture
The model leads with culture, as it’s the most important facet to DevOps. Support teams learning from and supporting DevOps practices requires a cultural shift. While command and control is comforting, DevOps calls for speed and agility. Daily or weekly rituals can facilitate this cultural shift. Some rituals you can apply to your IT support team include:
- daily standups
- chatrooms
- scrum, sprint planning and retrospectives
- kanban frameworks
Be sure to focus on results, not just the activities. It’s not about the number of changes but the results of those changes.
And finally, understand team behaviors. Culture is a result of habits. You need to understand how your team works together, and what you can improve.
Principle 2: Automation
To move fast, you can’t do everything by hand. Automation is another principle of DevOps, but is most effective when it supports the people and processes in place.
Go from trapped knowledge to shared knowledge
- Known errors should be tracked at the time of deployment and communicated to support. Sound simple? You’ll be surprised how often it doesn’t happen.
- Support should link articles to incidents and problems, so everyone understands what’s causing the issues
Shift from orphaned tickets to linked tickets
- All teams should be responsible for ticket linking and documentation- including the service desk, admins, developers, and operations, so everyone knows what’s going on.
- Link incidents, problems and requests to all associated changes and releases.
Don’t just deploy, but support
- Continuous integration, continuous delivery, and continuous deployment are core to the First Wave of DevOps – thinking about the performance of the overall system. Support needs to be prepared to support, operate and ensure their ability to restore services. They need to know what’s being deployed and when, so they can give the right answers to the customer.
Help with testing
- Automated testing is key to a DevOps environment. Every time a developer commits code, they need to make sure all the code is operating the way it is expected to. If it breaks, tests can catch failures before anything is deployed and delivered. Support teams hold data about various customer environments that should be continuously fed back to testing.
Keep up with monitoring data
- Proactive monitoring helps developers stay ahead of problems before they snowball. In the same vain, support teams can identify customer problems faster by keeping aware of proactive monitoring and linking it back to their own incident management systems.
Principle 3: Measurement
Keep track of metrics that matter. Once you’ve established your individual and team goals, It’s important to measure how you’re tracking to those common goals. How long does it take to recover from failure? Try measuring ‘Mean Time To Repair’ (MTTR) and whether it increases or decreases over time. Here are a few other metrics your support team should keep in mind:
- How many repeated issues do you have? Measure repetitive incidents and how often they occur in a period.
- Are you meeting your targets? Measure service level targets in your service level agreements and operational level agreements in the context of deployments.
- What are your costs? What’s your cost per incident, along with the total cost of support? Take this in context with downtime costs. In some cases, increasing support costs may be the best thing to do to minimize impact to the business.
Principle 4: Sharing
And lastly, when it comes to sharing, ask yourself these questions:
- Does the organization understand what we’re doing? Do we share that understanding?
- Do all teams understand each other’s goals, hardships and priorities?
- Does your team’s outputs of processes flow with other team’s processes?
- Is knowledge shared across teams? If it’s in a system, is it accessible?
- How is your team collaborating with others? Are there unbarred channels for communicating?
- Are the right stakeholders kept in the loop of your projects, even if they’re not in your immediate group?
- Do your IT groups – development, operations, testing, support and even the business – share ownership of successes, failures and learnings?
- Do teams share tools and information? If not, do those tools integrate with each other?
Faster, better IT service is about culture, sharing and tools that enable your teams
A collaborative culture is critical to success in DevOps. Aligning support and development can help your organization understand what services the business wants and needs to be productive.
About the Author/Sid Suri
Sid Suri is the Vice President of Marketing for JIRA Service Desk. He’s worked in various technology marketing roles over the last fifteen years at Salesforce.com, Oracle (CRM), InQuira (acquired by Oracle) and TIBCO Software. He has an MBA from the Haas School of Business and a bachelors in Economics and Italian from Middlebury College. He lives in San Francisco, California.