I received a very odd E-mail today from a producer at a company that shall not be named asking me a very odd question: If I could only do one thing to improve the quality of a product, without the ability to change anything else on a project, what would it be? He then started rattling off development methodologies, like Scrum, XP, Pair Programming, etc.,
Well, my response was pretty simple. I'd want at least some QA from day one, preferably from an experienced, technically adept tester.
Admittedly, that has a fairly hefty set of assumptions that go along with it. That's assuming that a bug threshold has been included in the milestone definitions. That's assuming that major severity bugs are being addressed during the development cycle and not just delayed to the end. That's assuming that QA is actually kept informed as to the design decisions that have been made.
The earlier that QA is brought on, the cheaper that QA is going to be in the long run, assuming that the problems are found and fixed close to when the flaw becomes apparent. If QA finds a major problem in the design phases, perfect. It's cheap to change paper. If QA find a major problem in the prototype phases, excellent. Code is still relatively cheap to swap out, and it could end up saving time at the end of the project. The later a problem is found, the more expensive it is to fix it.
One tester from day one can be worth ten testers at alpha.