# Epic: Retry the questions you missed in a Practice BET **Goal:** Let a learner practise only the reading and listening questions they got wrong in a Practice BET, without changing any recorded score. **Source:** Refinement call, 21 min. References in [brackets] are transcript timestamps. ## Open questions (resolve before sizing) 1. **Which plans get this?** All users, or the paid tier only? Owner: PM, with the business side. [00:09:10] 2. **Is a cap on retry attempts needed?** Agreed: no cap now; decide after seeing the attempt data from story 5. [00:05:36] 3. **Non-functional needs not discussed.** Accessibility of the new button and the retry screen, and how long retry events are kept, did not come up on the call. Confirm, or mark as not applicable. ## Stories ### 1. Offer a retry of missed questions on the result screen As a learner who has just finished a Practice BET, I want to retry only the reading and listening questions I got wrong, so that I can practise my weak spots without redoing the whole test. **Acceptance criteria** - Given a learner got at least one reading or listening question wrong, when the result screen loads, then a primary button reads "Retry the N you missed", where N is the number of wrong reading and listening questions. [00:01:31] - Given exactly one such question is wrong, then the button reads "Retry the one you missed". [00:12:38] - Given no reading or listening question is wrong, then the retry button is not shown and a short "Nice work" line is shown instead. [00:01:49] - Speaking and writing questions are never included in N or in the retry. [00:00:58] - "Retake test" remains available as a text link below the primary button, on mobile and desktop. [00:07:28] ### 2. Run a retry set As a learner, I want the retry to work like a short practice round, so that I can focus on getting the answers right rather than on the clock. **Acceptance criteria** - Given a learner starts a retry, then only the missed reading and listening questions are shown, and the answer options for each question are in a different random order from the original attempt. [00:02:52] - The retry has no timer. [00:08:31] - If the device has no connection, the retry behaves exactly as the normal Practice BET does without a connection. [00:09:55] - If the learner leaves the app during a retry, that retry is discarded; starting again from the result screen begins a new retry. No resume. [00:10:39] ### 3. Show results and answers after a retry As a learner who has finished a retry, I want to see what I now got right and the correct answers for the rest, so that I learn from the questions I still miss. **Acceptance criteria** - Given a learner finishes a retry, then each question is marked right or wrong. [00:03:41] - For each question still wrong, the correct answer is shown, plus the explanation where one exists. A missing explanation shows the correct answer only, with no empty explanation box. [00:04:22] - Answers are shown only after the retry is finished, never during it. [00:03:41] - If any questions are still wrong, the learner can start another retry of just those; they can also stop at any time. [00:05:12] ### 4. Keep retries out of every score As a learner, and as a recruiter reading a Summative score, I want practice retries to have no effect on any recorded score, so that scores mean the same thing they meant before this feature. **Acceptance criteria** - A retry never changes the recorded Practice BET score for the original attempt. [00:02:16] - A retry never affects the Summative score or anything a recruiter sees. [00:02:16] - Retries do not appear in the teacher dashboard in this release. [00:11:27] ### 5. Record retry attempts for analytics As the product team, we want each retry attempt recorded, so that we can decide on an attempt cap and add retries to institution reports later. **Acceptance criteria** - Each retry attempt emits one analytics event with: learner, Practice BET attempt, attempt number, questions in the retry, and questions still wrong at the end. [00:05:50] - The stored data is enough to show retries in the teacher dashboard later without a migration. [00:11:27] ## Assumptions (not stated on the call; confirm or correct) - "Wrong" means answered incorrectly; an unanswered question in the original attempt also counts as missed. - The retry uses the same question versions as the original attempt, even if the question bank has been edited since. - Option shuffling follows the existing question-bank setting; no new content work is needed. ## Out of scope (raised and parked) - Retrying questions answered correctly but slowly (over 60 seconds). Parked by PM. [00:06:44] - Resuming an interrupted retry. [00:10:39] - Showing retries in the teacher dashboard. [00:11:27] - Backfilling missing explanations; content team, separately. [00:04:22]