“DevOps is often misinterpreted as ‘everybody now does everything'”
DevOps is on everyone’s lips these days but how many companies have successfully implemented it and what are the elements that lead to a healthy DevOps adoption? We talked to Anton Weiss, founder, principal consultant and CEO at Otomato and DevOpsCon speaker, about the changes that occur in a company once DevOps is instituted and the way in which aspects like open communication and sharing can be sedimented in the company culture.
JAXenter: How is the collaboration between Devs and Ops organized at Otomato?
Anton Weiss: We’re a consultancy, so we get to see different collaboration scenarios. It definitely depends on many parameters such as company size, geographical distribution, company policies. There’s no one size fits all recipe for collaboration. However, there are a number of core guiding principles and an infinite variance of possible implementations.
The core principles are:
- Visibility: All product, Dev, QA and Ops work should be similarly visible to all parties. The ideal situation is using the same agile board for all tasks. It works best after you already switched to cross-functional teams organized around products, services or features. The outcome is, of course, having daily meetings together and fully sharing all product-related concerns. Still, in other situations, this may not be feasible. Then it’s ok for each function to manage their own backlog as long as it is adequately communicated to all their customers and service providers.
- Clear definition of roles and responsibilities: DevOps is often misinterpreted as ‘everybody now does everything’, or even worse – ‘devs doing the shit work ops should be doing’. While a true transformation does involve a redefinition of traditional roles, it doesn’t mean we should find ourselves in a mess. The goal is to get a deeper level of understanding of each other’s tasks and concerns and allow everyone to do more by enabling self-service and automation. All this while still being able to define clear boundaries of responsibilities and communication interfaces. Without well-defined interfaces, no effective communication can ever occur.
- Collaboration tools can be of great help for knowledge sharing, discussion and live communication of changes, plans, and ideas. Examples of such tools are Confluence for knowledge sharing, IdeaScale for innovation and a company chat like Slack or Hipchat. All these should be tightly integrated into your project management and delivery pipeline to ensure it’s a breathing system always up-to-date with the latest data.
JAXenter: What is the typical team structure of your IT department?
Anton Weiss: I’ll focus on our enterprise customers as these are the titans that can benefit most from adopting a DevOps-like mindset and processes.We’re talking about teams of 5-15 developers with 3-4 teams in each product unit. The QA and Ops teams are usually hierarchically separate groups. In some case managed by the same line manager, in other cases part of a separate cross-company infrastructure/QA department. Ages are 20-60, but most engineers are in their 30s and managers in their 40-50s. Most enterprise Orgs today are already trying on some kind of an agile process, so you will find roles of scrum master or product owner, even though the actual interpretation of that role varies wildly.
Big companies are usually better at hiring students and taking them through some kind of on-the-job training. Many employees start as students and stay until they get experienced enough to get a better job or until they are burnt out.
We still don’t have enough women in engineering. Here again, the big companies are definitely much more inclusive. This also relates to ethnic minorities. In Israel, in general, there’s a surprisingly low rate of Arab engineers, but in big companies, they are much more widely represented compared to startups. This inclusiveness while definitely worth every praise, presents significant challenges for enabling effective communication. It’s easy to be fast, transparent and agile with a small homogenous group. Gender, age and cultural diversity force us to think harder about how to talk and listen to one another. The outcome has great benefits for all the participants but only if we invest the necessary thought and effort.
JAXenter: To what degree can these teams work autonomously?
Anton Weiss: Once the interfaces are clear and the contracts are signed, each team can operate autonomously as long as it respects the contract. Anything that can influence the service level has to be communicated. In fact, everything has to be communicated. The delivery pipeline has to be as transparent as possible with all information out in the open.
We see a very formalistic approach (of company culture) with posters all over the walls, but no real employee buy-in.
Management should listen closely but only interfere if any core rules are violated. Management is there not to approve decisions but to define the vision and enable creativity. We strive to measure our process with the help of the 12 develops KPIs (key performance indicators) we’ve defined. These are the process metrics constantly being taken to verify we are getting better and faster instead of slowing down or stagnating.
JAXenter: DevOps also deals a lot with company culture. For sure, this is not an easy topic. But would you say that there is something like a coherent culture at Otomato – or even multiple cultures?
Anton Weiss: Company culture has been preached in management theories for the last couple of decades and we’ve seen that almost every big company is trying to build their own set of organizational values. Regretfully, in most cases, we see a very formalistic approach with posters all over the walls, but no real employee buy-in. In general, if we talk abouDevOps, the values of experimentation, innovation, openness and trust are probably the most important ones. And of course the principle of shared responsibility for the product we are delivering.
JAXenter: Somehow DevOps is more about things like the spirit of collaboration, an experimental culture, business agility, employees satisfaction. What can a company do to foster those aspects?
Anton Weiss: First and foremost – open communication and sharing have to be enabled. This has to start with management listening to employees and providing the tools for self-expression. Documentation and knowledge-sharing platforms, dashboards and interconnected information systems are becoming ever more important in our data-driven world.
Additionally, companies can and should let engineers freely choose the tools and technologies they use. This should be done with responsibility and justification of every choice but there’s always a place for doing POC of new approaches.
Please complete the following questions:
In my experience, Devs and Ops work best together if… they ask each other questions instead of presenting requirements.
The biggest obstacle for DevOps is… company politics.
What promotes employee satisfaction the most is… the ability to contribute their knowledge, to be heard, to feel they are a part of the future.
The biggest advantage of autonomously-working teams is… tight communication loops within the team, ability to quickly try new things.
It is important for a positive company culture to… let people know that failure is normal where innovation is involved and that in the long run their contribution is more important than immediate business goals.
Check out our ‘Demystifying DevOps’ series: