Call it the buzzword of the decade, but DevOps has permanently shifted the way development teams and organizations approach their work. DevOps adoption rose from 66% in 2015 to 74% in 2016, and when something is popular, there’s always a tendency to want to ride the rapids and hastily jump on board.
Consequently, many large companies err in rushing to adopt the practice for the wrong reasons. They searching for "experienced DevOps" or "senior DevOps" partners to join their software teams, and software companies cash in on the opportunity by offering tons of DevOps candidates to these organizations.
But the thing is, implementing DevOps isn’t as simple as hiring one person or a team of experts. DevOps is a culture that needs to be embraced by the entire organization. It’s a comprehensive, collaborative, and cross-team approach to managing the software development processes, one that relies heavily on automation and sharing—something smaller startups typically do well. Once implemented, the culture removes silos and focuses on delivering real value.
So how can you correctly help your team embrace DevOps if you haven’t implemented it off the bat? Consider these three lessons before beginning the transition.
DevOps is not a role or a set of technologies
We often receive calls from companies, looking to hire DevOps experts to join their teams. But to those of us who work within a DevOps environment, this doesn’t make sense. While companies probably do need their teams to produce within a DevOps culture, it’s clear that they don’t understand how the process functions as part of an organization. Because, simply put, DevOps is not a role.
It’s almost impossible to hire an outside DevOps team and expect it to magically implement a functioning DevOps environment. Rather, the transition requires a strong cultural shift—with each team member becoming aligned with DevOps collaborative practices and philosophies and working together to integrate long-separated systems and activities within an organization. So while many seek to hire new DevOps experts, it isn’t actually necessary. Companies need to implement the change from within.
There’s no diving into DevOps head first—rather we need to become acclimated to it inch by inch. Just as hiring one expert and expecting the rest of the team to match that person's level of expertise isn’t realistic, deploying DevOps technologies—or DevOps-related tasks—doesn’t mean you’ve implemented DevOps. Practices such as continuous integration (CI), continuous delivery (CD), and configuring Docker won’t do your team any good if its members don’t truly understand how they function and how they correlate to DevOps processes. You’ll end up with software full of bugs in production or with unstable software and infrastructure, resulting in broken builds.
For example, many years ago I was part of a product development team with a unit test coverage of over 85%. While we had CI in place, the developers didn’t understand the purpose of the test automation. Instead, they just wanted coverage level from the CI server, so didn’t bother to check to see if the tests were actually useful or not. It goes to show that a team needs to first embody the culture before rolling out new technologies.
You can train DevOps champions to oversee adoption
While hiring an outside expert won’t wondrously make an organization value DevOps philosophies, you can train DevOps champions within your team to help everyone embrace the shift.
Since DevOps advocates care for software—from conception to production—DevOps champions need to be motivated by customer and business objectives, to help promote a sense of ownership inside the team. They need to be strong and respected leaders—but most of all, they need to be well-versed in DevOps culture and understand how it benefits the organization.
So how can DevOps champions approach the transition? They need to coach the team to understand and implement the core DevOps values: culture, automation, measurement, and sharing (CAMS).
They must work to foster an environment that encourages people to ask questions, cooperate with and learn from each other, and innovate and try new things. They need to teach the team the importance of automation, in order to save time and build consistency, and then measure improvement through data that’s accessible to everyone on the team. That way, there’s a clear understanding of why certain processes need to be changed. Finally, they need to encourage sharing tools to increase efficiency and create a higher level of engagement among employees.
A team getting into DevOps without a champion will likely start implementing in the wrong order, and it will certainly make mistakes that can be avoided—not understanding the purpose of test automation, for example. DevOps is a hard path to go down, and empowering teams is a long-term process. In fact, we’ve seen teams completely push back on DevOps—so, in this case, the champion focused on a few keen people and grew their teaching efforts from there. A learning curve will certainly arise with or without a DevOps champion, but speed and clarity of goals will greatly improve with an expert champion on board.
Overall, DevOps champions should encourage developers, quality analysts, business analysts, system administrators, and many others to share a collaborative, iterative, and committed approach to their work. And for added DevOps support, it’s also a great idea to turn to experts or partners in the industry who have already made the shift. This allows for transitioning teams to understand the best practices, but also learn from other organizations’ mistakes.
DevOps experts provide guidance, specialized skills
While everyone needs to understand DevOps processes and value the collaborative approach, not everyone on the team needs to be an expert in DevOps technologies. With complex problems, it’s fine for DevOps champions to configure the tasks and lead the way. While startups might require less specialized team members—everyone needs to help out with every part of the process since the team is usually more interconnected—bigger teams may require multiple DevOps champions for complex technical execution, and they may need to keep the scope of each project clean.
And here’s the great thing: Once the entire team understands the culture and practices of collaboration-based work, the DevOps champions can move on to help other areas of your organization, or they can turn their focus to implementing sophisticated techniques, including ones such as autoscaling, complex monitoring, and high availability.
While it’s tempting to hire a team of DevOps experts and quickly deploy the technologies, there’s really no cutting corners when it comes to transitioning to DevOps. Implementing cultural change at an organization is no easy feat. But in taking the time to correctly help your team embrace the DevOps culture, one day you’ll turn around and realize that everyone at your organization is, in fact, a DevOps champion.
Keep learning
Take a deep dive into the state of quality with TechBeacon's Guide. Plus: Download the free World Quality Report 2022-23.
Put performance engineering into practice with these top 10 performance engineering techniques that work.
Find to tools you need with TechBeacon's Buyer's Guide for Selecting Software Test Automation Tools.
Discover best practices for reducing software defects with TechBeacon's Guide.
- Take your testing career to the next level. TechBeacon's Careers Topic Center provides expert advice to prepare you for your next move.