The following is a guest post by Robert Kelley, Director of Delivery Engineering at IHG, based on his session at CloudBees Connect. His full presentation is available below.
You may not necessarily recognize the company name IHG – the company I work for – but I bet you’ve heard of our brands and stayed in our hotels. They include household names like Holiday Inn, InterContinental, Crown Plaza and many more. IHG stands for the InterContinental Hotels Group and we’re one of the world’s largest hospitality groups in the world. IHG operates 6,000 hotels in more than 100 countries. And we’re growing fast: IHG currently has 1,900 hotels in the pipeline for opening.
It takes a lot of software to run a global operation of this size, especially one that’s growing so rapidly. IHG employs hundreds of engineers around the globe to build and deploy the business applications and systems that keep our company competitive and growing. As the director of delivery engineering at IHG, which is our DevOps program, I’m tasked with empowering these developers with the tools and processes they need to be productive and successful at their jobs, helping translate their work into business success for IHG.
That’s a tall order for any engineering organization and ours is no exception. But we’ve forged ahead on our DevOps journey, starting by putting together a business case and setting some high-level goals and ambitions for our teams. Our list includes adding more automation and certification to our delivery flows, improving our processes and gaining more transparency and visibility into performance. Of course, we want to support innovation to keep our business ahead of the competition.
After finalizing our goals, we “took them to market,” which in our case meant sharing them with the software development community here at IHG. What could go wrong, you might ask?
Well, right out of the gate we discovered there were significant differences among the teams, their cultures and their tools and processes. The disparity left us struggling to bridge the gap between where we wanted the teams to go, and where they thought they were going. This was going to be a tougher journey than we expected. We had to fail fast and learn quickly.
Rethinking standardization
It became clear we needed to rethink our approach and how we engaged our development community. Recognizing that one size doesn’t fit all, we decided to take more of a consultative or service mindset, focusing more on people and engaging our developer community. After all, we have a lot of smart developers with great ideas that represent an incredible value opportunity.
Our approach features a comprehensive communications plan designed to motivate developers to embrace DevOps. We’re looking at gamification strategies, for example, that would make it fun for people to engage with the program, share their accomplishments and track progress toward reaching their goals. We also want to help team members reduce the amount of time they need for build and deploy processes, so we’re introducing more automation, including developing a semiautomated onboarding process.
Moreover, we’re involving developers in a transparent governance process – one that’s not simply a rulebook handed down and controlled by a third party or some other group in the organization, but one that’s shared and co-developed by our teams. Everybody’s represented in the governance process. Teams from application development, testing and quality, infrastructure and operations, security – and of course the DevOps group – all have a voice and work together to define quality gates and other requirements. It’s a true “voice of the customer” approach that puts developers’ needs first.
Supporting developers
To tame the complexity of our environment, we’ve taken steps to achieve some consistency around things like testing, merge processes and build and deploy routines. However, we never want to hamstring developers by over-defining process flows, so instead we provide teams with simplified workflow or pipeline templates that should work for just about any application.
I’m proud to report that our teams have been making huge progress along our DevOps journey. We've helped build about 40 pipelines for dev teams and we’re working on even more. Performance is up: Teams are now able to move a new version of an application to production in less than 30 minutes, compared to taking a week previously. And it now takes less than two hours to deliver applications to eight datacenters worldwide, with no downtime.
We’re also tapping the insights of our developer community by creating an InnerSourcing model where virtually anybody who has a good idea can add it to our code base to benefit the whole organization.
This is just a small sampling of our recent successes. And it’s all happening without micromanaging our developer community. The way we look at it, we’re here to enable and guide our teams, not dictate their choice of tools and processes. By allowing for a diversity of approaches – by embracing not replacing – DevOps is empowering developers at IHG to unleash their creativity and help drive IHG’s next round of growth.