In most development teams, software engineers regularly have to deal with these common pain points:
- “The code worked there but it doesn’t work here”
- “I’m always firefighting instead of innovating”
- “Testing is too difficult”
- “Operations is slowing us down”
- “Deploying to production always makes me nervous”
- “I’m always switching between tickets and tasks”
It might be surprising to learn that all of these issues can be solved by applying DevOps principles, but it’s not something that can be successfully established overnight—it requires time, dedication, and a complete, company-wide cultural shift.
“Developers are always fighting stakeholder anxiety and estimations, but DevOps helps them see the progress and become less anxious about the system,” says Erik Villa, Senior Software Engineer at Wizeline.
As explained in the post Why Engineering Teams Thrive in a DevOps Culture, a true DevOps culture is achieved when companies are positioned to continuously change and innovate. Like any change within a company, it takes a long time to reach that position, especially when legacy systems and practices are deeply ingrained into the culture.
Still, there are a few ways to speed up that process. Here are some of the secrets we’ve learned during our own DevOps transformation.
1. Start Small; Think Big
Starting out with small, simple steps is a surefire way to jump on the DevOps train and lay cultural foundations that can be scaled up over time.
Try inviting operations team members into development standups, and vice versa. This is a great way to better connect each team and introduce them to the differences in their roles and work patterns. This approach will enable them to better understand each other when the time comes to go full DevOps.
Also, think about introducing and experimenting with new tools, like these ones for continuous integration. Try applying them to small, low-value projects to allow the team to get comfortable with them. That knowledge can then be shared with others to get them on board. Over time, the team will be hungry to develop new skills with the wide variety of DevOps tools available, allowing them to innovate and shift toward a DevOps culture organically.
“Deliver something small every day. I believe that incremental progress can be the remedy for improving the speed of a team,” says Vidal Gonzalez, CTO at Wizeline.
2. Focus on Developing Self-Sufficient Teams
Once implementing practices that allow the operation to scale, it’s time to give developers more independence and empowerment to accelerate toward true DevOps culture.
“For a DevOps transformation to be successful, it is imperative to develop a bidirectional flow of autonomy and trust within the organization,” says Franchesco Romero, Senior DevOps Engineer at Wizeline. “The resulting promotion of psychological safety and visibility of work will enable teams to become true agents of change.”
For many companies, the required level of team self-sufficiency is the most challenging thing to achieve. The first step to overcome that is to educate the leadership and management teams about the many benefits of DevOps, along with why team autonomy is essential to its success. Again, starting with a small, experimental project is key, as its value can be demonstrated more quickly. It also paves the way for continuous experimentation and learning.
“DevOps is about embracing ownership, all the way from the planning, coding, and testing right up to production. Engineers should be accountable for developing quality software that creates value for end users,” says Wizeline’s Head of DevOps, Leon Garcia.
3. Embrace Automation and Transparency Early On
One of the main objectives of DevOps is to automate as much as possible, substantially speeding up delivery and improving quality. Culturally speaking, the whole organization will need to accept that robots will be performing tasks that humans once covered, and it should be addressed early on in the introduction to DevOps culture.
“It’s not just about automating tasks using software; automation is a core DevOps value and essential for leveraging Agile development practices like continuous integration and delivery,” says Romero.
Similarly, transparency allows for a better flow of communication and feedback. Amplified feedback loops are a core part of DevOps, but they will be worthless without transparency. By being fully open about where the project stands and what issues are occurring, DevOps teams can operate with much more flow, allowing them to constantly deliver value to end users without obstacles or restraints.
Taking the Plunge
Cultural change of any kind is a difficult and lengthy process, that’s a fact. However, by starting out with relatively small projects, giving teams complete ownership, experimenting with available tools, and embracing automation and transparency from the very beginning, companies will start to see the value of the DevOps culture within a much faster timeframe.
For more on DevOps from Wizeline, check out these related posts.