Blame

50ea2e lisa 2026-08-16 22:03:23
sd: add C08 reference (debugging & alpha testing) — 9 pages ported from C08-Reference-Godot; hub link Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1
<!-- Generated from applied-computing-au vic/unit3-4/sat/C08-2026/C08-Reference-Godot by port-reference-godot-to-wiki.py — do not hand-edit; re-run the port. -->
2
# Contingency Planning
3
4
*The 9–10 rung of C8-2: contingencies documented, and solutions to mitigate them documented. Specific beats plentiful.*
5
6
**Definition.** A contingency is something that could still go wrong with your project, paired with the mitigation you'd apply if it did. This isn't about evaluation scores — it's about whether your software will **actually work as promised** in your SRS.
7
8
## What a contingency table looks like
9
10
| Potential issue | Evaluation factor | Likelihood | Mitigation strategy |
11
|---|---|---|---|
12
| School network fails during demonstration | Efficiency (speed of processing) | Medium | Offline mode with local data storage |
13
| Users forget login details | Effectiveness (usability) | High | Password reset + clear instructions |
14
| Different screen sizes break the layout | Effectiveness (accessibility) | High | Responsive design, flexible containers |
15
| Software crashes on large datasets | Effectiveness (accuracy) | Low | Input validation and error handling |
16
17
**Likelihood:** **HIGH** — likely during normal use (typing mistakes, typical hardware) · **MEDIUM** — needs specific conditions (unusual input, particular devices) · **LOW** — exceptional circumstances only.
18
19
## The 4-step analysis
20
21
Take one requirement from your SRS and:
22
23
1. **Identify what can go wrong** — decompose it: *"scores (0–100)"* → what if someone enters 150? letters? nothing?
24
2. **Rate the risk** — likelihood plus one sentence of *why that likelihood*.
25
3. **Create a mitigation plan** — prevent the problem (validation), handle it gracefully (clear error message), guide the user (keep their input visible to fix), and check the cost (validation must be instant).
26
4. **Design your test method** — how you'll prove the mitigation works: can't submit invalid data, message is clear, tested with someone who hasn't used it before.
27
28
Do this once for a **functional** requirement and once for a **non-functional** one (e.g. a speed target: test on the *school's* older computers, not just your laptop, and build in a performance buffer).
29
30
## Success tips
31
32
1. **Be specific** — "make it faster" isn't a plan; "reduce clicks from 8 to 3" is.
33
2. **Test early** — don't discover the school-computer problem on demo day.
34
3. **Plan for real users** — people who didn't build it will use it differently.
35
4. **Focus on high-likelihood risks first.**
36
5. **Document your testing** — evidence of mitigation attempts is what the 9–10 band reads.
37
38
One well-planned mitigation with evidence beats five vague strategies. The blank template is in your class repo: `S-C08/C082-Contingency-Plan-Template.md`.