The benefits of adopting DevOps are numerous: shorter release cycles, swifter issue resolution, and faster delivery of features. So much so that the practice of bringing your developers and your operations staff together in one integrated team is becoming the gold-standard for IT development and delivery.
We can all agree that it’s a great concept – but how do you actually get there?
It is both easier – and harder – than you think. Building the right culture is a key component of successfully adopting DevOps. It’s relatively easy to learn a new tool or tactic, but cultural changes can be more complex.
Here are a few ways to foster a DevOps culture for your enterprise delivery team:
1. Resist the urge to create a separate “DevOps team” and instill an attitude of your technical teams that “We are DevOps”. This doesn’t mean that your ops folks need to be fluent in every new web framework (though that would be nice) or that all your developers need to understand how to configure a reverse proxy or load balancer (though that would be really nice).
2. Encourage rotation of technical staff between handling more ops oriented tasks and picking up application development tasks. Some folks will always have a strong preference for one or the other. That’s fine. However, you always want cross pollination of skillsets, and in doing so you’ll find much less of a need to create a separate DevOps team.
3. Involve the product owner in planning for ops oriented tasks. Standing up web servers, scripting application deployments, configuring SSL. These are all fairly low-level tasks that teams often struggle translating to business user stories. But don’t neglect the business owner when planning technical ops tasks. Explain tasks in plain English to get at the business value of why they are important. Use a task board that the customer can see and ask them to help prioritize tasks.
4. Involve ops team members in planning and demos for application functionality. Historically, siloed ops teams didn’t understand the business value or functionality of the applications they supported. Not so with DevOps. Everybody on the team has a responsibility for delivering value, and in order to do so you must understand the business need for what’s being delivered.
5. Keep your release cycles short. It’s quite amazing the impact that frequent production deployments can have on bringing teams closer together. Short turnaround times require that rigid processes and communication barriers be broken down so that people depending on each other can deliver fast.
6. Use tools that Dev and Ops understand and like. Slack is great for real-time team communications. New Relic provides valuable insights for application developers and ops folks. There are any number of commercial Agile task boards, but Trello gets it done.
What tactics work for you to help foster a DevOps culture?