Tuesday, April 16, 2013

Who best fits the QA Role ?

For those of you who are not too familiar with these terms I would advise you to read my first article - Quality Assurance Vs Quality Control where I have spoken about my understanding of the two terms and it kind of leads into this article.

I have been asked this a few times by professionals who do QC (essentially testers although testing != QC) - "How do I move into a QA role?" and I have also read in a few websites and newsgroups for QA and QC where one looks at moving from a QC role to a QA role like a natural progression in ones careers.

Since I have played the QA role I would first talk about some of the things that helped me perform this role.
  • Since the QA role expects the person to have a holistic view of the process of software development it is important to have a bit of experience in all the facets of software development right from requirements to design to development to deployment. Its only when one understands all of these elements in software development can one be competent enough to be able to define a process.
  • Its important to understand the business for which the process is being developed. The process that is developed for software product development will be different from software services. Hence it is important to understand the business so that the appropriate process can be developed or enhanced.
  • The person implementing a process needs to understand the implications of a process change. Process change is a mindset change - you need to get everyone else to think like you and then get them to implement the process. Hence it is very important to gradually move them to where you want the process to be. Hence reading some theory and saying oh it will be great to have it lets roll it out may backfire very badly its important to understand the implication of each step of the process and implement it gradually showing the benefits of the process that is being implemented.
  • A QA person needs to be an evangelist - he needs to convince a lot of people that he/she knows what they are doing. Hence it is good to have good communication skills and marketing abilities to be able to sell the benefits of the process. Secondly the experience of the person in implementing what the person is preaching will go a long way in convincing everyone that what is being implemented will work.
Hence as you can see just understanding the testing phase of a project development lifecycle or being very good at testing and identifying defects in the software does not gaurantee that the person will be good playing the QA role. Hence it is important to understand that moving from QC (aka Testing) to QA is not a natural progression of ones career.