QA and the role they play in a dev team
The other night I was telling my daughter the story of “The Emperor’s New Clothes.” This is the story of a couple of con artists who convince the emperor to pay them to make him some new clothes out of a special fabric that can only be seen if you are smart, while someone who is dumb will not see anything at all. The problem is that, even though neither the emperor nor his advisers can see any fabric, they don’t say anything out of fear of looking stupid. They eventually allow the emperor to go out in public wearing his fancy new duds and everyone is too afraid to say anything. Everyone, that is, but one little kid who is not afraid to say the truth. He calls out the obvious - that the emperor is not wearing anything at all.
This story got me thinking about all of the books I have been reading on the development process and the questions they ask about what the quality assurance (QA) role is in the process. To be honest, the results they present don’t seem to answer the question they pose. However, while telling my daughter the story, it hit me. The role of the QA in any development team to is to be the kid who calls out the truth regarding the new clothes actually not being anything at all.
While on a team it is easy to go along with what everyone else is saying. It’s easy to say that we see the clothes and aren’t they beautiful, when what we need to be saying is that there isn’t anything there at all. Imagine the story if the emperor was told early on that there was nothing there, that the clothes don’t cover anything. Of course there would be no story to tell, which is kind of the point. When QA does their job well, the only story that takes place is that there is a good quality product released.
So how does a QA tell the truth on the product’s status? By logging large numbers of bugs? By writing thousands of test cases by which to measure the product? By writing thousands of lines of code to check that the product does what it is supposed to? Load tests? Security tests?
The quick answer to those questions can be “Yes” however it can also be “No.” Each product is different. For example, a banking product that needs to handle thousands of secure transactions needs to have a much higher level of testing performed than a product that simply allows the user to play tic-tac-toe. However, they both need to have QA tell the truth about the quality of the product so that the results aren’t embarrassing.
Simple and straightforward. This doesn't have to just be QA either. Using the buzzword "Quality is Everyone's Responsibility" we are all that kid in the story. Why is it that the kid gets away with telling the Emperor that he doesn't have any clothes on, but the public felt guilty telling him that? In this story there were bounds that were set that were actually false, "If you can't see the Emperor's clothes then you are an idiot". How do we remove these prejudices and allow everyone to speak frankly, honesty, and albeit respectfully, so that we can have a better quality product from the ground up?
Senior Computer Scientist at Adobe
8 年Very well written. I enjoy reading your posts.