The Best Way for Dev and Ops to Collaborate - Part 3
November 09, 2017

DEVOPSdigest asked experts from across the industry – including consultants, analysts, organizations, users and the leading vendors – for their opinions on the best way to foster collaboration between Dev and Ops. Part 3 covers how to set up teams.

Start with The Best Way for Dev and Ops to Collaborate - Part 1

Start with The Best Way for Dev and Ops to Collaborate - Part 2

COMBINE DEV AND OPS IN ONE TEAM

When thinking about fostering collaboration between Dev & Ops, I immediately start thinking about one team, shared objectives with shared tools. Yesterday's model is broken — one team focuses on delivering software and another team focuses on infrastructure health. WRONG focus. The focus should be on delivering useful, delightful and flawless customer experiences helping enterprises grow market share. So that means management needs to design teams to support that objective and teams to take ownership, designing the right tech stack to deliver and proactively monitor that outcome.
Amir Rozenberg
Director of Product Management, Perfecto Mobile

The Path to Releasing Confidently in DevOps

Have ops, developers and testers be part of the same team! If you're running sprints, do sprint planning together. The ops folks will be able to raise risky items and open up discussion when reviewing sprint tickets. When this type of collaboration happens during meetings, the test team will also benefit by knowing where to focus their efforts."
Ryan Yackel
Director of Product Marketing, QASymphony

The most effective way to get teams to collaborate is to turn the plural "teams" into a singular "team" with a shared goal. I'm not suggesting that entire organizations be merged though. As with anything, start small and build on success. Incorporate both development and operations people into a single team for a given project. Adopt a common process, and common tools like source control and issue tracking. Developers should be responsible for developing some of the deployment/management automation, ops people should be assigned some development tasks – and everyone should be on the hook as code goes into production.
Stephanos Bacon
Senior Director, Portfolio Strategy, Red Hat

BREAK DOWN SILOS

The best way that development teams can collaborate with IT Ops is to remove the distinction between these as being actual teams. Instead evolve to a model of practices that anyone can align with, co-locate your people to remove siloes and bottlenecks, increase throughput and foster a culture of challenging, learning and most importantly, collaboration.
Andrew Hatch
DevOps Manager, Seek

Andrew Hatch is a Speaker at DevOps Enterprise Summit 2017

Remove barriers, remove highly specialized horizontal departments, form cross-functional teams, give them team objectives, and people will collaborate in ways you thought are not possible.
Viktor Farcic
Senior Consultant, CloudBees

SEND AMBASSADORS TO EACH TEAM

In order to add greater value to the business, organizations need to implement a cultural shift that increases collaboration between the development team and IT Ops to turn two teams into one. The best way to start changing mindsets is to assign ambassadors from each team to attend the other's key meetings and report to their teams. Periodic meetings of both groups are also helpful. This shift in team chemistry yields a well-oiled machine — developers begin to consider operational requirements, and operations staff are willing to help developers with the creation of deployment scripts. Syncing the two enables the team at any given moment to deploy new versions of working software while remaining confident when it moves to production. This collaboration boosts agility and innovation in the team, while maintaining the stability and robustness of the software.
Ortwin De Witte
Implementation Architect, DevOps, CTG

CROSS POLLINATE

An effective way for Dev and Ops to collaborate is to cross-pollinate. In places where these are distinct teams, have dev team and ops team members spend time in each other's' teams to understand the pains. An even better approach might be to form delivery teams where development and operations experts work as part of a single team, actively pairing to collaboratively come up with solutions that are well designed from both a development and a maintenance perspective. Intentionally introducing automation testing for failure scenarios can go a long way towards discovering problems that are typically, only otherwise discovered in production.
Prem Chandrasekaran
VP of Software Engineering, Barclaycard

CROSS TRAIN

Development teams can collaborate with IT and network operations teams by cross-training and understanding the technologies and processes used by them. This is a bi-directional process so that all teams can understand the process request and how to fulfill that request. As businesses move towards DevOps and agile processes, the distinctly separate traditional teams such as development, quality assurance, network operations, and network architecture start to blur to become a single broad and multifaceted team. During the transition period, the different teams need to understand the roles and responsibilities of the other teams. The processes become more continuous and there is less of a hot-potato mentality when team members understand the other functions.
Frank Yue
Director of Application Delivery Solutions, Radware

IMPROVE LEARNING PROCESSES

Improving collaboration between development and operations is a function of improved learning processes. A lot of time is spent in DevOps talking about the tools in use and the meetings to be had — these are red herring! To really get DevOps right, an organization needs to be building processes that have rapid learning feedback loops. The Plan-Do-Study-Act cycle (first described by W. Edwards Deming, father of modern quality control) is a great place to start. Using a PDSA cycle, we gain a powerful opportunity to improve by first planning the DevOps process, running the process, then asking the question "what did we learn here?" The outcome of this question tells us how we do better next time so we act to improve the process. This cycle can be repeated over and over with the various teams contributing and each time the process will get a little better.
Jack Hamm
Principal Information Security Engineer, Gigamon

CREATE A DIVERSE TEAM

The DevOps culture removes the barriers between departments, and especially among those most deeply involved in DevOps; that is, the operations teams and developers. Historically, there has been a culture of inefficiency and miscommunication between developers and operations teams. This is due to many reasons, but primarily is due to a lack of unified goals: Developers work to code a project as quickly as possible to hand it off to operations in order for them to release it. But with DevOps requirements for small teams comprised of diverse team members working together on a project, and because agile processes are so dependent on the integration of these teams and their tools, collaboration in DevOps enterprises are automatically improved. These single teams break down silos by bringing together employees of diverse skill levels and backgrounds to help inspire more mutual trust and respect.
Amit Ashbel
Director of Product Marketing & Cyber Security Evangelist, Checkmarx

DIGITAL EXPERIENCE MANAGEMENT OVERLAY TEAMS

User, or digital experience management overlay teams can be an excellent way for Operations and Development to work more effectively together throughout the application lifecycle. This collaboration can bring insights into not only performance, but relevance, usability and even costs for service delivery.
Dennis Drogseth
VP of Research, Enterprise Management Associates (EMA)

WORK IN PARALLEL

Dev and Ops collaborate differently at different stages of a project — beginning with scoping the project, the middle of implementation, and the end of maintenance. For the beginning of a project during the requirements and scoping period, Dev and Ops should be on the same team to determine the scope, responsibilities, and implementation. During implementation, Dev and Ops should work in parallel with frequent checkins. And during maintenance, ops should be able to empower and support dev to make frequent changes. The overall goal of Dev and Ops collaboration is to enable both teams to be able to work in parallel and arrive at the same destination.
Kevin Fishner
VP of Product Management, HashiCorp

Read The Best Way for Dev and Ops to Collaborate - Part 4, covering more about combining Dev and Ops in teams.