Prior to DevOps, developers write the code as per the business requirements, a separate QA team quality tests the program in a remote development environment and if the requirements are matched the code is released to operations for deployment. Then groups for networking and databases are formed out of deployment teams. Every time a software program is given to a team it adds some blockages. The problem with this pattern is that when the teams work individually:Dev is often unacquainted with QA and Ops barriers that prevent the software program from working as required.QA and Ops usually work across many structures and have little knowledge of the business purpose and significance of the software.Each team has differing goals that can lead to incompetence and finger-pointing at each other when something goes wrong.DevOps establishes collaborative cross-functional teams to address these challenges. These teams mutually share the responsibility of maintaining the system that runs the software and also prepares the software to operate on that system with better feedback.