11. Risks and Technical Debts¶
Risks¶
ID |
Risk |
Probability |
Impact |
Mitigation |
|---|---|---|---|---|
R-1 |
Silent boundary violations — a rover silently stays in place when hitting a boundary; a misconfigured plateau could produce wrong results with no visible error |
Low |
Medium |
Add an optional |
R-2 |
Input format ambiguity — the kata does not define behaviour for malformed input (e.g. unknown command character, negative coordinates) |
Medium |
Low |
|
R-3 |
Sequential processing assumption — rovers are processed one at a time; if the kata is extended to simultaneous movement, the current design does not support collision detection between rovers |
Low |
High |
Document the assumption explicitly (DC-4 in constraints); revisit |
R-4 |
No persistence — rover state exists only in memory during a single run; a crash loses all progress |
Low |
Low |
Acceptable for a kata; a production system would need checkpointing |
Technical Debts¶
ID |
Debt |
Impact |
Remediation |
|---|---|---|---|
TD-1 |
No obstacle support in core domain — |
Low (optional feature) |
Add |
TD-2 |
|
Low |
Introduce an immutable |
TD-3 |
No structured logging — errors go to stderr as plain strings |
Low |
Acceptable for a kata; replace with |
TD-4 |
Input format is positional / fragile — the parser relies on line order and space-separated tokens; any deviation causes a crash |
Medium |
Add schema validation or a more robust parser with clear error messages per field |