As technology acceleration forces companies to release software faster, and with teams and technology increasingly distributed, it's never been more important to assess how you are approaching your engineering and dev ops environments and tools. This is especially true considering that companies that 'get it right', outperform their peers by a factor of 2.
In this article, we assess both the technology and cultural considerations of using Spinnaker to keep pace as more organizations adopt continuous integration and continuous delivery (CI/CD).
CI/CD Is Here to Stay. So is Spinnaker.
You’ve got to get code to customers faster and more reliably. And, that code is being generated from a distributed environment and workforce. Now more than ever, you need a platform that enables this. More companies are turning to Spinnaker to address this challenge. Spinnaker is an open source, multi-cloud, continuous delivery platform that helps you release software changes with high velocity and confidence.
Netflix uses Spinnaker to deploy more than 95% of its infrastructure in AWS, comprised of hundreds of microservices and thousands of daily deployments.
Netflix is on to something. Adopting Spinnaker also enables:
- A common delivery mechanism
- An internal platform for release, delivery and deployment standardization
- Simple, repeat deployments
- Increased automation
- Automated cloud scaling
- Single-pane-of-glass views
- Easy management across hybrid cloud platforms with deployment to all providers in the same pipeline
- An extensible architecture that hooks into external tools and platforms (e.g. events, notification, pipeline orchestrators, authentication and authorization)
Learn more about the benefits of immutable infrastructure here.
The technical reasons for adopting Spinnaker are clear. As you join forward-thinking companies in adopting CI/CD, the shift to a distributed technology also requires a cultural shift to a distributed engineering and dev ops human culture.
Cultural Shifts in CI/CD Organizations
In addition to the technical considerations of using Spinnaker to keep competitive, there will be demands on your management style and decisions as you move to continuous integration and continuous delivery (CI/CD).
The world of top-down command and control is in the rearview mirror – or it should be if you plan to keep your company competitive. The shift to distributed technology requires a shift to a distributed organization as well. If all decisions need to run up the chain of command, you have already lost. If you hold on to outdated management methods, you risk becoming the main obstacle to progress, instead of an innovator who enables the rapid, constant releases required to stay competitive.
Why You Should Care
Your team’s ability to deploy better software, more rapidly, drives overall organizational performance, according to Nicole Fosgren, Jez Humble, and Gene Kim, authors of Accelerate. “The data shows it drives things like profitability, productivity, and market share.” By adapting your organization’s culture, you can improve “organizational outcomes and technological capabilities,” says Fosgren.
Because it developed Spinnaker, Netflix is the gold standard for both technology and culture in CI/CD. Every single person in the company is focused on delivering product. There’s no division between its technical and engineering community, its product community, and its sales and marketing community. This distributed team system allows for the automated pipeline to run smoothly. But Netflix built its culture from the ground up as it launched and refined its CD business.
Unlike Netflix, you most likely don’t have the luxury of converging your technology processes and human culture from the ground up; this would require a wholesale reinvention of your business model. The good news is, you can empower your team by considering 3 primary culture shifts that will enable successful CI/CD in your organization.
Culture Shift 1: Empower Your Team
It’s critical to intentionally foster an environment where your team can perform at its highest. Google studied nearly 200 high-performing teams for almost 2 years and identified 5 common traits. Is your leadership style fostering these traits in your teams?
1) Psychological Safety (feeling comfortable taking risks)
- Team members are more likely to admit mistakes, bring in more revenue, and are less likely to leave
- Team members meet expectations, and meet them on time
3) Structure & Clarity
- Team members have clear goals and well-defined roles
- Team members feel their work has personal significance
- Team members believe their work is purposeful, so they work harder to be successful
Culture Shift 2: Distribute Responsibility
Just as your pipelines are distributed and automated, your CI/CD teams today are likely geographically distributed. If decisions need to be run up the leadership ladder, quick and efficient software releases will grind to a halt and your teams will feel disempowered. It’s critical that decisions and code corrections can be made at an individual or team level. Team members will feel psychologically safe and empowered to own their contributions.
Culture Shift 3: Embrace Failure
Unlike waterfall or Agile development approaches where the goal is 100% perfection, a major paradigm shift in CI/CD is accepting that systems will fail, according to Humble. Your leadership style also needs to shift in parallel. “If you’re seeing a system failure and looking for who to blame, your own thinking needs an upgrade,” says Fosgren. Instead, look for what you can learn from the failure. With continuous delivery, new ideas are the lifeblood of system maintenance. When you learn to reframe failures as learning opportunities instead of assignments of individual fault, your team will feel empowered to do better work.
Adopting a CI/CD software approach requires an increased pace of innovation that will demand both technology and cultural adaptation from your organization. Getting it right takes the right tools and mindset, but the competitive advantages will ultimately make it worthwhile. When your entire team is standardized on a common delivery platform like Spinnaker and you can easily transition people and resources, you can be confident in your ability to release quality software rapidly. Your customers – both internal and external stakeholders – will thank you.