Blame
|
1 | > **DRAFT** — under teacher review. |
||||||
| 2 | ||||||||
| 3 | # Plan B Contingency Table — Reusable Template |
|||||||
| 4 | ||||||||
|
5 | The Hamilton and Alexandra College · Year 12 · 2026 |
||||||
|
6 | |||||||
| 7 | The C05-3 step "Plan B Ready" asks you to show that you have thought about what could go wrong and prepared a specific alternative. The most common problem: students write "I'll think of another way" — which is not a contingency plan, it is a placeholder. |
|||||||
| 8 | ||||||||
| 9 | This page gives you a pre-filled Markdown table to copy into your design log. The risk prompts are specific enough to force real thinking, but they do not hint at solutions — that part is yours. |
|||||||
| 10 | ||||||||
| 11 | --- |
|||||||
| 12 | ||||||||
| 13 | ## The template |
|||||||
| 14 | ||||||||
| 15 | Copy this table into your design log or SAT submission document. Fill in the **Contingency / Backup design** and **Impact if triggered** columns for every row. Delete rows that genuinely do not apply to your project and add rows for risks you can identify from your own scope. |
|||||||
| 16 | ||||||||
| 17 | ```markdown |
|||||||
| 18 | | Risk | Trigger (when does this become a problem?) | Contingency / Backup design | Impact if triggered | |
|||||||
| 19 | |---|---|---|---| |
|||||||
| 20 | | **Library / package incompatibility** | A required library does not install on the target machine, or breaks after an update | | | |
|||||||
| 21 | | **Scope creep** | Client or teacher requests a feature not in the original functional requirements, mid-project | | | |
|||||||
| 22 | | **UI testing failure** | Beta-testing reveals a screen layout or workflow that users cannot navigate without assistance | | | |
|||||||
| 23 | | **API or data-source change** | An external API changes its format, is rate-limited, or goes offline | | | |
|||||||
| 24 | | **Client pivot** | The client changes the core purpose or target audience of the solution after designs are approved | | | |
|||||||
| 25 | | **Time overrun on a critical task** | A core module (e.g. database integration, user authentication) takes longer than the project plan allows | | | |
|||||||
| 26 | ``` |
|||||||
| 27 | ||||||||
| 28 | --- |
|||||||
| 29 | ||||||||
| 30 | ## How to fill it in |
|||||||
| 31 | ||||||||
| 32 | ### What makes a good Contingency / Backup design entry |
|||||||
| 33 | ||||||||
| 34 | A contingency is a **specific alternative action**, not a vague reassurance. |
|||||||
| 35 | ||||||||
| 36 | | Weak (no marks) | Strong (marks) | |
|||||||
| 37 | |---|---| |
|||||||
| 38 | | "I'll fix it if it happens" | "Revert to the previous pinned library version and document the version in `requirements.txt`" | |
|||||||
| 39 | | "I'll think of another way" | "Remove the feature from scope and document the decision in the design log; notify client in writing" | |
|||||||
| 40 | | "I'll ask my teacher" | "Replace the external API with a locally-stored JSON dataset that mirrors the last-known good API response" | |
|||||||
| 41 | ||||||||
| 42 | ### What makes a good Impact if triggered entry |
|||||||
| 43 | ||||||||
| 44 | Name **two things**: the scope impact (what feature or quality is affected) and the timeline impact (how many days or steps are delayed). |
|||||||
| 45 | ||||||||
| 46 | > Example: "Login feature delayed by 1–2 days; authentication falls back to a single shared password stored in `config.ini` until resolved." |
|||||||
| 47 | ||||||||
| 48 | --- |
|||||||
| 49 | ||||||||
| 50 | ## Completed example (ClubTracker project) |
|||||||
| 51 | ||||||||
| 52 | | Risk | Trigger | Contingency / Backup design | Impact if triggered | |
|||||||
| 53 | |---|---|---|---| |
|||||||
| 54 | | **Library incompatibility** | `nicegui` fails to install on school computers | Switch to `tkinter` (Python standard library; no install needed); redesign affected screens in the week before submission | UI redesign costs 1–2 days; appearance is less polished but all functional requirements are met | |
|||||||
| 55 | | **Scope creep** | Client requests a report-export feature not in the original brief | Log the request in the design log; defer to post-submission iteration and document in the contingency section of the evaluation | No timeline impact; manage client expectation in writing | |
|||||||
| 56 | | **UI testing failure** | Peer-testing reveals the member-search screen is unusable without prompting | Replace the free-text search field with a dropdown populated from the database; re-test with the same tester | 1 day to rebuild the search component; re-test adds half a day | |
|||||||
| 57 | | **Time overrun** | Database integration takes longer than the 3-day Gantt allocation | Simplify the data model: flatten the member table, remove the `events` table, and hard-code event dates for the demo | Core membership features still functional; event tracking deferred | |
|||||||
| 58 | ||||||||
| 59 | --- |
|||||||
| 60 | ||||||||
| 61 | ## Adding your own risks |
|||||||
| 62 | ||||||||
| 63 | Think about the specific libraries, APIs, and features in *your* project. Add a row for any risk that would force a design change — not just a bug fix. Good custom risk prompts for student projects: |
|||||||
| 64 | ||||||||
| 65 | - "My chosen GUI framework does not support [specific feature]" |
|||||||
| 66 | - "The school network blocks the API endpoint I rely on" |
|||||||
| 67 | - "My only tester (client) is unavailable in the final two weeks" |
|||||||
| 68 | - "I discover mid-build that the data structure I chose makes [key feature] impractical" |
|||||||
| 69 | ||||||||
| 70 | --- |
|||||||
| 71 | ||||||||
| 72 | ## See also |
|||||||
| 73 | ||||||||
| 74 | - [C05 Resources](/sd/Resources/C05-Resources) — external reading on critical and creative thinking in software design |
|||||||
| 75 | ||||||||
| 76 | --- |
|||||||
| 77 | ||||||||
| 78 | ← Back to [C05 Home](/sd/C05/C05-home) · [VCE Software Development Hub](/sd/VCE%20Software%20Development%20Hub) |
|||||||
