I found this page which provides 6 common factors which managers use to decide when to stop software testing and ship software. As quoted on the site, the factors are::
- “Deadlines, e.g. release deadlines, testing deadlines;
- Test cases completed with certain percentage passed;
- Test budget has been depleted;
- Coverage of code, functionality, or requirements reaches a specified point;
- Bug rate falls below a certain level; or
- Beta or alpha testing period ends.”
I beleive most practical software engineering cycles balance time, quality and budget while making a choice of when to ship software. Lets for a moment assume that the list above is a reasonable representation of factors which influence when software is shipped.
Among the reasons above, not all factors are equally good (obviously, right?). I believe some are ‘better’ factors and some are ‘worse’ factors that influence when software is to be shipped. I would categorize as:
The “Bad” factors that primarily influence when to ship software
- Deadlines, e.g., release deadlines, testing deadlines
- Test budget has been depleted
The “Better” factors that primarily influence when to ship software
- Test cases completed with certain percentage passed
- Coverage of code, functionality or requirements reaches a specified point
- Bug rate falls below a certain level
- Beta or alpha testing period ends
How are your ship decisions made currently?
I would venture that if you are making a decision based on one/more of the ‘better’ factors, then you have better control and better management on your software engineering cycle. Unfortunately though, sometimes we have to make a decision based on the ‘bad’ factors.
If your software ship decisions are influenced by the ‘bad’ factors above, then I would encourage you to take a look at the test lab management software like VMLogix LabManager. You will certainly benefit by productivity gains offered by test lab management software. You can register for a free VMLogix LabManager software trial as well.
Even if your decision is based on the ‘better’ factors above, you would benefit by using a test lab management software. You can vastly improve on the threshold levels for test case completion, code/functionality/requirements coverage or bug discovery rates. This has a direct bearing on your software quality.
Where does your software engineering process stand currently? Are you making choices based on the ‘bad’ or ‘better’ factors? Or something else not currently on the list? Would love to hear your thoughts.
– Srihari Palangala