Eh, it seems fairly unobjectionable if a bit overly simplistic to me. I did testing for about 7 years prior to dev, and my take is that it a) depends on the size of the team and b) a fully fleshed out QA team needs a variety of skills and fills several roles:<p>On the one hand, you need 1) grinders who can do the sort of boring, script driven sorts of regression testing that are essential but difficult to automate.[1] You also need 2) people with a good eye for usability and with a good overview of the system who can provide the sort of feedback Joel mentions. A certain amount of creativity and exploratory skills helps with ad hoc testing and devising test cases. "I wonder what happens if I push this button and then <i>that</i> one."<p>Then, 3) someone who can read code and who understand lower level (OS/database) stuff can come up with some interesting test cases that a black box tester may miss. As in, "what happens to temp files/tables that are created by the app? are they ever deleted?" And finally, 4) if you can find them, you need someone who <i>can</i> program in order to build test tools and automated frameworks (that's mostly what I did). The goal of the latter being improving the efficiency of the entire team. Finding all of these wrapped in a single person is almost impossible, as #1 tends to be incompatible with the rest.<p>[1] Obviously, if you can automate these in a way that's cost effective, that's preferable, but that's not the typical case.