I was reading a blog post from @GregPaciga on the Modern Testing Principles being developed by Alan Page and Brent Jensen (http://gregorytesting.ca/2018/06/discussing-the-modern-testing-principles/). I saw Alan give a presentation at TestBash Brighton on ‘Modern Testing’ and found his arguments persuasive.
In his post, Gregory was describing a discussion about the seven principles of Modern Testing, and in particular reporting on issues raised in the discussion over the fifth and (particularly) the seventh principles. Part of that seventh principle caused a few raised eyebrows amongst a discussion group comprised of testers:
7. We expand testing abilities and knowhow across the team; understanding that this may reduce (or eliminate) the need for a dedicated testing specialist
Gregory said that he was unsure whether disagreement with the second part of that statement, about reducing/eliminating the need for dedicated test specialists, was a knee-jerk reaction or not. (I got the feeling that he was saying ‘knee-jerk reaction’ as if that were a Bad Thing.) He talks about reducing the need for a testing specialist without eliminating the need for the function itself.
Looking at this, I was reminded of the orchestral conductor André Previn. Many years ago (when he was principal conductor of the London Symphony Orchestra) he did some tv documentaries on the role of the conductor. In one, he set the orchestra playing a piece and then stepped away from the podium and sat down. The orchestra continued quite happily without him to the end of the piece. So why, asked Previn, have a conductor?
Well, it was a very standard piece of repertoire, something the orchestra had played many times before. The individual players were all talented and able musicians. So the conductor wasn’t completely necessary. But consider what might happen if the orchestra had to play an unfamiliar or new piece, or had to integrate a new member who did not know the way they worked and played together? Then all the assumptions that each orchestra member might make, the unstated consensus that the orchestra would collectively have, might be thrown into confusion. Then the conductor acts as a unifying force, setting the tempo, or exploring matters of interpretation or meaning in rehearsal, and holding the whole together in public performance.
I think this is the same as expanding testing knowhow across the entire development team. But that does not eliminate the need for a dedicated testing specialist. Rather, it changes the test specialist’s role. They become the person who directs testing; the person who thinks about testing as a discipline and steers individuals on their own testing journey; the person who helps mould the team into a single unit and, indeed, orchestrates the testing effort to a successful delivery. The tester also can act as a fresh pair of eyes in the planning and design stages of a project; just as the conductor does, they can consider matters of meaning or interpretation outside the cutting edge of the performance itself and communicate this back to the team in the development process (which you might think of as being like rehearsal).
And of course, this sees software development as being, like music, an art as well as a science.