I recently had a client ask us to assess their situation and then give them recommendations on software QA best practices that they should consider. I know that many of my colleagues would say that there is no such thing as best practices, and I agree on that. But I think there should be a new term called Best Principles, or if you don’t like the word “best,” perhaps Recommended Principles. To explain a little better, let me briefly draw an analogy.
When you go to the doctor for either a checkup or have an ailment, he usually takes your pulse, temperature, looks in your ears, mouth, and listens to your breathing. That’s akin to working with a client onsite — seeing how they work, asking questions, looking at artifacts — to get a general feel for their state of health.
Now here’s where the Best Practice and Best Principles come in. In the doctor’s office, after taking your readings, he may immediately diagnose your problem; say, for example you have chicken pox. But, I’d say that before he prescribes a “best practice” or “best solution” to your problem, he probably takes into account many factors — the information he just observed, perhaps your family history, your age and a variety of other things. Then, based on a set of Best Principles that the doctor has learned in school and over the course of his practice, he comes up with a recommended course of action for YOU as a customized Best Practice. But what are his Best Principles? He probably has a set of common sense principles such as:
- Only prescribe certain drugs to certain age groups
- If you have a quick heart rate, stay away from certain drugs drugs
- Dry skin patients should not use certain oil-based lotions
These Best Principles lead him to a Best Practice diagnosis for you.
As Software QA Doctors, we have to keep in mind the same thing. We should carry principles in our minds such as:
- Defects are better caught early
- Customer satisfaction issues analysis could point to root causes
- Small development shops have different culture and operations than large shops
- Development should sit with QA in the same physical space (maybe or maybe not depending on what medical school you went too!)
So you get the idea. Software QA best practices will come from a set of principles based on the health of the patient. What are your principles?