As I was mentioning in my last blog, all the customer interactions have something to offer. Here is one such fascinating interaction. This was about whom do the Test Engineers report to, how is the tester’s independence preserved, and their relationship with the development methodology.
The answers are multifold. While adopting any of the options, the aspect which is non-negotiable is the independence of the Testing team. The aim of the Testing team should be to release the system with the best possible quality. They will have to collaborate with the rest of the Program team and at the same time be fearless in raising issues found during testing. The ability to say ‘No’ for a release or ‘Yes’ (with a clear analysis) has to be of paramount importance to the Testing team.
During my development days, I used to follow the waterfall model to design and develop different modules for Operating Systems and Compilers. After Unit Testing, the remaining phases of Testing were carried out by an independent Testing team. The Head of the Testing team reported to the VP of Engineering. There was a lot of “necessary friction” between us and the Testing team. Looking back, I feel that this was necessary to ensure the product quality.
Today, the agile method has given rise to different models. The Testing and the Development teams work together and many times, they report to the same Technical Lead. The scope of the Testing team expands into System Testing and often into Integration Testing. The remaining phases of Testing are executed by an independent team. In this model, the independence of System Testing and Integration Testing is very crucial. To ensure this, some projects have a Test Lead, who provides an independent oversight while not owning the testing activities.
To conclude, the structure of the Testing team should not compromise the independence of their activities. Do let me know your thoughts and experiences on how you deal with your testing teams and if there is a better way.