Why Adam Smith Is Right and Software Generalists Are Wrong: an Exemplar in Heroic Couplet
Of Programmers and Testers
For my amusement and the dear reader's edification,
I offer this exemplar from my own edumacation [sic].
Francis Bacon wrote, for it is the solecism of a prince
(Which as quotes go, will do in a pinch.)
But no worse state have I encountered or seen.
More than 100 years ago, Adam Smith wrote,
Specialists divide and conquer, but generalists don't.
Here is my example; its one for the books.
Give me a moment before using the crook.
My comparison is between those that write code and those that test,
The result you will see is that neither is better but both are best.
The programmer is author; the tester is editor,
Both are best, but neither is better.
As programmer, I write it and test that it works;
As tester, you break it and look for its quirks.
As programmer, I try to resolve on a solution;
As tester, you see my brain droppings, detritus, and mental pollution.
The tester's expertise is editing, and the programmer's is writing,
Both are adversaries but do their jobs without fighting.
The programmer spends his time thinking and making,
And the tester spends hers thinking and breaking.
Working at cross-purposes, they forge to the end,
At different tasks, they toil and they spend.
Programmers are experts at assuming,
and testers are wary of a programmer's presuming.
As author and editor, each is an advocate
Of the customer, but each with a different mindset.
Programmers try hard to use all the tricks in the book,
And the tester makes sure nothing was overlooked.
When one does both jobs this creates a breach in the mind,
Which is enough to make the programmer-cum-tester go blind.
Ronald Reagan said it best: many have thought for long,
That things are too complex for simple answers. They are wrong.
Paul Kimmel is the VB Today columnist, has written several books on .NET programming, and is a software architect. You may contact him at firstname.lastname@example.org if you need assistance or are interested in joining the Lansing Area .NET Users Group (glugnet.org).
Copyright © 2004 by Paul Kimmel. All Rights Reserved.