One thing that tends to get me riled up is when people who strictly test things say that they do quality assurance. This is something however that has always occoured and will continue because they actually believe that by testing the software they are assuring the quality of it. Actually, what they are doing has nothing to do with assurance, but more with control. Which is not to say that testing could not be under the umbrella of QA, but it is not the entirety of it.

So last time we looked at a definition of Quality (Quality is Value), but how do we go from that to QA? Simple. Start to think about the larger picture when being given a software drop. And by larger I mean from birth of the idea(s) that caused some developers to produce some code all the way up to and beyond now. “But how is that finding bugs in the code?” you might ask. It’s not. At least not directly. Let’s veer out of the software industry a second for an analogy. Imagine you were a large scale cookie baker and you baked a batch of cookies with flour that had weevils and eggs that have turned. The end result might look and they might smell okay, but there is a decent chance that someone might get sick. This simplistic (if gross) example shows that the cookie is not just what was removed from the oven, but all the steps before going into the oven as well. Back to software. If we use our cookie example, it then follows that for us to assure the quality of the product, we need to not only look at what was delivered from development, but how it was built, how development got their requirements and even how the requirements were gathered. In other words, all the processes which were employed to create what was handed over to the QA group.

Given all that, here is how a mature QA organization should be structured (from a leadership perspective)

  • Quality Manager (The Quality Czar) – This person is ultimately in charge of overall quality direction and leadership
  • Process Manager – The person who leads process improvement projects and analyses areas where improvement is needed
  • Test Manager – There person who leads the actual testing efforts of the product

Obviously organizations of different sizes will scale this to different levels. It could be that in a small startup, the same person could be doing all three roles which is fine as long as they realize they are doing it and when growth comes they split a task or two off. Similarly, a large organization could have specialized roles. For example, the Test Manager could be split into Manual and Automated testing.

If you do not have this structure and you call yourself a QA group, please stop. You are a Software Test group. There is a difference.