Why the big buzz around left shift in testing?
Let's face it. We are in a world of cut throat competition where, for most organisations, increasing revenue, reducing costs, weighing margins etc. are regular exercises. Similar world exists in testing market. Thus, given the very nature of the regimen, can we afford to ignore the demands of the market?
You all must have already guessed, the answer is NO. But, look at the whole thing more closely and you'll be surprised. The demands are simple and logical. How can management be confident enough of progress at every stage of project? Why cannot a project be rectified mid-way if there are issues with deliverables? And, most importantly, how to avoid implementation delays and thus, save cost?
Now let's go deeper and analyse the origin of demands. About 70% of the defects are induced during the course of Requirements and Design phases. Take this one step ahead and picture the downstream impact. Not a pleasant picture, was it? The resulting problems are more prominent in large scale projects. To add to this, imagine getting to know the bad state of project mid-way Integration testing.
Costs associated with corrective actions, rework by stakeholders, low morale of teams, regaining management support and coping with delivery pressure are few of the after effects. Makes you wonder, doesn't it? What if I can find these defects early and avoid the unnecessary trouble? And, you're right! After all, even chefs are considerate enough to first check the pie mix rather than wait till it's fully baked. So, why not do the same for million dollar projects? Wouldn't the savings be worth working for? No doubt, a Big Yes. Needless to say, advantages of taking preventive action are multi fold - well-timed corrections, risks reduction, scheduled implementation, cost savings, and so on.
Left shift in testing takes care of the ailments as they occur and ensures that there are no or very minimal after effects. Simply put, left shift is to improve upstream quality. Detecting defects early is the key. This could be accomplished by static testing requirements and design, assuring code quality, uplifting system test among other things.
In my upcoming blogs, I would discuss more on approaches for identifying defects early. I would also discuss certain practices that can provide significant value with less effort. Till then, think on this quote from Plutarch, "To make no mistakes is not in the power of man; but from their errors and mistakes the wise and good learn wisdom for the future."