Anyone who works in an IT firm can relate to the above quote. People like to work in teams, but when these different teams have to work in collaboration, conflicts and communication issues arise.
No matter what level of automation we achieve, the human factor can influence productivity. The DevOps model promises high agility, productivity, and smooth workflow through Continuous Integration (CI) and Continuous Deployment (CD). However, it also demands continuous communication, which requires a new set of hard skills and soft skills to ensure the promised benefits.
In this blog post, I have discussed key roles involved in DevOps, their skills and responsibilities, and all those ways we can reduce the communication gap between the Dev from Venus, Ops from Mars, the testers from Jupiter, and security experts from Neptune!
DevOps Manager/Evangelist
DevOps manager or Evangelist is a person who initiates, implements, and controls the DevOps model in software product development and delivery. He must have a good understanding of all of the processes, automation tools, and technologies involved in the seamless implementation of DevOps. Apart from that, it is the DevOps manager who enables liaison between the Devs and Ops. In short, DevOps manager is a key enabler of the DevOps culture.
Software Developers Team
Software engineering team is the driving force of a DevOps team. In addition to all the required hard skills, a software developer must develop better communication and collaboration skills to engage with Ops and testers. They must also have a good understanding of secure coding.
Software Testers & Quality Assurance Team
Software testers become enablers between the Devs and Ops. The testers make sure that there are no bugs on the development side and operations side. For this purpose, they define the test plans, scenarios, and test automation to ensure the release of a quality product.
Security Team
Implementing security is a critical part of software development. From secure coding to security testing and post-production audits, all practices need to be adjusted in a continuous DevOps cycle.
Deployment and Operations Team
The Ops team makes sure that the Continuous Deployment (CD) factor of the DevOps works seamlessly. Docking, containerization, - Ops are the kings of these technicalities. They are the ones who ensure post-release software product stability.
Automation and Communication Tools
Automation tools not only increase agility, they also reduce the human factor involved. This the reason why DevOps automation is the top priority of DevOps management. The communication tools can also enhance collaboration and communication between the teams.
Better Documentation
Writing is both an art and science. Good software documentation can save hours in time and resolve communication issues between the teams. Software documentation should be easy to read and understand.
Quality Assurance
According to Chris Riley:
“QA is an integral part of the system helping balance quality and speed. When Dev and Ops are joined, the traditional QA role is adjusted as they are involved earlier in the life-cycle of the project.”
Testers are facilitators between the Devs and Ops!
Soft Skills Development
Soft skills matter in every job role. However, in the case of the DevOps model, soft skills matter more. DevOps model demands a collaborative framework where everyone is a good listener and an excellent communicator. In this regard, HR can arrange soft-skills training to cultivate better DevOps culture.
Ending this article with a joke I found on the internet:
“If Ops goes to lunch with Ops and Dev goes to lunch with Dev, a low level of efficiency is a certainty”
Ops and Devs should have lunch together once in a while. Let’s try to be friends for mutual success (and interests!).
Also published on LinkedIn.