When you say "DevOps" one of the first words that comes to mind is "collaboration." Even the structure of the word "DevOps" implies that Dev and Ops are coming together, collaborating in a way they had not done before.
On DEVOPSdigest's list 17 Ways to Define DevOps, in the first definition entitled "A Cultural Revolution," Aruna Ravichandran, VP of DevOps Solution Marketing and Management at CA Technologies, said: "DevOps is a cultural revolution that liberates software delivery through cohesive collaboration and advanced automation."
In the same feature, the third definition is "A Culture of Collabration." John Rakowski, Director of Technology Strategy at AppDynamics, said: "DevOps ... requires collaboration between business, IT development and operations professionals."
Gabe Lowy, Technology Analyst and Founder of Tech-Tonics Advisors, added: "The primary purpose of DevOps is to create an environment of communication, collaboration and trust among and between IT teams and application owners."
The concensus is that DevOps is about collaboration. But exactly how do we make this collaboration happen? "Discussion around DevOps often focuses on the need to collaborate rather than how to go about doing this," said Abel Tong, Senior Director of Solutions Marketing for Ciena's Blue Planet software solutions.
This epic DEVOPSdigest list – to be posted in 7 parts over the next few weeks – intends to find the answer. 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. The result is a catalog filled with diverse opinions and enlightening tips on how to make collaboration happen.
Part 1 offers recommendations on how to get started with collaboration.
DevOps means giving development teams the autonomy to control when and how new features are released to customers. Increased autonomy requires greater responsibility from dev teams to monitor and track deployment status. Dev and ops teams work closer together when they are both involved in defining and developing the infrastructure, CI, deployment, and monitoring tools needed to safely deploy and track their code. Reciprocal code submission and a transparent planning process is essential for collaboration.
System Architect, CA Technologies
To improve collaboration between Dev and Ops teams, it's best to have a shared understanding of goals. For example, let's say the Dev teams want to improve the frequency of builds being deployed from 10 to 100 each day. At the same time, the Ops team may want to maintain the scalability of new features running in production. A shared understanding of these goals promotes agility as both teams begin to assess how they might have to adjust to the "new normal" they are building together. Lack of understanding between teams increases rigidity as people resist deviating from their siloed plans.
VP and DevOps Evangelist, Sonatype
The best way for Dev and Ops to collaborate is to first get alignment and ensure everyone is pushing in the same direction. If your Ops team is measured only by mitigating risk and your Dev teams are measured only by delivering change, we have a conflict. Moving fast and not breaking things is everyone's responsibility.
Director of Strategy, Micro Focus
The teams need to create a set of shared goals that are the foundation for collaboration. Historically Dev and Ops have had conflicting objectives. Dev had objectives to release lots of new functionality quickly, and Ops had objectives to ensure stability and up-time. These conflicting objectives led to conflicting teams. DevOps requires shared goals and ultimately those should be about user experience and serving the customer.
While initially there was a greater focus on technology in DevOps teams, today, more organizations are recognizing the need to focus on people and process. Enabling teams by deepening their competencies and giving them common goals are crucial steps on the journey towards creating collaborative Dev and Ops teams. By ensuring the technology and business teams share a common objective they can increase effectiveness in the DevOps model. Furthermore, a governance structure with effective communication and cross-training of teams will go a long way in reaping the benefits of DevOps.
Head of Global Services for Application Development and Management (ADM), Infosys
The number one way that development and IT ops can successfully collaborate is by creating a detailed plan that aligns the interests and realities for both teams. Development and IT operations teams should agree on a plan that lays out current architecture and dependencies; realistic team capabilities, workloads, and timeframes; and exactly what end result you're expecting from each project. Clear roles and responsibilities are critical for DevOps adoption. This helps ensure that what you're doing is feasible and that all parties understand the outcomes you're targeting, and helps determine early on whether a project is being derailed or if you need to bring in an outside party to help manage the project.
Technical Architect, Janeiro Digital
SHARED GOALS, REWARDS AND VALUES
It seems a simple enough idea. To deliver better software you need development and operations to work together. To collaborate. But collaboration is hard. Not because either camp does not want to talk, but because the very focus on these two organizations is different. Development is all about the change. Getting new stuff out as fast as possible. They are rewarded on what they release. Operations is the opposite. Change is their enemy because it undermines their primary measure of success, stability. So how do you get two groups from two different worlds to collaborate? Shared goals, shared rewards and shared values. By connecting both camps to a simple set of goals (what are we trying to do), rewards (and you get this for doing it), and values (this is what I expect of you all) you build an environment that encourages and supports collaboration. Set hard targets that only by working together, ops and development can solve them.
CEO and Product Owner, Scrum.org
A good way to achieve this alignment and collaboration is through the creation of shared goals and metrics. Metrics themselves are a form of culture and a form of communication. Finding some way to baseline and assess where everyone is creates alignment of teams on a common language, goal, and provides a framework for discussion and for tracking.
CTO, Electric Cloud
EXECUTE ON GOALS AND RECOGNIZE RESULTS
Execute on goals and make the results and accomplishments known. Nothing helps build trust between teams like executing against your goals and delivering what you've promised in a consumable way. Sometimes to conquer fear and doubt, you've just got to execute and show the positive outcomes of your new processes. Publishing the joint results of your Development & IT Ops teams is also critical to the success of modernizing development. Utilize dashboards and reporting so that you can understand where your challenges are. Maybe you over/underestimate the time it will take to complete development – but why? Publish the results of your development teams so the organization, including IT Ops, is aware of your progress!
Senior Director, Product Engineering, Sungard Availability Services
Traditionally, application performance – speed and availability – has been a major source of friction for developer and IT operations staffs. When performance falters, developers can blame IT operations, while IT operations point the finger back at developers for creating faulty code. Pre-production, it can be helpful to have a clear set of performance guidelines in place – e.g., if a software product does not perform at a certain threshold, it does not go into production and all future releases are on hold, indefinitely, until the first product is fixed. This is consistent with Google's Site Reliability Engineer (SRE) model. Post-production, developers and ops teams need an intelligent system that can identify the source of performance problems, quickly and easily and without debate. As an added benefit, this empowers DevOps teams to fix problems in production more quickly and decisively, speeding mean-time-to-repair (MTTR). In summary, for teams to collaborate they need to speak a common language based on metrics; focusing on common metrics is the key to avoiding finger-pointing and blame games.
CEO and Founder, Catchpoint
APPLICATION GOVERNANCE STRATEGY
On the premise that DevOps is about communication, collaboration and trust between people, it's simply for two teams to sit together with QA and work out an application governance strategy that best suits the needs of users to drive desired business outcomes. After that, which product they use is a matter of preference.
Technology Analyst and Founder of TechTonics Advisors
ALIGN IT AND BUSINESS PERSPECTIVES
For Development and Operations teams to optimize collaboration, each organization must align to agreed higher-level business objectives. A business-IT value gap is created as DevOps teams lose visibility into the intended value of a product. To bridge that gap, successful organizations define value upfront, align stakeholders across the organization, and gain approval before sharing that context downstream. Establishing this level of business-IT alignment requires expanding the DevOps toolchain to include the business. Automating and ensuring alignment throughout the value stream demands an Agile Planning solution that centralizes product definition, alignment and requirements capabilities, and integrates with downstream development, testing and deployment tools.
Achieving a collaborative mindset between developers, operational staffs and support personnel becomes the base for a strong DevOps culture in an organization. Product managers must be able to formulate strategies both from technical and business perspective to develop an integrated approach between development and operations team that will help the organization to deliver solutions that are on par with customer expectation.
Giridhara Raam M.
Product Analyst, Desktop Central, ManageEngine
The DevOps movement has made tremendous progress in automating and simplifying the flow of how new deployments are shipped to the production environment. As organizations are polishing the build-release-configure process, it is time to start tackling the other side of the DevOps movement. Development and operations need to share common ground when it comes to monitoring production deployments. The goals for the development and operations must be shared and the processes unified. A good first step in this field would be involving the business side and derive the shared goal from the actual business requirements instead of technical metrics.
Co-Founder and VP Product, Plumbr
In a survey last year we found that 94 percent of enterprises are engaged with DevOps in some way, yet only 19 percent have already implemented DevOps. With this in mind, one way to help organizations kick-start a DEV-OPS collaborative project is to start small. It is beneficial to begin with a simple project that both teams can wrap their arms around. As the teams learn and face challenges together during the project they better understand one another and over time it gets easier to complete more projects. Also, make sure to celebrate the wins as a team, this will help keep morale high.
Often, companies desiring to move to a DevOps model try to make the change across the board in a big way. But it's usually better to start small and use a process that allows you to collaborate with the entire team. Any experienced software developer knows that, when you begin to write a piece of software, it's best to get something working and then build from the base. Developers call these programs "Hello World!" When starting DevOps, rather than trying to automate an existing complicated build that brings a lot of baggage and is difficult to manage across the entire team, it is often better to start with a simple trivial build to establish a new clean CI/CD build process that the entire team can embrace. Establish success with this process, collaborate with the whole team, and build from the base.
Senior Director, Product Management, Logicalis US
LET THE DESIRE PATH EMERGE
Every organization communicates differently, so when implementing measures to encourage collaboration, cast a wide net and then let the desire path emerge. Don't force teams to engage in unwanted rituals and ceremonies – they might end up catching a cold, not a culture. For example, if people stop showing up to meetings and start to communicate through a Slack channel or wiki pages instead, then adjust the process accordingly. Be prepared to be responsive and experimental with the measures you use, and always remember the goal is to build trust and break silos.
IT Manager, Tasktop Technologies
Read The Best Way for Dev and Ops to Collaborate - Part 2, covering the personal interaction between Dev and Ops.