Actually, this entry was written last year on Feb-2007 but I'm sure it's still a wondering question these days in IT folks. Now let's see how difficult meeting is...
Once in a while, there was a meeting like this:
(recommend to whom is devloper or manager and read this, and QC too :))
"
Developer: hi manager, in my opinion we should discard our QC team because they do not add any value. All defects they found can be discovered by developer team, they repeat developer team activities that make the project’s cost is increased
Manager (looked so angry): what did you say? it is so funny when we discard QC team, who perform testing for us and who take responsibility of delivery’s quality?
Developer: you have emphasized we need to reduce the redundant cost, try to avoid duplicated activities, increase the productivity. I just base on your goals to propose that idea!
Manager: It’s ok. Just return my questions, can you provide more detail on your suggestion? - the manager does think developer’s suggestion is not the good one but he want to point out the mistakes of developers.
Developer: Let’s I raise my point. In our project, we have the following activities:
1. BA team collect and write requirements.
2. Developer and QC team review the requirements
3. Developer write the code, QC create the test case
4. Developer send build to QC for verify the build.
We can save the cost by developer team, why QC team need to test because all kind of tests can be covered by developer team.
Manager (looks patient): who will create test cases and execute test to be sure the product satisfy the requirements from client.
Developer: most of defects in tracker belong to lack of unit test from developer team, that we can cover by unit test and use coverage tool to identify what code is not tested by ourselves.
Manager: if you use unit test, you can not sure the quality of product because one developer is assigned to separated features and no one takes responsibility of functional testing.
Developer: Business Analysis - BA team can use some testing framework for functional testing, such frameworks are available for free like Fit framework.
Manager: how about the integration testing?
Developer: if you are sure unit run well and we manage the contract among modules well, integration takes less effort for testing. We can write the integration test by code and it is executed automatically.
Manager (becomes embarrassed): how about the performance?
Developer (laughs): we can do better, we log the main activities, analyzing data for whole process not just run the application and read the result.
Manager (not find appropriate words to criticize developer’s arguments): I have not seen this case before because all projects have QC team. Let’s have that team in our project. The meeting is closed.
"
There are two items need to be clarified here:
1. What is the main responsibility of QC team? It is just cover defects cause by developer due to lack of unit test, if so we do not need to have QC team in case developers are guru and they write enough unit test to cover all implemented code? (Sorry, I have some words on this, here)
2. Whether all activities of QC team can be done better by other team like BA, developer team. So do we need to have QC team for your project or we only keep a little effort for QC team.
What do you think about these two items and if you were manager in above story, what will you say to developer and persuade them maintain QC team is a must for project to meet product’s quality?
(Source: Hai's blog)
P/S: this is another same same interesting discussion from Buu Nguyen's blog.
>>> And if you are lazy to find the answer for yourself, go here for it







