Here are my thoughts on this:
1. Make a list of all open defects and share across all key stakeholders like Requirement Owner (PO, Business Analyst), Dev Lead, Dev Manager, Test Lead, Test Manager, Delivery Manager (stakeholders may vary.. depends on your project)
2. Schedule a defect triage meeting to prioritize all defects in following categories -
Category A: Issues which must be fixed. Software cant be released without that.
Category B: high-priority Issues that should be included in the solution if it is possible
Category C: Issues which is considered desirable but not necessary
Category D: Defects which will not be fixed (issues which does not generate any value addition to the software)
3. All stakeholders should decide go/no go based on the following:
- Can we accommodate Category A issues within deadlines?
- If Yes - Can we accommodate category B issues within deadlines? If No - Can we accommodate category B issues post the release?
- If No - Which all issues from category A can be accommodated? Can release date be postponed? If Yes, are there any contractual obligations from customer?
Note - "accommodate" means - Issues should be fixed, code reviewed, tested with impact areas.
Remember that last minutes major fixes are usually dangerous. So take wise decision. This decision has to be taken by key stakeholders (not just test team). Make sure that team team give their inputs on impact and testing efforts based on the experience.
Also remember that - Testing team has "some" control on quality. Entire team (dev / test / pms etc) are responsible for the quality.
How to avoid these situations?These situations generally occurs when Project managers / Scrum Master / Dev Managers are not seriously tracking the project progress.
But this does not mean that Test team should not do this. At-least before one week of the testing deadline (depends upon your project length), Testing team should start raising concerns about the health of software.
Starting informing the stakeholders that which all features blocked form testing with these issues.
Make sure developers are giving priority of issue fixes rather than working on other stuff.
Make sure there should not be any communication gap from testing team.
Many other factors testers need to take care of:
- report valid defects,
- test critical features first,
- make sure devs deliver critical features first,
- large features with more story points should be broken down to sub-features and should be delivered accordingly,
- clear doubts in requirement walk-through phase, etc
- + many more.. will take sometime later