Defining Successful Cultural Shift and a Positive Developer Experience
When you make the decision to overhaul an aging IT infrastructure and turn it into an on-demand, OpenStack powered solution, there are a lot of moving pieces. When things go wrong on the technical side, they can be fixed. It slows down progress, but it can be resolved. The employee side is different challenge. Making sure employees are engaged and ready to make the change is the difference between success and failure.
"The only way we could accomplish the change was by having strong alignment at the leadership level, a culture shift and a solid execution plan"
When I joined GoDaddy, the company was already in the early planning stages of moving to OpenStack as the basis of our new platform. We were moving GoDaddy from a traditional IT centric way of developing software and deploying IT infrastructure to Continuous Integration Continuous Deployment (CICD) and on-demand infrastructure.
With more than 13 million customers, we couldn’t just flip a switch. We have small businesses that rely on us to keep their websites and other services up and running. We were essentially repainting our airplane as it was flying.
The only way we could accomplish the change was by having strong alignment at the leadership level, a culture shift and a solid execution plan. Working with our CTO, Elissa Murphy, we quickly aligned on our objectives and jointly went to our teams to get the project underway.
First, we made the decision to move to a DevOps model for collaboration between our developer and infrastructure engineering teams. We’ve focused on bringing both our new hires, and our existing employees into the DevOps model, which has enabled us to deploy more quickly, with higher frequency and lower failures.
Then, we used OpenStack to create an on-demand platform that scales to the needs of the company. Instead of taking weeks or months to get servers set up, virtual machines can be spunup in minutes. Our developers can plan, test, experiment and push to production with little to no friction. Better still, there aren’t unused servers sitting in racks wasting precious resources.
In order to make this happen, the team needed a tremendous amount of work. This wasn’t just a technology change; it was a cultural change.
We needed our developers to change their mindset from ordering servers, controlling how their servers operated and building software in a traditional IT waterfall mode to an entirely new on-demand experience using CICD. In order for the transition to work, we needed everyone to be on the same page, from the CTO and CIO, to the front line developers and engineers.
During the last year or so, we learned a lot about the transition. For someone interested in doing a large scale transition, here are some of the most important things we learned:
• Get everyone on the same page
While it’s important for the CTO and CIO to be the same page, it’s so much more important to have everyone throughout the organization aligned to the mission. Elissa and I each had OpenStack champions on our teams that were instrumental in getting alignment across the teams.
• DevOps is the future
DevOps leads to better communication, better products, fewer errors and quicker releases. The changes didn’t happen overnight, but as the teams started putting the DevOps model into practice, they saw the results, which accelerated the adoption.
• Understand your team’s concerns
An open, honest dialogue is critical. For most on my team, the transition to OpenStack was a paradigm shift in culture. In the past, they would find out what the developers wanted or needed and went to work to deliver that. In the new model, we are now delivering new technology that changes developer behavior.
• Plan, plan, and plan
Work closely with every team impacted. We had meetings with our network, datacenter and storage teams for infrastructure planning and design to support cloud scenarios. Preparation done at the beginning of the process reduces friction later.
• Focus on A+ experiences and early wins
Solve a major pain point for your developers and engineers first—it will help accelerate adoption. We sped up infrastructure delivery from weeks to minutes. Once they were able to understand the power of platform, they were much more willing to buy-in.
• Shift the Developer mindset
Once the developers see the benefit of on-demand services, they need to understand how to run it effectively. We set clear expectations that the cloud (public or private) doesn’t behave like a five 9s server. Our developers needed to change their design and code of their programs to account for the new architecture. They needed to understand the new system can be more reliable than their previous set up with the right design.
• Automation is good for the developer and the business
Have maniacal focus on automating all manual steps across the development, deployment and operational phases. For GoDaddy’s culture, this was a huge shift from working in the traditional IT model. We needed to give our engineers the courage to automate their current job functions, with an understanding that their jobs would evolve and add more value and get more interesting.
• New hires with the right skill sets
When bringing in new team members, make sure they are well-skilled in the technology you’re moving to, not just the current platform. We made sure to augment the existing talent with folks experienced in cloud-based services helps kick start learnings and brings everyone up to speed quicker.
• Rethink your supply chain model
Look for ways to create a new, efficient supply chain model. Previously, servers were ordered ad hoc and in small quantities. Using OpenStack and VMs, GoDaddy was able to build a model with a small set of standard SKUs optimized for our use. Our developers now build services with our standard SKUs in mind. In this new model, we buy servers in bulk and they arrive in preconfigured racks for very quick turn-up. Using this new model, there are significant cost savings from an infrastructure equipment and people perspective.
At GoDaddy we are at a fairly early stage of this transformation, and we have more to do. But we have already seen significant benefits, including greatly improved alignment and collaboration across teams. We’ve also experienced much less friction and higher velocity in creating new features and services for our customers. And we have already seen positive impacts on the operating costs.
Getting all these steps right means everything in having a successful cultural shift and a positive developer experience.