In the span of 30 years, I have observed QA and Testing go through three phases — Combined, Independent, and Integrated.
In the early years of development, QA and Testing tasks were added to the developer’s role. Essentially, he who developed verified that the system worked according to the requirements. This Combined phase proved to be costly and inefficient because it’s very difficult to spot your own errors!
As the years went by, QA and Testing started to formalize itself as a separate practice in the IT industry. As new processes, tools, and best practices were established, QA and Testing changed from being part of development to being its own professional field. During this Independent period, QA and Testing teams separate from the Development organization were built. With this new set-up, a Development team created the software and the QA and Testing team verified that the requirements were met. This set-up had a lot of benefits because teams were able to focus on core competency, which led to greater efficiencies.
Ultimately, this phase directly influenced Development and QA and Testing teams to become more integrated and collaborative. Being too independent had led to the “throw it over the wall” plague that affected productivity and quality. In addition, with the rise of Agile teams, the current phase of Integrated QA and Testing teams gained even greater popularity. Now, QA and Testing is closely tight-knit with the development process. Test-driven development and continuous integration are now practiced across a multitude of development teams and have gained tremendous success. The integrated QA and Testing team set-up ensures that the application or product meets customer requirements. It also saves time.