DevOps brings Development and Operations together with the sheer objective of ensuring quality and enabling faster time to market. However, what happens to QA in this scenario? How does the Testing team fit in? Let's ponder on this further and understand the role of QA and Testing in the DevOps world ...
DEVOPSdigest asked experts across the industry – including analysts, consultants, vendors and even users – what they think is the most important cultural change an organization can make to ensure DevOps success. The result is a broad range of answers that delves deep into what DevOps is really all about. Part 3 covers collaboration and communication.
15. COLLABORATION BETWEEN DEV AND OPS
To me, the biggest change companies must make to successfully implement DevOps is collaboration. Teams often focus on integrating the tools in the pipeline to enable continuous integration and delivery, without taking into account the new organizational structure and lines of communication needed to make the end-to-end pipeline successful. Because of the number of handoffs and shared areas of responsibility in a mature DevOps pipeline, there is high potential for conflict when any particular piece of the pipeline breaks down if there is not a clear line of communication and joint understanding of responsibility across teams in the organization.
VP of Strategy and Business Development, QASymphony
Organizations are focused on fast tracking digital business for rapid transformation. To make DevOps a reality, enterprises need to put best-in-class practices in place that operationalize applications faster and provide a single point of control for managing business applications workloads. In order to succeed, the key is to establish tighter collaboration between development and operations with tools that offer planning and coordination.
President of WLA, BMC Software
16. COLLABORATION BETWEEN IT AND BUSINESS
A significant culture change may be required to embrace and empower collaboration across business and technical teams to make DevOps a reality. The lines between development and operations have continued to blur as enterprises have grown more dependent on technology. At the same time, the traditional authoritative approach to restricting selection and usage of technology does not work for today's digital economy. IT and business leaders need to break out of traditional silos and encourage collaboration between cross-functional units. They must refocus their teams, away from internal politics to customer-driven solutions. Collaboration is a two-way street. The business needs to become more involved with DevOps product owners group and the creation of the business requirements document. In turn, IT should be more involved in the creation of the business case and budget. Timelines and objectives derived from closer collaboration and an understanding each teams perspective ensures a greater clarity of vision, which will lead to more successful implementations.
17. COLLABORATE SEPARATELY
Many people would say you need to mix the developers with the operations teams, but I say that's just a recipe for conflict. Instead, look for tools that let developers and operations collaborate independently from one another. Each group should think about DevOps within the different constraints and goals they work within.
SVP, Strategy, Automic Software
18. COMMUNICATION AND COLLABORATION
Most companies inadvertently create operational silos and as a result have poor collaboration and knowledge sharing. Encouraging all teams and individuals throughout an organization to openly communicate and collaborate on all topics related to the business helps to build empathy which is absolutely essential in changing the culture of an organization to make DevOps a reality.
DevOps Evangelist, VictorOps
It's no news that Dev and Ops have conflicting objectives and that in most companies they just don't get along. Dev is change happy versus Ops which is averse to change, preferring stability. Trying to make Dev and Ops collaborate smoothly can feel like trying to mix oil and vinegar. If we agree that DevOps is a philosophy which goal is to break down the existing walls between the Dev teams and IT Ops in order to accelerate the service delivery while increasing reliability in production, then cross-functional communication should be brought at the center of attention. DevOps cannot be reduced to only a few automation tools or a toolkit. This is truly about stitching together cross-functional processes and sharing the same objectives to promote collaboration, mutual respect and accountability. To me, the communication and collaboration processes are the foundation stone upon which organizations can
Senior Director of Product Marketing, IT Alerting & IoT, Everbridge
19. COMMON LANGUAGE
Regardless of how you define DevOps, everyone can agree that collaboration is a crucial tenet and a key success factor. Culture and collaboration go hand in hand, and in order to get both right, everyone must feel invested in, actively take part in, and be held responsible for operational excellence. Product and IT teams need a common language to break free of silos and rally around collective insights —infrastructure monitoring is that language. Monitoring is shifting from the responsibility of a single, self-contained organization to a capability that is key to every step and every team in the product lifecycle. And only infrastructure and application metrics, aggregated and analyzed to communicate a clear, meaningful signal, are the foundation for the shift towards collaboration and DevOps culture. Use monitoring as a common language to decentralize operations and as a single source of truth, and DevOps will follow.
Head of Marketing, SignalFx
20. SOFT SKILLS
There is a barrier between IT and development, for whatever reason. Being able to talk through issues is most important to being successful. People always list off technical requirements and the latest and greatest technologies – which are important, but without strong soft skills you will fail. Soft skills are important because you'll need to be the person that can bridge the gap between IT and development.
Senior Director, Information Technology, Ipswitch
21. MUTUAL GOALS
In spite of all the DevOps success stories, friction between the Dev and Ops sides of the house continues at many organizations. To address this, DevOps teams should consider setting clear, measurable, mutually agreed-upon guidelines to govern their respective workloads. If a new piece of software achieves a targeted performance level, further roll-outs can proceed. If not, all future releases will halt until the first piece of software is fixed. An adjudicator in this case can be a "free agent" who knows how to code, as well as handle ops. Sometimes called a Site Reliability Engineer (SRE), this person can offer an unbiased assessment of where the root cause of the performance issue lies – with the development team or IT ops. With clear rules in place and a central person to determine the right course of action, the DevOps friction can be eliminated and the full team can work to its potential.
CEO and Founder, Catchpoint
We've seen that even unifying the job titles of team members is extremely helpful – so everyone feels they have equal status and providing equally valuable contributions.
CEO, Electric Cloud
The most important culture change a company should undertake to make DevOps a reality is to adopt a DevOps mindset. This is an awareness of the fact that both Dev and Ops are equally important.
An organization looking to make the shift to a DevOps culture should live and breath that mindset daily. The company should seek out candidates when making hiring decisions too. The choice of tooling is only a consequence of that orientation.
Head of Infrastructure and Systems, Midokura
Trust is the key ingredient for a DevOps driven transformation to take hold. DevOps success in an existing team is through many small changes that cumulatively add up to faster delivery and higher quality. Each change is actually a mini-experiment where the outcome is unknown. The team has to trust each other and more importantly, the team must trust their leaders to support them while they learn. Communication is an integral part of building and maintaining trust and the most successful teams will have very open communication with all their stakeholders.
Senior Productt Marketing Manager, Hewlett Packard Enterprise
Fundamentally, DevOps is ALL about cultural change! It's a holistic culture of change and cooperation that cuts across all phases of software development and delivery. But in order to allow this cooperation to flourish, there has to be a strong culture of trust. Practitioners of various disciplines must trust that their colleagues are operating with the entire organization's best interests at heart and not optimizing their success to the detriment of other teams. This culture of trust must be spearheaded by management who must take active and decisive action to create compensation and reward structures that emphasize the success of the project or product they are working on, rather than individual success. One great way to start is to change management's reaction when when things don't go well. The easiest way to squash a culture of "finger-pointing" is to adopt the mantra "praise the people, blame the process."
VP Industry Strategy, Tasktop Technologies
DevOps is a software methodology that is intended to break down the separation between the Development and Operations groups. But in order for DevOps to actually work, Dev and Ops need to trust each other and do what is necessary to keep the entire system running efficiently. This requires Dev to internalize the fact that operating requirements are as important as business requirements. Dev must own the responsibility of building quality code that meets requirements, but can also run reliably and at the production scale needed. Likewise, Ops must stop playing the victim of bad development processes, define their own requirements for the software and work with Dev to ensure the requirements are met. Change can be messy, but it's necessary. Operations must be more willing to embrace change, but work constructively with Dev to mitigate any surprises or unintended consequences changes may bring about. Dev and Ops are peers contributing in equal ways to the success of the business.
Technical Consultant, Product Management, Compuware
More than any other cultural shift, DevOps requires empathy. Instead of an us-vs.-them, adversarial relationship among siloed teams, individuals must learn to see problems through their colleagues' eyes, especially for colleagues with roles different from their own. The good news: it's possible to teach empathy to most (but not all) people.
Appreciation of everyone's role. A lack of appreciation of the importance each DevOps team member plays, often results in poor collaboration between those who build and those who operate and maintain. This barrier leads to a greater chance of conflicts and inconsistencies. A lack of appreciation, understanding and collaboration in addition to anachronous policies, will no doubt limit the ability for IT Teams to make DevOps a reality.
Linux Systems Analyst, haydenjames.io
Culture is all about people. DevOps requires a certain culture and mindset just as much as it requires certain tools and methods. Developers need to adopt the mindset of an Ops person and vice versa. Communicating, thinking, collaborating across team barriers, hierarchies, regions, departments is crucial and has to become natural to people. Any organization that fails at that but does everything else right will still fail at DevOps.
Senior Director of Product Marketing, Loggly
Check out Top Culture Changes to Make DevOps a Reality - Part 4, covering development and testing.