The general concepts of DevOps have played a central role advancing the modern software delivery industry. With the library of DevOps best practices, tips and guides expanding quickly, it can be difficult to track down the best and most accurate resources and information. In order to help the software development community, and to further our own learning, we reached out to leading industry analysts and asked them about an increasingly popular tenet of a DevOps transformation: collaboration.
We asked Michael Azoff, Principal Analyst at Ovum; Clive Longbottom, founder of and analyst at Quocirca; Julie Craig, Research Director at EMA; and Stephen Hendrick, Principal Analyst at ESG: “To what extent is collaboration a significant part of DevOps? What are the benefits of collaboration and how does collaboration improve development/deployment initiatives?”
Here are their responses that address how collaboration impacts DevOps teams, processes, culture and more.
“Transitioning to DevOps in the IT department, and beyond, being a DevOps organization, can succeed only if there is a cultural transformation. Collaboration is at the heart of DevOps culture, which seeks to break down work silos and bring stakeholders with common interests together around a project, product, or service. Collaboration allows work to flow without bottlenecks and for automation to be introduced where it can be effective, across different work domains.”
“DevOps needs to bring more people together into the process of delivering value to the business. Developers need to have closer and more frequent contact with end users to ensure that continuous delivery is providing just what is needed; the developers also need to be in constant contact with operations staff and the help desk around how well systems are performing. Increasingly, as the perimeters of the organization are removed, such teams will also involve externals – contract development staff, testing bureaux, third party cloud platforms and so on. Without an adequate means of managing the collaboration and communication between these disparate groups, organizations will find that chaos ensues.”
“Collaboration is at the heart of DevOps, and automation is essential to collaboration in today’s complex IT environments. DevOps teams deal with software and applications at every stage of the lifecycle. Since each lifecycle stage relies on specialized tools for success in meeting objectives, the data contained in those tools provides important insights into milestones and progress at every stage. This data contains information that is essential to DevOps processes and interactions. Examples include configurations of underlying hardware/software components, progress of pre-deployment testing, anticipated delivery dates, and production impact of deployed software changes. Automating each stage and integrating data across stages gives DevOps teams a solid foundation for cross-functional collaborative activities. This foundation, in turn, acts as a hub that ’greases the wheels’ for Continuous Delivery. In other words, automating and integrating tools across the lifecycle supports strong DevOps practices; these, in turn, pave the way for achieving the business benefits inherent in accelerated Continuous Delivery.”
“DevOps is about the unification of people, process, policy, and product in support of agile application development and deployment. DevOps starts with people collaborating together in small multi-functional teams around application architecture, design, and testing. Having a DevOps culture that embraces process and policy helps establish the objectives and activities that ensure effective collaboration. Finally, product (tools) are instrumental in managing all of the artifacts of this collaboration as well as enabling policy-driven automation that integrates all of the content created by this collaboration around a particular project. Collaboration, especially at the front end of IT projects, is necessary to ensure that key decisions regarding architecture, design, scope, and interaction are made. These decisions will largely determine the success of the project and require collaboration. Tools that promote collaboration; including repositories, team development, project tracking, chat, test plans, and integration are therefore indispensable to an effective DevOps environment.”
We appreciate this timely and pertinent insight from each of our industry analyst experts. We also hope you find this information useful as you embark on your own DevOps journey. Look for more insights from our analyst friends in the months to come!