I talk a lot about software quality from the software engineer point of view. We cannot however, discount the importance of a qualified quality (QA) engineer team. I have worked with many QA teams and most were mediocre at best; I am lucky to be currently working with a very talented QA team.
A good QA team encompasses the following basic traits:
- Understands the functional requirements.
- Is knowledgeable in their system and/or acceptance testing tool sets.
- Has the authority to halt a production release if quality is presumed to not be up to par.
- Works with the software engineers to ensure quality across all phases of development.
- Has adequate time and budget to automate and streamline QA processes.
Unfortunately, there is a lot of prejudice and conflict between some QA teams and other actors in the development lifecycle. I have seen environments where QA hated DEV, DEV hated QA, everyone hated everyone, etc. I think this has a lot to do with the fact some organizations skimp on QA and hire any Joe or Jane off the street for this important role – thus the mediocrity effect. Again, I am very lucky to not have those negative dynamics where I currently work.
QA is an integral part of the development lifecycle and must not be written off. An environment which fosters collaboration over confrontation (with respect to QA) will serve the business and software quality better in the long run.
0 comments:
Post a Comment