How often have we, on the QA side of a project, been faced with a conflict between these 3 constraining elements of the product? As a QA professional, I’d say ‘Quality’ (excuse me if you are a product manager or sales manager reading this post). The fact is that if a high quality product is delivered in a time frame that exceeds customer expectations by a mile, it does not serve its purpose since competitors would have already released similar or even better products by then. Costs incurred for such a time frame can then be catastrophic.
Most of us see quality & time as mutually inclusive; the more time QA gets to test, the better quality they guarantee. But is this always true? Is quality always compromised with lack of time? Well, it used to be, but not any more.
The solution, not too long ago, was found as moving to an Agile method of testing. Agile QA involves testing smaller chunks of functionality so that stable, deployable code is released at the end of every 1-2 week sprints. Sprints can now be planned out in such a way that they do not overshoot the targeted release date. Functionalities can be planned to be included/excluded in sprints.
Enough has been written about Agile & its effects on Software development life cycle. Perceived by many as the future of Software development, Agile is what has come to the aid of traditional Software development teams to streamline the Software Development Life Cycle process.