Hello everyone and let me first apologize. I know I promised to finish out my series on the challenges of offshore team integration with a final post suggesting magical methods for actually doing it, but something has come up. It seems there is a lot of current debates “in the community” about the efficiency of templates, frameworks, and entities called best practices. I’ve attempted to make my informed opinions known on these subjects, but realized I may need to elaborate more fully than is possible in the context of a twitter exchange, mail thread, or peer review discussion topic. Since it seems to pertain to the topic of offshore development and integration, I thought I’d take a brief detour to address the issue before launching back into team integration. If you’re eagerly awaiting the third and final part of my trilogy I would beg your indulgence. Please treat this as a passage from the Silmarillion meant to inform and give context to your future reading of The Return of the King.
Yes, I’m that much of a dino-geek as to make a Tolkien reference without in any way shape or form mentioning Peter Jackson. I also started playing D&D using the first set of rules and turned my nose up at the more cavalier second edition. If this pops any bubbles in your head, I would suggest you humbly deal with it.
Moving on, then.
I won’t spend too much time on this discussion as I feel as though this is one of those very emotional subjects you either instinctively understand or you instinctively reject. The subject is the value and appropriateness of reusable artifacts within software testing and software quality analysis. Many times these artifacts are called “templates” or “frameworks” but I’ve also heard them called everything from “processes” to “deliverables.” They can take many forms but they all have one thing in common, they are designed to direct and guide work by the studious application of scientific management principles. To put this as succinctly as I think possible, reusable artifacts are an attempt to take advantage of the same economies of scale supposedly reaped when processes are consolidated and standardized. This is where the emotional responses start to kick in. Either you believe its possible to enjoy cost reductions in design through consolidation and standardization practices (ie: Six Sigma, TQM, etc) or you don’t.
Let me wrap this up by explaining why I arrived there when templates and frameworks were my starting point. In my view, templates and frameworks are guides on how to perform your work. If we were visual artists, templates or frameworks would be a paint by numbers set. An individual handed a detailed template appropriate to the task at hand could theoretically produce predictable results with variations either accepted or corrected in later editions of said template. In other words, some one with little skill should be able to product a reasonable picture of a crying clown on black velvet by following a paint by numbers set. The more detailed and intricate the set, the more “artistic” the final product and the more skill at filling in the shapes is required. Eventually the person using the sets will gain enough skill through repetition and familiarity to create very intricate and colorful crying clowns on black velvet, and they may even gain enough skill to create original artwork of their own. Contrast this with a traditional art background where the student is taught to draw rather than simply fill in some one else’s drawing. They’re taught color theory, light and shading, drapery, and a lifetime of different techniques and tools with which they can approach a new project. The tester/SQA resource taught in this manner will approach each project as possibly unique but will have a common tool set with which they will attempt to solve the unique challenges they feel are present. It will take longer for the tester schooled in this manner to produce their first realistic crying clown on black velvet, but they will more quickly be able to paint anything else you might need with little direction or maintenance.
In other words, if you believe what we do is a repetitive process with identifiable tasks which can be optimized and improved then you will see templates as a integral part of any process improvement efforts. If instead you believe (and this is my personal view as well) what we do is a creative process with assumptions and tools that can be improved, you will view templates as a poor ROI as a medium to long term investment.
But I could be wrong in my views. Please challenge them and change my mind.