Merge pull request 'MIL-001 Baseline documents' (#28) from mil-001-baseline-docs into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 6s
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 6s
This commit was merged in pull request #28.
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
[submodule "framework"]
|
||||
path = framework
|
||||
url = ssh://git@git.tirsystem.com:10022/TirSystem/SQA-QC-Framework.git
|
||||
@@ -0,0 +1,59 @@
|
||||
# Artifact Registry
|
||||
|
||||
This project's artifact state. Types, short names and `CrossReference
|
||||
Candidates` come from the framework catalog
|
||||
(`framework/registry/artifact-catalog.md`); this file only records where
|
||||
each document lives in *this* project and the next version to use.
|
||||
|
||||
Delete rows for types you don't use. Add a row the first time you create a
|
||||
document of a type. `Primary File` may contain a glob (e.g.
|
||||
`docs/uc-*/uc.md`); `framework/scripts/find-crossreferences.sh` reads it.
|
||||
|
||||
| Short Name | Artifact Type | Primary File | Next Available Version |
|
||||
| --- | --- | --- | --- |
|
||||
| BC | Business Case | docs/business-case.md | 002 |
|
||||
| SA | Stakeholder Analysis | docs/stakeholder-analysis.md | 002 |
|
||||
| PP | Project Plan | docs/project-plan.md | 002 |
|
||||
| MIL | Milestone / Gateway | docs/milestones/mil-*.md | 009 |
|
||||
| RC | SQA Review Record | docs/sqa/reviews/rc-*.md | 011 |
|
||||
| TM | Traceability Matrix | docs/sqa/traceability-matrix.md | 002 |
|
||||
|
||||
## Languages
|
||||
|
||||
Set the PO language when the project starts; `project-planning` asks for it
|
||||
if it is missing. An artifact of a type marked "Written in the PO language"
|
||||
exists once, in that language, under its normal name (`business-case.md`); the
|
||||
`artifact` skill ("One file per artifact") has the rule.
|
||||
|
||||
| Setting | Value |
|
||||
| --- | --- |
|
||||
| PO language | en |
|
||||
| PO domain | it |
|
||||
| High-level register | IT Executive English |
|
||||
| Technical register | IT Professional English |
|
||||
|
||||
Every artifact of a type marked "Yes" below states its language and domain in
|
||||
its `Language` and `Domain` Metadata rows; `new-artifact.sh` fills them from
|
||||
`PO language` and `PO domain`. `Language` is a BCP 47 code (`da`, `en`).
|
||||
`Domain` is a value from this list; add a row to introduce a domain, so a
|
||||
reviewer can see at once which professional vocabulary a document uses.
|
||||
|
||||
| Domain | Meaning |
|
||||
| --- | --- |
|
||||
| it | Software and IT |
|
||||
| medical | Healthcare and medical devices |
|
||||
| construction | Construction and civil engineering |
|
||||
|
||||
| Artifact types | Register | Written in the PO language |
|
||||
| --- | --- | --- |
|
||||
| BC, KPI, PP, MIL | IT Executive English | Yes |
|
||||
| SA, BMC, BPMN, UCD, US, UC, SSD, DM, RA, GOV, DICT | IT Professional English | Yes |
|
||||
| OC, SD, DCD, ERD, ADR, TM, RC, QC, source code | IT Professional English | No |
|
||||
|
||||
## Notes
|
||||
|
||||
- "Next Available Version" is the zero-padded (3-digit) version to use the
|
||||
*next* time a new document of that type is created. Increment it only when
|
||||
a brand-new document is created, not when an existing document's
|
||||
`## Version History` gets a row.
|
||||
- `ADR` uses 4 digits (`0001`); `RC` is sequential across all artifact types.
|
||||
@@ -0,0 +1,167 @@
|
||||
# Business Case
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | BC-001 |
|
||||
| CrossReference | [SA-001], [PP-001] |
|
||||
| Language | en |
|
||||
| Domain | it |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Executive Summary
|
||||
|
||||
Day 23 of Udemy's "100 Days of Code: The Complete Python Pro Bootcamp" is the
|
||||
second capstone: a Turtle Crossing game in the style of Crossy Road. The player
|
||||
steers a turtle north across a multi-lane road of randomly generated cars; each
|
||||
crossing raises the level and the car speed, and a collision ends the game.
|
||||
This project delivers the game as a small, readable, tested Python repository
|
||||
with no runtime dependencies, so that course participants can run and compare
|
||||
it and GitHub visitors can browse it for ideas.
|
||||
|
||||
## Methodological and Standards Foundation
|
||||
|
||||
- Object-oriented design with one class per concern (`Player`, `CarManager`,
|
||||
`Scoreboard`), using the assignment's names.
|
||||
- Quality characteristics follow ISO/IEC 25010:2023, as the QC checklists of
|
||||
the SQA framework tag them.
|
||||
- Source is documented with Doxygen comments and built with a `Doxyfile`.
|
||||
- Work follows the software quality assurance (SQA) and quality control (QC) framework mounted at `framework/`: plan first,
|
||||
review each artifact, one pull request per milestone.
|
||||
|
||||
## Problem Statement
|
||||
|
||||
The course supplies four stub files and a video walkthrough, but no
|
||||
repository that a participant can clone, run, test and read. Solutions shared
|
||||
between coursists are single files without tests, run instructions or a
|
||||
statement of the Python version they need, and cars are drawn as plain colour
|
||||
blocks.
|
||||
|
||||
## Business Opportunity
|
||||
|
||||
A well-structured reference solution gives S02 a runnable comparison point and
|
||||
gives S03 a clear example of a small Python project with tests, continuous integration (CI),
|
||||
documentation and a multilingual wiki, at no dependency cost.
|
||||
|
||||
## Objectives
|
||||
|
||||
1. Deliver the game behaviour of the Day 23 assignment at Normal difficulty
|
||||
(all steps): forward-only turtle, random cars moving left, level-up with
|
||||
speed increase, collision stop, scoreboard and GAME OVER.
|
||||
2. Draw each car so it reads as a car (body, cabin, wheels), not a colour
|
||||
block, while keeping the 20 x 40 px footprint the assignment specifies.
|
||||
3. Provide `src/`, `tests/` and `docs/` with pytest tests for the game logic
|
||||
and no runtime dependencies beyond the Python standard library.
|
||||
4. Provide a README from the agreed template, a local `.venv` guide, a
|
||||
`Doxyfile`, CI and a wiki in English, Danish and Bahasa Malaysia.
|
||||
5. Publish the repository with a description and topics.
|
||||
|
||||
## Scope
|
||||
|
||||
### In Scope
|
||||
|
||||
- Player, car manager and scoreboard classes, `constants.py`, `main.py`.
|
||||
- Car appearance drawn with the standard `turtle` module only.
|
||||
- Unit tests for the logic that does not need a display.
|
||||
- `pyproject.toml` (Python 3.13 or newer), Python `.gitignore`, Doxygen
|
||||
comments and `Doxyfile`.
|
||||
- README, CI workflow, wiki pages in `en`, `da` and `ms`.
|
||||
- Repository description and topics on the git host.
|
||||
|
||||
### Out of Scope
|
||||
|
||||
- Sound, images, sprite files or any third-party package at runtime.
|
||||
- Menus, difficulty selection, high-score persistence, networking.
|
||||
- Packaging for PyPI.
|
||||
- Re-implementing the Hard and Expert course variants.
|
||||
|
||||
## Expected Benefits
|
||||
|
||||
### Tangible Benefits
|
||||
|
||||
- A cloneable repository that runs with one command after the venv is set up.
|
||||
- A passing automated test suite and a CI run on every pull request.
|
||||
- Generated source documentation for the three classes.
|
||||
|
||||
### Intangible Benefits
|
||||
|
||||
- A readable example S02 can compare their own solution against.
|
||||
- A documented course portfolio item for S01 with a visible review trail.
|
||||
|
||||
## Strategic Alignment
|
||||
|
||||
This is one project in the 100 Days of Code portfolio. It demonstrates the
|
||||
same planning, review and pull-request discipline across the whole series.
|
||||
|
||||
## Success Criteria
|
||||
|
||||
| # | Criterion | Target | Measure |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | Game plays as the assignment describes | All five Step 2 behaviours work | Manual play-through checklist in the final milestone |
|
||||
| 2 | Cars look like cars | Each car shows a body, cabin and two wheels, 40 x 20 px | Visual check in the Cars milestone |
|
||||
| 3 | Tests pass | 100 % of tests pass on Python 3.13 | `pytest` exit code 0 locally and in CI |
|
||||
| 4 | No runtime dependencies | Zero entries under `dependencies` | `pyproject.toml` inspection |
|
||||
| 5 | Run instructions work | A fresh clone runs following the README on Windows, Linux and macOS sections | S01 follows the README on a clean clone |
|
||||
| 6 | Wiki in three languages | Every wiki page exists in `en`, `da`, `ms` | File listing of the wiki |
|
||||
| 7 | Repository metadata | Description and at least 5 topics set | Repository page |
|
||||
|
||||
## Risks
|
||||
|
||||
| Risk | Impact | Mitigation |
|
||||
| --- | --- | --- |
|
||||
| Turtle needs a display, so CI and tests cannot open a window | Tests cannot cover rendering | Keep game logic free of the screen where possible; test it against a stub; verify rendering manually |
|
||||
| Custom car shape renders differently across platforms | Cars look wrong for some viewers | Use `turtle.register_shape` with polygons only; check on Windows first and note limits in the README |
|
||||
| Python 3.13 tkinter missing on some Linux installs | Participants cannot run the game | Document `python3-tk` in the Linux Debian section |
|
||||
| Tokens in `.env` end up in the repository | Credential leak | `.env` in `.gitignore` before the first commit that adds files; the file is never read by project code |
|
||||
| Scope creep from "nice to have" features | Delay | Out of Scope list; changes need a Business Case amendment |
|
||||
|
||||
## Assumptions
|
||||
|
||||
- S01 is Product Owner, developer and reviewer; reviews are not independent
|
||||
(supervised mode).
|
||||
- The idea is a hunch, not validated by behaviour, and is cheap to build, so no
|
||||
riskiest-assumption test is run.
|
||||
- S01 can reach S02 and S03 through the git host and the course forum.
|
||||
- The git host `git.tirsystem.com` is available for the repository and wiki.
|
||||
- S01 stated no deadline; the plan assumes two weeks (see PP-001 Open Issues).
|
||||
|
||||
## Constraints
|
||||
|
||||
- Python 3.13 or newer, a local `.venv`, pytest for tests.
|
||||
- Constants live in `constants.py`; configuration lives in `pyproject.toml`.
|
||||
- Layout is `src/`, `tests/` and `docs/`.
|
||||
- Only the standard library at runtime.
|
||||
|
||||
## Cost–Benefit Assessment
|
||||
|
||||
Qualitative: the project is a learning exercise with no budget.
|
||||
|
||||
| Costs | Benefits |
|
||||
| --- | --- |
|
||||
| S01's time: about two weeks of evening work | Portfolio item, a reusable project template, a shareable solution |
|
||||
| Review effort (S01 reviews own work) | Documented planning and review trail |
|
||||
|
||||
## Stakeholders
|
||||
|
||||
| Stakeholder ID (SA) | Interest in this project |
|
||||
| --- | --- |
|
||||
| S01 | Product Owner, developer and reviewer; wants a finished, well-planned portfolio piece |
|
||||
| S02 | Udemy coursists; want readable, runnable code with the assignment's names and run instructions |
|
||||
| S03 | GitHub viewers; want a clear description, topics and README, and no runtime dependencies |
|
||||
|
||||
## Recommendation
|
||||
|
||||
Proceed — the scope is small, cheap and fully specified by the course, and it
|
||||
serves all three stakeholders.
|
||||
|
||||
---
|
||||
|
||||
[SA-001]: ./stakeholder-analysis.md
|
||||
[PP-001]: ./project-plan.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,68 @@
|
||||
# MIL-001 Baseline documents
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | MIL-001 |
|
||||
| CrossReference | [BC-001], [PP-001] |
|
||||
| Language | en |
|
||||
| Domain | it |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Decide whether the planning baseline is complete so that code may start.
|
||||
|
||||
## Deliverable
|
||||
|
||||
Accepted Business Case, Stakeholder Analysis, Project Plan and milestone documents, each with a Go review record.
|
||||
|
||||
## Go / No-Go Criteria
|
||||
|
||||
| # | Criterion (objectively checkable) | Go | No-Go |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | BC, SA and PP are Accepted | Each Version History row is Accepted | Any is Proposed or No-Go |
|
||||
| 2 | Every milestone has a Go review | A review record (RC) exists with verdict Go | A milestone has no review |
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Depends on | Reason |
|
||||
| --- | --- |
|
||||
| None | First milestone |
|
||||
|
||||
## Traceability
|
||||
|
||||
| Business Case objective / KPI / user story | Reference |
|
||||
| --- | --- |
|
||||
| Objectives 1-5 (planning basis) | [BC-001] |
|
||||
|
||||
## Ownership
|
||||
|
||||
| Role | Stakeholder ID (SA) |
|
||||
| --- | --- |
|
||||
| Owner | S01 |
|
||||
| Approving reviewer | S01 |
|
||||
|
||||
## Target Date
|
||||
|
||||
2026-10-14 - within the two-week plan of [PP-001].
|
||||
|
||||
## Tasks
|
||||
|
||||
| # | Task | Summary | Needs its own Use Case/User Story? | Reference |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 1 | Review baseline documents | Review BC-001, SA-001 and PP-001 against their checklists, write the review records (RC) and set rows to Accepted. This is the gate for everything under src/ and tests/. | No | |
|
||||
| 2 | Review milestone documents | Review MIL-001 to MIL-008 against qc-milestones-gateways and write the review records (RC). | No | |
|
||||
| 3 | Install git hooks and plan gate | Run install-git-hooks.sh with --enable-plan-gate so commits touching src/ or tests/ need a Task trailer. | No | |
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ../business-case.md
|
||||
[PP-001]: ../project-plan.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,72 @@
|
||||
# MIL-002 Project scaffold
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | MIL-002 |
|
||||
| CrossReference | [BC-001], [PP-001] |
|
||||
| Language | en |
|
||||
| Domain | it |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Decide that the repository skeleton, tooling and environment documentation are ready for game code.
|
||||
|
||||
## Deliverable
|
||||
|
||||
A repository with src/, tests/, docs/, pyproject.toml, .gitignore (including .env), constants.py, Doxyfile, a continuous integration (CI) workflow and a README that documents the local .venv set up.
|
||||
|
||||
## Go / No-Go Criteria
|
||||
|
||||
| # | Criterion (objectively checkable) | Go | No-Go |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | pyproject.toml requires Python 3.13 or newer and has no runtime dependencies | File inspected | A dependency is listed or an older Python is allowed |
|
||||
| 2 | .gitignore covers .venv, caches and .env | git status shows .env ignored | A secret file would be tracked |
|
||||
| 3 | pytest runs green on a smoke test | pytest exit code 0 | pytest fails |
|
||||
| 4 | README follows the agreed template and documents the venv and python -m pip install --upgrade pip | Headings match the template | A heading or instruction is missing |
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Depends on | Reason |
|
||||
| --- | --- |
|
||||
| MIL-001 | The previous step of the assignment must be accepted first |
|
||||
|
||||
## Traceability
|
||||
|
||||
| Business Case objective / KPI / user story | Reference |
|
||||
| --- | --- |
|
||||
| Objectives 3, 4 | [BC-001] |
|
||||
|
||||
## Ownership
|
||||
|
||||
| Role | Stakeholder ID (SA) |
|
||||
| --- | --- |
|
||||
| Owner | S01 |
|
||||
| Approving reviewer | S01 |
|
||||
|
||||
## Target Date
|
||||
|
||||
2026-10-15 - within the two-week plan of [PP-001].
|
||||
|
||||
## Tasks
|
||||
|
||||
| # | Task | Summary | Needs its own Use Case/User Story? | Reference |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 1 | Create pyproject.toml and .gitignore | Python >=3.13, src layout, pytest as an optional dev dependency, no runtime dependencies. Python .gitignore that also ignores .env. | No | |
|
||||
| 2 | Move starter code into src/ and create constants.py | Place main, player, car_manager and scoreboard under src/ and move every constant, including the screen size and loop delay, into constants.py. | No | |
|
||||
| 3 | Add Doxyfile and Doxygen comment style | Doxyfile that reads src/ and writes to docs/api; document the comment convention used in source. | No | |
|
||||
| 4 | Write README from the template | Fill every template heading with real instructions for Windows PowerShell, Linux Debian and macOS, including creating a local .venv. | No | |
|
||||
| 5 | Add CI workflow | Gitea Actions workflow that sets up Python 3.13, installs the dev extras and runs pytest, from framework/templates/ci. | No | |
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ../business-case.md
|
||||
[PP-001]: ../project-plan.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,69 @@
|
||||
# MIL-003 Player
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | MIL-003 |
|
||||
| CrossReference | [BC-001], [PP-001] |
|
||||
| Language | en |
|
||||
| Domain | it |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Decide that the player turtle works and is covered by tests.
|
||||
|
||||
## Deliverable
|
||||
|
||||
A Player class that starts at STARTING_POSITION facing north and moves forward on the Up key.
|
||||
|
||||
## Go / No-Go Criteria
|
||||
|
||||
| # | Criterion (objectively checkable) | Go | No-Go |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | Player starts at (0, -280) facing north | Test asserts position and heading | Wrong start |
|
||||
| 2 | go_up moves by MOVE_DISTANCE and never back, left or right | Test asserts y only increases | Other movement possible |
|
||||
| 3 | Up key is bound to go_up | Manual play-through | Key does not move the turtle |
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Depends on | Reason |
|
||||
| --- | --- |
|
||||
| MIL-002 | The previous step of the assignment must be accepted first |
|
||||
|
||||
## Traceability
|
||||
|
||||
| Business Case objective / KPI / user story | Reference |
|
||||
| --- | --- |
|
||||
| Objective 1 (step 2, bullet 1) | [BC-001] |
|
||||
|
||||
## Ownership
|
||||
|
||||
| Role | Stakeholder ID (SA) |
|
||||
| --- | --- |
|
||||
| Owner | S01 |
|
||||
| Approving reviewer | S01 |
|
||||
|
||||
## Target Date
|
||||
|
||||
2026-10-17 - within the two-week plan of [PP-001].
|
||||
|
||||
## Tasks
|
||||
|
||||
| # | Task | Summary | Needs its own Use Case/User Story? | Reference |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 1 | Implement Player class | Subclass of Turtle with turtle shape, penup, start position and heading north, as in the assignment. | No | |
|
||||
| 2 | Implement go_up and key binding | go_up moves forward by MOVE_DISTANCE; main.py listens for Up with screen.onkey. | No | |
|
||||
| 3 | Test Player | Pytest tests for start state and go_up that run without opening a window. | No | |
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ../business-case.md
|
||||
[PP-001]: ../project-plan.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,71 @@
|
||||
# MIL-004 Cars
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | MIL-004 |
|
||||
| CrossReference | [BC-001], [PP-001] |
|
||||
| Language | en |
|
||||
| Domain | it |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Decide that cars are generated, drawn as cars and moved correctly.
|
||||
|
||||
## Deliverable
|
||||
|
||||
A CarManager with create_cars and move_cars, and a registered car shape that shows a body, cabin and two wheels inside a 40 x 20 px footprint.
|
||||
|
||||
## Go / No-Go Criteria
|
||||
|
||||
| # | Criterion (objectively checkable) | Go | No-Go |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | Cars are generated at random y values, never in the top or bottom 50 px | Test over many samples | A car appears in the safe zone |
|
||||
| 2 | A new car is created on one in six loop runs | Test of the spawn rule | Wrong rate |
|
||||
| 3 | Cars move right to left by the current speed | Test of position change | Wrong direction |
|
||||
| 4 | Each car is drawn as a car, not a colour block, using the standard library only | Visual check and shape registration in code | A plain rectangle is shown or an image file is needed |
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Depends on | Reason |
|
||||
| --- | --- |
|
||||
| MIL-003 | The previous step of the assignment must be accepted first |
|
||||
|
||||
## Traceability
|
||||
|
||||
| Business Case objective / KPI / user story | Reference |
|
||||
| --- | --- |
|
||||
| Objectives 1, 2 (step 2, bullet 2) | [BC-001] |
|
||||
|
||||
## Ownership
|
||||
|
||||
| Role | Stakeholder ID (SA) |
|
||||
| --- | --- |
|
||||
| Owner | S01 |
|
||||
| Approving reviewer | S01 |
|
||||
|
||||
## Target Date
|
||||
|
||||
2026-10-19 - within the two-week plan of [PP-001].
|
||||
|
||||
## Tasks
|
||||
|
||||
| # | Task | Summary | Needs its own Use Case/User Story? | Reference |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 1 | Design the car shape | Draw a car silhouette as a compound turtle Shape: lower body, cabin with window, two wheels, 40 x 20 px, pointing left. Register it once with register_shape. The colour comes from COLORS. | No | |
|
||||
| 2 | Implement create_cars | Random colour and random y inside the safe-zone limits, one car in six loop runs, each car using the registered shape. | No | |
|
||||
| 3 | Implement move_cars | Move every car left by the current speed and drop cars that left the screen. | No | |
|
||||
| 4 | Test CarManager | Pytest tests for spawn rule, safe zone and movement, with the display parts separated from the logic. | No | |
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ../business-case.md
|
||||
[PP-001]: ../project-plan.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,70 @@
|
||||
# MIL-005 Collision and level up
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | MIL-005 |
|
||||
| CrossReference | [BC-001], [PP-001] |
|
||||
| Language | en |
|
||||
| Domain | it |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Decide that collisions end the game and finishing a crossing raises difficulty.
|
||||
|
||||
## Deliverable
|
||||
|
||||
Collision detection, is_at_finish_line, go_to_start and level_up working together in the game loop.
|
||||
|
||||
## Go / No-Go Criteria
|
||||
|
||||
| # | Criterion (objectively checkable) | Go | No-Go |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | Game stops when the player touches a car's footprint | Test and manual play | Game continues after a hit |
|
||||
| 2 | is_at_finish_line is true when y exceeds FINISH_LINE_Y | Test | Wrong result |
|
||||
| 3 | Reaching the finish line returns the player to start and raises car speed by MOVE_INCREMENT | Test | Speed or position unchanged |
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Depends on | Reason |
|
||||
| --- | --- |
|
||||
| MIL-004 | The previous step of the assignment must be accepted first |
|
||||
|
||||
## Traceability
|
||||
|
||||
| Business Case objective / KPI / user story | Reference |
|
||||
| --- | --- |
|
||||
| Objective 1 (step 2, bullets 3 and 4) | [BC-001] |
|
||||
|
||||
## Ownership
|
||||
|
||||
| Role | Stakeholder ID (SA) |
|
||||
| --- | --- |
|
||||
| Owner | S01 |
|
||||
| Approving reviewer | S01 |
|
||||
|
||||
## Target Date
|
||||
|
||||
2026-10-21 - within the two-week plan of [PP-001].
|
||||
|
||||
## Tasks
|
||||
|
||||
| # | Task | Summary | Needs its own Use Case/User Story? | Reference |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 1 | Implement collision detection | Compare the player with each car using a hit area derived from the 20 px car height and 40 px width, so the whole car body counts and not only its centre. | No | |
|
||||
| 2 | Implement finish line and go_to_start | Player.is_at_finish_line and Player.go_to_start per the assignment. | No | |
|
||||
| 3 | Implement level_up | CarManager.level_up adds MOVE_INCREMENT to the move distance. | No | |
|
||||
| 4 | Test collision and level up | Pytest tests for collision, finish line and speed increase. | No | |
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ../business-case.md
|
||||
[PP-001]: ../project-plan.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,68 @@
|
||||
# MIL-006 Scoreboard and game over
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | MIL-006 |
|
||||
| CrossReference | [BC-001], [PP-001] |
|
||||
| Language | en |
|
||||
| Domain | it |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Decide that the game is complete in play.
|
||||
|
||||
## Deliverable
|
||||
|
||||
A Scoreboard showing the level, increasing on each crossing, and GAME OVER displayed in the centre on a collision.
|
||||
|
||||
## Go / No-Go Criteria
|
||||
|
||||
| # | Criterion (objectively checkable) | Go | No-Go |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | Scoreboard shows the level at top left and it rises per crossing | Test and manual play | Level not shown or not updated |
|
||||
| 2 | GAME OVER appears at the centre on collision and the window stays open | Manual play | Missing, or the window closes |
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Depends on | Reason |
|
||||
| --- | --- |
|
||||
| MIL-005 | The previous step of the assignment must be accepted first |
|
||||
|
||||
## Traceability
|
||||
|
||||
| Business Case objective / KPI / user story | Reference |
|
||||
| --- | --- |
|
||||
| Objective 1 (step 2, bullet 5) | [BC-001] |
|
||||
|
||||
## Ownership
|
||||
|
||||
| Role | Stakeholder ID (SA) |
|
||||
| --- | --- |
|
||||
| Owner | S01 |
|
||||
| Approving reviewer | S01 |
|
||||
|
||||
## Target Date
|
||||
|
||||
2026-10-23 - within the two-week plan of [PP-001].
|
||||
|
||||
## Tasks
|
||||
|
||||
| # | Task | Summary | Needs its own Use Case/User Story? | Reference |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 1 | Implement Scoreboard | Subclass of Turtle, hidden, writes the level in FONT at the top left; increase_level and update_scoreboard clear and rewrite. | No | |
|
||||
| 2 | Implement game_over | Write GAME OVER at the centre and keep the window open with exitonclick. | No | |
|
||||
| 3 | Test Scoreboard and full play-through | Pytest tests for level text and a manual checklist of the five Step 2 behaviours. | No | |
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ../business-case.md
|
||||
[PP-001]: ../project-plan.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,69 @@
|
||||
# MIL-007 README and wiki
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | MIL-007 |
|
||||
| CrossReference | [BC-001], [PP-001] |
|
||||
| Language | en |
|
||||
| Domain | it |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Decide that S02 can run and understand the project.
|
||||
|
||||
## Deliverable
|
||||
|
||||
Final README and wiki pages in English, Danish and Bahasa Malaysia.
|
||||
|
||||
## Go / No-Go Criteria
|
||||
|
||||
| # | Criterion (objectively checkable) | Go | No-Go |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | README run and test instructions work on a clean clone | S01 follows them | A step fails |
|
||||
| 2 | Every wiki page exists in en, da and ms | File listing | A language is missing |
|
||||
| 3 | Doxygen builds without warnings | doxygen Doxyfile output | Warnings present |
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Depends on | Reason |
|
||||
| --- | --- |
|
||||
| MIL-006 | The previous step of the assignment must be accepted first |
|
||||
|
||||
## Traceability
|
||||
|
||||
| Business Case objective / KPI / user story | Reference |
|
||||
| --- | --- |
|
||||
| Objectives 3, 4 | [BC-001] |
|
||||
|
||||
## Ownership
|
||||
|
||||
| Role | Stakeholder ID (SA) |
|
||||
| --- | --- |
|
||||
| Owner | S01 |
|
||||
| Approving reviewer | S01 |
|
||||
|
||||
## Target Date
|
||||
|
||||
2026-10-26 - within the two-week plan of [PP-001].
|
||||
|
||||
## Tasks
|
||||
|
||||
| # | Task | Summary | Needs its own Use Case/User Story? | Reference |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 1 | Final README pass | Check every section against the real commands; fill Continuous integration, Build the source documentation, Project layout and License. | No | |
|
||||
| 2 | Write the wiki in three languages | Home, Install and Play, Architecture and Contributing pages in en, da and ms, laid out like the TirSystem github-action wiki, with -da and -ms file suffixes. | No | |
|
||||
| 3 | Build the source documentation | Run doxygen and fix warnings so the Doxyfile is known to work. | No | |
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ../business-case.md
|
||||
[PP-001]: ../project-plan.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,67 @@
|
||||
# MIL-008 Repository metadata and release
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | MIL-008 |
|
||||
| CrossReference | [BC-001], [PP-001] |
|
||||
| Language | en |
|
||||
| Domain | it |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Decide that the project is published and complete.
|
||||
|
||||
## Deliverable
|
||||
|
||||
Repository description and topics set on the git host, and the final review recorded.
|
||||
|
||||
## Go / No-Go Criteria
|
||||
|
||||
| # | Criterion (objectively checkable) | Go | No-Go |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | Description and at least 5 topics set | Repository page | Missing |
|
||||
| 2 | All milestones closed and review records are Go | Registry and review folder | An open milestone or No-Go |
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Depends on | Reason |
|
||||
| --- | --- |
|
||||
| MIL-007 | The previous step of the assignment must be accepted first |
|
||||
|
||||
## Traceability
|
||||
|
||||
| Business Case objective / KPI / user story | Reference |
|
||||
| --- | --- |
|
||||
| Objective 5 | [BC-001] |
|
||||
|
||||
## Ownership
|
||||
|
||||
| Role | Stakeholder ID (SA) |
|
||||
| --- | --- |
|
||||
| Owner | S01 |
|
||||
| Approving reviewer | S01 |
|
||||
|
||||
## Target Date
|
||||
|
||||
2026-10-27 - within the two-week plan of [PP-001].
|
||||
|
||||
## Tasks
|
||||
|
||||
| # | Task | Summary | Needs its own Use Case/User Story? | Reference |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 1 | Set repository description and topics | Use the git host application programming interface (API) with the token from .env, read by the shell only and never copied into the project or printed. | No | |
|
||||
| 2 | Final acceptance review | Review all documents once more, close milestones and record the summary for S01. | No | |
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ../business-case.md
|
||||
[PP-001]: ../project-plan.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,111 @@
|
||||
# Project Plan
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | PP-001 |
|
||||
| CrossReference | [BC-001], [SA-001] |
|
||||
| Language | en |
|
||||
| Domain | it |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Schedule the eight gateways that take the Turtle Crossing project from a
|
||||
reviewed baseline to a published, documented game, one pull request per
|
||||
gateway, inside a two-week window.
|
||||
|
||||
## Planning Assumptions
|
||||
|
||||
- Week 1 starts 2026-10-13; the plan ends by 2026-10-27. S01 gave no deadline,
|
||||
so two weeks is an assumption (see Open Issues).
|
||||
- Each gateway is one branch and one pull request, in the order of the
|
||||
course's steps.
|
||||
- S01 owns and approves every gateway; reviews are not independent.
|
||||
|
||||
## Gateway Schedule
|
||||
|
||||
| Gateway | Document | Window | Decision date | Owner | Stories | Main deliverable | Milestone |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| Baseline documents | [MIL-001] | 10-13 to 10-14 | 2026-10-14 | S01 | none | Accepted planning baseline | |
|
||||
| Project scaffold | [MIL-002] | 10-14 to 10-15 | 2026-10-15 | S01 | none | Tooling, constants, README, CI | |
|
||||
| Player | [MIL-003] | 10-15 to 10-17 | 2026-10-17 | S01 | none | Player class and tests | |
|
||||
| Cars | [MIL-004] | 10-17 to 10-19 | 2026-10-19 | S01 | none | Car manager and car-shaped cars | |
|
||||
| Collision and level up | [MIL-005] | 10-19 to 10-21 | 2026-10-21 | S01 | none | Collision, finish line, speed-up | |
|
||||
| Scoreboard and game over | [MIL-006] | 10-21 to 10-23 | 2026-10-23 | S01 | none | Complete playable game | |
|
||||
| README and wiki | [MIL-007] | 10-23 to 10-26 | 2026-10-26 | S01 | none | README, wiki en/da/ms, Doxygen | |
|
||||
| Repository metadata and release | [MIL-008] | 10-26 to 10-27 | 2026-10-27 | S01 | none | Description, topics, final review | |
|
||||
|
||||
```plantuml
|
||||
@startgantt
|
||||
Project starts 2026-10-13
|
||||
[Baseline documents] starts 2026-10-13 and ends 2026-10-14
|
||||
[Project scaffold] starts 2026-10-14 and ends 2026-10-15
|
||||
[Player] starts 2026-10-15 and ends 2026-10-17
|
||||
[Cars] starts 2026-10-17 and ends 2026-10-19
|
||||
[Collision and level up] starts 2026-10-19 and ends 2026-10-21
|
||||
[Scoreboard and game over] starts 2026-10-21 and ends 2026-10-23
|
||||
[README and wiki] starts 2026-10-23 and ends 2026-10-26
|
||||
[Repository metadata and release] starts 2026-10-26 and ends 2026-10-27
|
||||
[Baseline Go/No-Go] happens 2026-10-14
|
||||
[Release Go/No-Go] happens 2026-10-27
|
||||
@endgantt
|
||||
```
|
||||
|
||||
## Scope Coverage
|
||||
|
||||
| Business Case scope item | Gateway |
|
||||
| --- | --- |
|
||||
| Player, car manager and scoreboard classes, `constants.py`, `main.py` | [MIL-003], [MIL-004], [MIL-005], [MIL-006] |
|
||||
| Car appearance drawn with the standard `turtle` module | [MIL-004] |
|
||||
| Unit tests for display-free logic | [MIL-003] to [MIL-006] |
|
||||
| `pyproject.toml`, `.gitignore`, Doxygen, `Doxyfile` | [MIL-002] |
|
||||
| README, CI, wiki in en, da, ms | [MIL-002], [MIL-007] |
|
||||
| Repository description and topics | [MIL-008] |
|
||||
|
||||
## Dependencies
|
||||
|
||||
```
|
||||
MIL-001 -> MIL-002 -> MIL-003 -> MIL-004 -> MIL-005 -> MIL-006 -> MIL-007 -> MIL-008
|
||||
```
|
||||
|
||||
A No-Go at a gateway moves every later date by the rework time; the final
|
||||
date is not guaranteed.
|
||||
|
||||
## Plan Risks
|
||||
|
||||
| Risk | Impact | Mitigation |
|
||||
| --- | --- | --- |
|
||||
| Evening-only availability | Schedule slip | Gateways are small; dates are decision dates, not commitments |
|
||||
| Wiki translations (da, ms) take longer than code | MIL-007 slips | Write English first; da and ms follow the same page structure |
|
||||
| Custom car shape needs several iterations | MIL-004 slips | Design the shape first as its own task |
|
||||
|
||||
## Open Issues
|
||||
|
||||
- Deadline: S01 to confirm or replace the two-week assumption.
|
||||
- Wiki layout: the example wiki at TirSystem/github-action is behind the git
|
||||
host login; page names will follow the `framework/wiki` pattern (`-da`,
|
||||
`-ms` suffixes) unless S01 says otherwise.
|
||||
- Repository name: the remote is `Tirsvad-Udemy-100-days-of-code/023-turtle-crossing`;
|
||||
the prompt wrote `Tirsvad-Udemy-100_days_of_code`. Assumed to be the same.
|
||||
- No QC checklist exists for the Project Plan; it is accepted by S01.
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ./business-case.md
|
||||
[SA-001]: ./stakeholder-analysis.md
|
||||
[MIL-001]: ./milestones/mil-001-baseline-docs.md
|
||||
[MIL-002]: ./milestones/mil-002-scaffold.md
|
||||
[MIL-003]: ./milestones/mil-003-player.md
|
||||
[MIL-004]: ./milestones/mil-004-cars.md
|
||||
[MIL-005]: ./milestones/mil-005-collision-levelup.md
|
||||
[MIL-006]: ./milestones/mil-006-scoreboard.md
|
||||
[MIL-007]: ./milestones/mil-007-readme-wiki.md
|
||||
[MIL-008]: ./milestones/mil-008-repo-metadata.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,69 @@
|
||||
# Review of BC-001
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | RC-001 |
|
||||
| CrossReference | [BC-001], [QC-BC-001], [QC-LANG-001] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Artifact Under Review
|
||||
|
||||
- Instance reviewed: [BC-001]
|
||||
- Checklist used: [QC-BC-001]
|
||||
- Also applied: [QC-LANG-001]
|
||||
- Scope: full review
|
||||
- Language and domain: en / it
|
||||
- Language reviewer: none
|
||||
- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01)
|
||||
|
||||
## Checklist Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | ROI/Cost-Benefit analysis is quantitative, or where qualitative, is explicitly justified (Mandatory) | Pass | Cost-Benefit table is qualitative and the text says why: a learning exercise with no budget. |
|
||||
| 2 | Risks are identified with documented impact and mitigation (Mandatory) | Pass | Risks table has five rows, each with an impact and a mitigation. |
|
||||
| 3 | Success criteria are measurable, stating explicit targets rather than vague aspirations (Mandatory) | Pass | Success Criteria table has seven rows, each with a target and a measure (pytest exit code, zero dependencies, file listing). |
|
||||
| 4 | Scope explicitly separates In Scope vs Out of Scope (Mandatory) | Pass | Scope has separate In Scope and Out of Scope subsections. |
|
||||
| 5 | Stakeholders are cross-referenced to Stakeholder Analysis IDs rather than re-described inline (Mandatory) | Pass | Stakeholders table cites S01, S02 and S03 with their SA-001 IDs; roles are not re-described. |
|
||||
| 6 | Methodology and quality-standard foundation are stated explicitly (e.g. ISO/IEC 25010, Larman) (Optional) | Pass | Methodological and Standards Foundation names object-oriented design, ISO/IEC 25010:2023, Doxygen and the framework. |
|
||||
| 7 | Assumptions and constraints are explicit and clearly distinguished from one another (Mandatory) | Pass | Assumptions and Constraints are separate lists; the two-week plan assumption was moved from Constraints to Assumptions during this review. |
|
||||
| 8 | Document supports executive decision-making with a clear, unambiguous recommendation (Mandatory) | Pass | Recommendation is a single statement: Proceed. |
|
||||
|
||||
## Language and Domain Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. |
|
||||
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. |
|
||||
| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. |
|
||||
| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. |
|
||||
| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. |
|
||||
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. |
|
||||
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. |
|
||||
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. |
|
||||
| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. |
|
||||
| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. |
|
||||
|
||||
## Overall Verdict
|
||||
|
||||
Go - every Mandatory criterion of QC-BC-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01.
|
||||
|
||||
## Action Items
|
||||
|
||||
| Action | Owner | Due |
|
||||
| --- | --- | --- |
|
||||
| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 |
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ../../business-case.md
|
||||
[QC-BC-001]: ../../../framework/qc/artifacts/qc-business-case.md
|
||||
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,69 @@
|
||||
# Review of SA-001
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | RC-002 |
|
||||
| CrossReference | [SA-001], [QC-SA-001], [QC-LANG-001] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Artifact Under Review
|
||||
|
||||
- Instance reviewed: [SA-001]
|
||||
- Checklist used: [QC-SA-001]
|
||||
- Also applied: [QC-LANG-001]
|
||||
- Scope: full review
|
||||
- Language and domain: en / it
|
||||
- Language reviewer: none
|
||||
- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01)
|
||||
|
||||
## Checklist Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | Power/Interest grid is filled for every stakeholder, with no gaps or unclassified entries (Mandatory) | Pass | All three stakeholders have Power, Interest and Quadrant filled. |
|
||||
| 2 | Each stakeholder is assigned a unique, stable ID (e.g. S01-S11 style) reusable for RACI assignments in other artifacts (Mandatory) | Pass | IDs S01 to S03 are unique and used by BC-001, PP-001 and the milestones. |
|
||||
| 3 | Roles and organizational context are defined with explicit Power and Interest levels, not just narrative description (Mandatory) | Pass | Role, organisation, power and interest are in the summary table, with a rationale per quadrant. |
|
||||
| 4 | Communication needs (channel, frequency, deliverable type) are mapped to project phases or milestones (Optional) | Pass | Communication table maps each stakeholder to a milestone (MIL-007, MIL-008). |
|
||||
| 5 | Conflicting stakeholder interests are identified with documented mitigation or resolution strategies (Mandatory) | Pass | Two conflicts are listed with a mitigation each. |
|
||||
| 6 | Stakeholder concerns are explicitly traced to Business Case objectives (Mandatory) | Pass | Business Goal Alignment table traces each concern to a BC-001 objective. |
|
||||
| 7 | Primary concerns are expressed in both business language and a recognized quality-attribute mapping (e.g. FURPS+) (Optional) | Pass | Concerns table maps each concern to a FURPS+ attribute, which is explained in the section. |
|
||||
| 8 | Document is understandable and navigable by non-technical stakeholders reviewing their own entry (Optional) | Pass | Short document in plain language; each stakeholder can read their own row. |
|
||||
|
||||
## Language and Domain Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. |
|
||||
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. |
|
||||
| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. |
|
||||
| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Professional English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. |
|
||||
| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. |
|
||||
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. |
|
||||
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. |
|
||||
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. |
|
||||
| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. |
|
||||
| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. |
|
||||
|
||||
## Overall Verdict
|
||||
|
||||
Go - every Mandatory criterion of QC-SA-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01.
|
||||
|
||||
## Action Items
|
||||
|
||||
| Action | Owner | Due |
|
||||
| --- | --- | --- |
|
||||
| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 |
|
||||
|
||||
---
|
||||
|
||||
[SA-001]: ../../stakeholder-analysis.md
|
||||
[QC-SA-001]: ../../../framework/qc/artifacts/qc-stakeholder-analysis.md
|
||||
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,67 @@
|
||||
# Review of MIL-001
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | RC-003 |
|
||||
| CrossReference | [MIL-001], [QC-MIL-001], [QC-LANG-001] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Artifact Under Review
|
||||
|
||||
- Instance reviewed: [MIL-001]
|
||||
- Checklist used: [QC-MIL-001]
|
||||
- Also applied: [QC-LANG-001]
|
||||
- Scope: full review
|
||||
- Language and domain: en / it
|
||||
- Language reviewer: none
|
||||
- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01)
|
||||
|
||||
## Checklist Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable section names a concrete, tangible output. |
|
||||
| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go table has objectively checkable criteria with a Go and a No-Go outcome. |
|
||||
| 3 | Dependencies on other milestones are explicitly mapped (Optional) | Pass | Dependencies table names the previous milestone (or None for the first). |
|
||||
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table cites BC-001 objectives. |
|
||||
| 5 | Milestone owner and approving reviewer are identified (Mandatory) | Pass | Ownership table names S01 as owner and approving reviewer. |
|
||||
| 6 | Milestone has a defined target date consistent with project constraints (Mandatory) | Pass | Target Date is inside the two-week window PP-001 plans from BC-001 (no explicit deadline, see PP-001 Open Issues). |
|
||||
|
||||
## Language and Domain Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. |
|
||||
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. |
|
||||
| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. |
|
||||
| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. |
|
||||
| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. |
|
||||
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. |
|
||||
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. |
|
||||
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. |
|
||||
| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. |
|
||||
| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. |
|
||||
|
||||
## Overall Verdict
|
||||
|
||||
Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01.
|
||||
|
||||
## Action Items
|
||||
|
||||
| Action | Owner | Due |
|
||||
| --- | --- | --- |
|
||||
| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 |
|
||||
|
||||
---
|
||||
|
||||
[MIL-001]: ../../milestones/mil-001-baseline-docs.md
|
||||
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
|
||||
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,67 @@
|
||||
# Review of MIL-002
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | RC-004 |
|
||||
| CrossReference | [MIL-002], [QC-MIL-001], [QC-LANG-001] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Artifact Under Review
|
||||
|
||||
- Instance reviewed: [MIL-002]
|
||||
- Checklist used: [QC-MIL-001]
|
||||
- Also applied: [QC-LANG-001]
|
||||
- Scope: full review
|
||||
- Language and domain: en / it
|
||||
- Language reviewer: none
|
||||
- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01)
|
||||
|
||||
## Checklist Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable section names a concrete, tangible output. |
|
||||
| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go table has objectively checkable criteria with a Go and a No-Go outcome. |
|
||||
| 3 | Dependencies on other milestones are explicitly mapped (Optional) | Pass | Dependencies table names the previous milestone (or None for the first). |
|
||||
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table cites BC-001 objectives. |
|
||||
| 5 | Milestone owner and approving reviewer are identified (Mandatory) | Pass | Ownership table names S01 as owner and approving reviewer. |
|
||||
| 6 | Milestone has a defined target date consistent with project constraints (Mandatory) | Pass | Target Date is inside the two-week window PP-001 plans from BC-001 (no explicit deadline, see PP-001 Open Issues). |
|
||||
|
||||
## Language and Domain Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. |
|
||||
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. |
|
||||
| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. |
|
||||
| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. |
|
||||
| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. |
|
||||
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. |
|
||||
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. |
|
||||
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. |
|
||||
| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. |
|
||||
| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. |
|
||||
|
||||
## Overall Verdict
|
||||
|
||||
Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01.
|
||||
|
||||
## Action Items
|
||||
|
||||
| Action | Owner | Due |
|
||||
| --- | --- | --- |
|
||||
| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 |
|
||||
|
||||
---
|
||||
|
||||
[MIL-002]: ../../milestones/mil-002-scaffold.md
|
||||
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
|
||||
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,67 @@
|
||||
# Review of MIL-003
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | RC-005 |
|
||||
| CrossReference | [MIL-003], [QC-MIL-001], [QC-LANG-001] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Artifact Under Review
|
||||
|
||||
- Instance reviewed: [MIL-003]
|
||||
- Checklist used: [QC-MIL-001]
|
||||
- Also applied: [QC-LANG-001]
|
||||
- Scope: full review
|
||||
- Language and domain: en / it
|
||||
- Language reviewer: none
|
||||
- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01)
|
||||
|
||||
## Checklist Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable section names a concrete, tangible output. |
|
||||
| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go table has objectively checkable criteria with a Go and a No-Go outcome. |
|
||||
| 3 | Dependencies on other milestones are explicitly mapped (Optional) | Pass | Dependencies table names the previous milestone (or None for the first). |
|
||||
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table cites BC-001 objectives. |
|
||||
| 5 | Milestone owner and approving reviewer are identified (Mandatory) | Pass | Ownership table names S01 as owner and approving reviewer. |
|
||||
| 6 | Milestone has a defined target date consistent with project constraints (Mandatory) | Pass | Target Date is inside the two-week window PP-001 plans from BC-001 (no explicit deadline, see PP-001 Open Issues). |
|
||||
|
||||
## Language and Domain Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. |
|
||||
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. |
|
||||
| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. |
|
||||
| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. |
|
||||
| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. |
|
||||
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. |
|
||||
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. |
|
||||
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. |
|
||||
| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. |
|
||||
| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. |
|
||||
|
||||
## Overall Verdict
|
||||
|
||||
Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01.
|
||||
|
||||
## Action Items
|
||||
|
||||
| Action | Owner | Due |
|
||||
| --- | --- | --- |
|
||||
| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 |
|
||||
|
||||
---
|
||||
|
||||
[MIL-003]: ../../milestones/mil-003-player.md
|
||||
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
|
||||
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,67 @@
|
||||
# Review of MIL-004
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | RC-006 |
|
||||
| CrossReference | [MIL-004], [QC-MIL-001], [QC-LANG-001] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Artifact Under Review
|
||||
|
||||
- Instance reviewed: [MIL-004]
|
||||
- Checklist used: [QC-MIL-001]
|
||||
- Also applied: [QC-LANG-001]
|
||||
- Scope: full review
|
||||
- Language and domain: en / it
|
||||
- Language reviewer: none
|
||||
- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01)
|
||||
|
||||
## Checklist Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable section names a concrete, tangible output. |
|
||||
| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go table has objectively checkable criteria with a Go and a No-Go outcome. |
|
||||
| 3 | Dependencies on other milestones are explicitly mapped (Optional) | Pass | Dependencies table names the previous milestone (or None for the first). |
|
||||
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table cites BC-001 objectives. |
|
||||
| 5 | Milestone owner and approving reviewer are identified (Mandatory) | Pass | Ownership table names S01 as owner and approving reviewer. |
|
||||
| 6 | Milestone has a defined target date consistent with project constraints (Mandatory) | Pass | Target Date is inside the two-week window PP-001 plans from BC-001 (no explicit deadline, see PP-001 Open Issues). |
|
||||
|
||||
## Language and Domain Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. |
|
||||
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. |
|
||||
| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. |
|
||||
| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. |
|
||||
| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. |
|
||||
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. |
|
||||
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. |
|
||||
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. |
|
||||
| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. |
|
||||
| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. |
|
||||
|
||||
## Overall Verdict
|
||||
|
||||
Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01.
|
||||
|
||||
## Action Items
|
||||
|
||||
| Action | Owner | Due |
|
||||
| --- | --- | --- |
|
||||
| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 |
|
||||
|
||||
---
|
||||
|
||||
[MIL-004]: ../../milestones/mil-004-cars.md
|
||||
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
|
||||
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,67 @@
|
||||
# Review of MIL-005
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | RC-007 |
|
||||
| CrossReference | [MIL-005], [QC-MIL-001], [QC-LANG-001] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Artifact Under Review
|
||||
|
||||
- Instance reviewed: [MIL-005]
|
||||
- Checklist used: [QC-MIL-001]
|
||||
- Also applied: [QC-LANG-001]
|
||||
- Scope: full review
|
||||
- Language and domain: en / it
|
||||
- Language reviewer: none
|
||||
- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01)
|
||||
|
||||
## Checklist Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable section names a concrete, tangible output. |
|
||||
| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go table has objectively checkable criteria with a Go and a No-Go outcome. |
|
||||
| 3 | Dependencies on other milestones are explicitly mapped (Optional) | Pass | Dependencies table names the previous milestone (or None for the first). |
|
||||
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table cites BC-001 objectives. |
|
||||
| 5 | Milestone owner and approving reviewer are identified (Mandatory) | Pass | Ownership table names S01 as owner and approving reviewer. |
|
||||
| 6 | Milestone has a defined target date consistent with project constraints (Mandatory) | Pass | Target Date is inside the two-week window PP-001 plans from BC-001 (no explicit deadline, see PP-001 Open Issues). |
|
||||
|
||||
## Language and Domain Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. |
|
||||
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. |
|
||||
| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. |
|
||||
| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. |
|
||||
| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. |
|
||||
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. |
|
||||
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. |
|
||||
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. |
|
||||
| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. |
|
||||
| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. |
|
||||
|
||||
## Overall Verdict
|
||||
|
||||
Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01.
|
||||
|
||||
## Action Items
|
||||
|
||||
| Action | Owner | Due |
|
||||
| --- | --- | --- |
|
||||
| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 |
|
||||
|
||||
---
|
||||
|
||||
[MIL-005]: ../../milestones/mil-005-collision-levelup.md
|
||||
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
|
||||
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,67 @@
|
||||
# Review of MIL-006
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | RC-008 |
|
||||
| CrossReference | [MIL-006], [QC-MIL-001], [QC-LANG-001] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Artifact Under Review
|
||||
|
||||
- Instance reviewed: [MIL-006]
|
||||
- Checklist used: [QC-MIL-001]
|
||||
- Also applied: [QC-LANG-001]
|
||||
- Scope: full review
|
||||
- Language and domain: en / it
|
||||
- Language reviewer: none
|
||||
- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01)
|
||||
|
||||
## Checklist Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable section names a concrete, tangible output. |
|
||||
| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go table has objectively checkable criteria with a Go and a No-Go outcome. |
|
||||
| 3 | Dependencies on other milestones are explicitly mapped (Optional) | Pass | Dependencies table names the previous milestone (or None for the first). |
|
||||
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table cites BC-001 objectives. |
|
||||
| 5 | Milestone owner and approving reviewer are identified (Mandatory) | Pass | Ownership table names S01 as owner and approving reviewer. |
|
||||
| 6 | Milestone has a defined target date consistent with project constraints (Mandatory) | Pass | Target Date is inside the two-week window PP-001 plans from BC-001 (no explicit deadline, see PP-001 Open Issues). |
|
||||
|
||||
## Language and Domain Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. |
|
||||
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. |
|
||||
| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. |
|
||||
| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. |
|
||||
| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. |
|
||||
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. |
|
||||
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. |
|
||||
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. |
|
||||
| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. |
|
||||
| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. |
|
||||
|
||||
## Overall Verdict
|
||||
|
||||
Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01.
|
||||
|
||||
## Action Items
|
||||
|
||||
| Action | Owner | Due |
|
||||
| --- | --- | --- |
|
||||
| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 |
|
||||
|
||||
---
|
||||
|
||||
[MIL-006]: ../../milestones/mil-006-scoreboard.md
|
||||
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
|
||||
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,67 @@
|
||||
# Review of MIL-007
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | RC-009 |
|
||||
| CrossReference | [MIL-007], [QC-MIL-001], [QC-LANG-001] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Artifact Under Review
|
||||
|
||||
- Instance reviewed: [MIL-007]
|
||||
- Checklist used: [QC-MIL-001]
|
||||
- Also applied: [QC-LANG-001]
|
||||
- Scope: full review
|
||||
- Language and domain: en / it
|
||||
- Language reviewer: none
|
||||
- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01)
|
||||
|
||||
## Checklist Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable section names a concrete, tangible output. |
|
||||
| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go table has objectively checkable criteria with a Go and a No-Go outcome. |
|
||||
| 3 | Dependencies on other milestones are explicitly mapped (Optional) | Pass | Dependencies table names the previous milestone (or None for the first). |
|
||||
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table cites BC-001 objectives. |
|
||||
| 5 | Milestone owner and approving reviewer are identified (Mandatory) | Pass | Ownership table names S01 as owner and approving reviewer. |
|
||||
| 6 | Milestone has a defined target date consistent with project constraints (Mandatory) | Pass | Target Date is inside the two-week window PP-001 plans from BC-001 (no explicit deadline, see PP-001 Open Issues). |
|
||||
|
||||
## Language and Domain Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. |
|
||||
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. |
|
||||
| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. |
|
||||
| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. |
|
||||
| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. |
|
||||
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. |
|
||||
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. |
|
||||
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. |
|
||||
| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. |
|
||||
| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. |
|
||||
|
||||
## Overall Verdict
|
||||
|
||||
Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01.
|
||||
|
||||
## Action Items
|
||||
|
||||
| Action | Owner | Due |
|
||||
| --- | --- | --- |
|
||||
| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 |
|
||||
|
||||
---
|
||||
|
||||
[MIL-007]: ../../milestones/mil-007-readme-wiki.md
|
||||
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
|
||||
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,67 @@
|
||||
# Review of MIL-008
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | RC-010 |
|
||||
| CrossReference | [MIL-008], [QC-MIL-001], [QC-LANG-001] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Artifact Under Review
|
||||
|
||||
- Instance reviewed: [MIL-008]
|
||||
- Checklist used: [QC-MIL-001]
|
||||
- Also applied: [QC-LANG-001]
|
||||
- Scope: full review
|
||||
- Language and domain: en / it
|
||||
- Language reviewer: none
|
||||
- Mode: autonomous, not independent (reviewer is `AI as stand-in for S01`; the author is S01)
|
||||
|
||||
## Checklist Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | A concrete deliverable is defined for every gate (Mandatory) | Pass | Deliverable section names a concrete, tangible output. |
|
||||
| 2 | Explicit Go/No-Go criteria are stated for each gate (Mandatory) | Pass | Go / No-Go table has objectively checkable criteria with a Go and a No-Go outcome. |
|
||||
| 3 | Dependencies on other milestones are explicitly mapped (Optional) | Pass | Dependencies table names the previous milestone (or None for the first). |
|
||||
| 4 | Each milestone is traceable to a Business Case objective or KPI (Mandatory) | Pass | Traceability table cites BC-001 objectives. |
|
||||
| 5 | Milestone owner and approving reviewer are identified (Mandatory) | Pass | Ownership table names S01 as owner and approving reviewer. |
|
||||
| 6 | Milestone has a defined target date consistent with project constraints (Mandatory) | Pass | Target Date is inside the two-week window PP-001 plans from BC-001 (no explicit deadline, see PP-001 Open Issues). |
|
||||
|
||||
## Language and Domain Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder (Mandatory) | Pass | Metadata has Language = en and Domain = it, neither a placeholder. |
|
||||
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list (Mandatory) | Pass | en is a BCP 47 code; it is in the registry domain list. |
|
||||
| 3 | The content (prose and table cells) is written in the stated language (Mandatory) | Pass | All prose and table cells are English, the stated language. Code names stay as written. |
|
||||
| 4 | The register matches the one the registry gives for the artifact type (Mandatory) | Pass | IT Executive English register: short sentences, decisions and outcomes first; implementation names appear only where a task needs them. |
|
||||
| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms (Mandatory) | Pass | No domain dictionary (DICT) exists in this project. Terms (car, player, level, finish line, milestone) are used with one word each, matching the assignment. Recorded as a stand-in decision. |
|
||||
| 6 | Metadata keys, section headings, IDs and statuses are in English (Mandatory) | Pass | Keys, headings, IDs and statuses are English. |
|
||||
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document (Mandatory) | Pass | No translated twin exists beside the document. |
|
||||
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again (Mandatory) | Pass | First version; no language change since the previous accepted version. |
|
||||
| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly (Mandatory) | Pass | The reviewer reads English and knows the IT domain; stand-in for S01 (who is the PO and developer). No separate language reviewer. Open to challenge by S01. |
|
||||
| 10 | Abbreviations are spelled out on first use, in the stated language (Optional) | Pass | Abbreviations (SQA, QC, CI, RC, API, FURPS+) are spelled out on first use; stakeholder and document IDs are defined in SA-001. |
|
||||
|
||||
## Overall Verdict
|
||||
|
||||
Go - every Mandatory criterion of QC-MIL-001 and QC-LANG-001 passes. The review is not independent: author and reviewer are the same person, with the AI standing in for S01.
|
||||
|
||||
## Action Items
|
||||
|
||||
| Action | Owner | Due |
|
||||
| --- | --- | --- |
|
||||
| Challenge this review in the end-of-run summary if the stand-in decisions on QC-LANG-001 criteria 5 and 9 are not accepted | S01 | 2026-10-27 |
|
||||
|
||||
---
|
||||
|
||||
[MIL-008]: ../../milestones/mil-008-repo-metadata.md
|
||||
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
|
||||
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,77 @@
|
||||
# Traceability Matrix
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | TM-001 |
|
||||
| CrossReference | [BC-001] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Tracks backward/forward links between artifact instances so that the Business Case's
|
||||
cross-artifact traceability success criterion is measurable. A row is added or
|
||||
updated whenever an artifact instance is created or reviewed.
|
||||
|
||||
## Traceability Table
|
||||
|
||||
| Artifact Instance | Type | Language | Domain | Upstream (Backward Link) | Downstream (Forward Link) | Last Reviewed (RC-ID) |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| [BC-001] | Business Case | en | it | - | [SA-001], [PP-001] | [RC-001] |
|
||||
| [SA-001] | Stakeholder Analysis | en | it | [BC-001] | [PP-001] | [RC-002] |
|
||||
| [PP-001] | Project Plan | en | it | [BC-001], [SA-001] | [MIL-001] to [MIL-008] | - (accepted by S01, no checklist) |
|
||||
| [MIL-001] | Milestone | en | it | [PP-001] | - | [RC-003] |
|
||||
| [MIL-002] | Milestone | en | it | [PP-001] | - | [RC-004] |
|
||||
| [MIL-003] | Milestone | en | it | [PP-001] | - | [RC-005] |
|
||||
| [MIL-004] | Milestone | en | it | [PP-001] | - | [RC-006] |
|
||||
| [MIL-005] | Milestone | en | it | [PP-001] | - | [RC-007] |
|
||||
| [MIL-006] | Milestone | en | it | [PP-001] | - | [RC-008] |
|
||||
| [MIL-007] | Milestone | en | it | [PP-001] | - | [RC-009] |
|
||||
| [MIL-008] | Milestone | en | it | [PP-001] | - | [RC-010] |
|
||||
|
||||
## Coverage Notes
|
||||
|
||||
- `-` in Upstream means foundational, in Downstream that nothing is built on it yet, and in Last Reviewed that no review record exists.
|
||||
- No use case, domain model or design artifacts exist: the project has no use-case tasks.
|
||||
- Source code is added from MIL-003 on and reviewed against `qc-programming-python`.
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Tracks backward/forward links between artifact instances so that the Business Case's
|
||||
cross-artifact traceability success criterion is measurable. A row is added or
|
||||
updated whenever an artifact instance is created or reviewed.
|
||||
|
||||
## Traceability Table
|
||||
|
||||
| Artifact Instance | Type | Language | Domain | Upstream (Backward Link) | Downstream (Forward Link) | Last Reviewed (RC-ID) |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| [<ID>] | <type> | <Language row, or - for a technical type> | <Domain row, or -> | [<upstream-ID>] | [<downstream-ID>] | [<RC-ID>] |
|
||||
[SA-001]: ../stakeholder-analysis.md
|
||||
[PP-001]: ../project-plan.md
|
||||
[MIL-001]: ../milestones/mil-001-baseline-docs.md
|
||||
[MIL-002]: ../milestones/mil-002-scaffold.md
|
||||
[MIL-003]: ../milestones/mil-003-player.md
|
||||
[MIL-004]: ../milestones/mil-004-cars.md
|
||||
[MIL-005]: ../milestones/mil-005-collision-levelup.md
|
||||
[MIL-006]: ../milestones/mil-006-scoreboard.md
|
||||
[MIL-007]: ../milestones/mil-007-readme-wiki.md
|
||||
[MIL-008]: ../milestones/mil-008-repo-metadata.md
|
||||
[RC-001]: ./reviews/rc-001-business-case.md
|
||||
[RC-002]: ./reviews/rc-002-stakeholder-analysis.md
|
||||
[RC-003]: ./reviews/rc-003-mil-001.md
|
||||
[RC-004]: ./reviews/rc-004-mil-002.md
|
||||
[RC-005]: ./reviews/rc-005-mil-003.md
|
||||
[RC-006]: ./reviews/rc-006-mil-004.md
|
||||
[RC-007]: ./reviews/rc-007-mil-005.md
|
||||
[RC-008]: ./reviews/rc-008-mil-006.md
|
||||
[RC-009]: ./reviews/rc-009-mil-007.md
|
||||
[RC-010]: ./reviews/rc-010-mil-008.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
@@ -0,0 +1,90 @@
|
||||
# Stakeholder Analysis
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | SA-001 |
|
||||
| CrossReference | [BC-001] |
|
||||
| Language | en |
|
||||
| Domain | it |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [93d8321] |
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Identify who is affected by the Turtle Crossing project, who decides and who
|
||||
reviews, using the power/interest grid. S01 is both author and reviewer; this
|
||||
is a known, accepted exception for a single-person course project, recorded in
|
||||
every review as "not independent".
|
||||
|
||||
## Stakeholder Summary Table
|
||||
|
||||
| ID | Name | Role/Title | Organization | Power Level | Interest Level | Quadrant | Primary Concern (Business Language) |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| S01 | Jens Tirsvad Nielsen | Course participant; Product Owner, developer, reviewer | TirSystem | HIGH | HIGH | Manage Closely | A finished, correct game with a clear review trail |
|
||||
| S02 | Udemy coursists | Fellow participants of the bootcamp | Udemy community | LOW | HIGH | Keep Informed | Readable, runnable code with the assignment's function names and README run instructions |
|
||||
| S03 | GitHub viewers | Visitors browsing for ideas | Public | LOW | MEDIUM | Keep Informed | A clear repository description, topics and README, and no runtime dependencies |
|
||||
|
||||
## Power/Interest Classification Rationale
|
||||
|
||||
- **Manage Closely (S01):** decides scope, reviews and accepts every artifact,
|
||||
and does all the work.
|
||||
- **Keep Informed (S02, S03):** cannot change the project, but their use of it
|
||||
is its purpose. S02 has higher interest because they compare solutions; S03
|
||||
is a casual audience.
|
||||
|
||||
## Primary Concerns and FURPS+ Mapping
|
||||
|
||||
FURPS+ is the quality model with Functionality, Usability, Reliability, Performance and Supportability, plus design, implementation, interface and physical constraints.
|
||||
|
||||
| ID | Concern | FURPS+ attribute |
|
||||
| --- | --- | --- |
|
||||
| S01 | Game behaves as the assignment specifies | Functionality |
|
||||
| S01 | Review trail and plan before code | Supportability (process) |
|
||||
| S02 | Assignment names kept (`Player`, `CarManager`, `Scoreboard`, `go_up`, `is_at_finish_line`, `go_to_start`, `level_up`, `create_cars`, `move_cars`) | Functionality, Usability |
|
||||
| S02 | README steps work on their OS | Usability |
|
||||
| S02 | Cars look like cars | Usability |
|
||||
| S03 | Description, topics, README in plain language | Usability |
|
||||
| S03 | No runtime dependencies | Supportability, Implementation constraint |
|
||||
|
||||
## Communication Requirements
|
||||
|
||||
| ID | Channel | Frequency | Deliverable | Phase / Milestone |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| S01 | Chat and pull request review | Per milestone | Review record and pull request | All gateways |
|
||||
| S02 | README, wiki (en, da, ms) | Once per release | Run instructions, wiki pages | MIL-007 |
|
||||
| S03 | Repository description, topics, README | Once | Repository metadata | MIL-008 |
|
||||
|
||||
## Conflicting Interests and Mitigations
|
||||
|
||||
| Conflict | Stakeholders | Mitigation |
|
||||
| --- | --- | --- |
|
||||
| S02 wants the assignment's simple structure; good project hygiene (constants, tests, docs) adds files | S02, S01 | Keep the assignment's class and method names; put extras in `constants.py`, `tests/` and `docs/` only |
|
||||
| S03 wants zero dependencies; Doxygen and pytest are tools | S03, S01 | pytest is a dev-only dependency in `pyproject.toml` optional group; runtime has none |
|
||||
|
||||
## Traceability Analysis
|
||||
|
||||
### Business Goal Alignment
|
||||
|
||||
| Stakeholder | Concern | Business Case objective |
|
||||
| --- | --- | --- |
|
||||
| S01 | Correct game | [BC-001] Objective 1 |
|
||||
| S02 | Readable, runnable code | [BC-001] Objectives 1, 3, 4 |
|
||||
| S02 | Cars look like cars | [BC-001] Objective 2 |
|
||||
| S03 | Clear repository, no dependencies | [BC-001] Objectives 3, 5 |
|
||||
|
||||
## Sign-Off
|
||||
|
||||
| Stakeholder | Date | Decision |
|
||||
| --- | --- | --- |
|
||||
| S01 | [93d8321] | Proposed |
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ./business-case.md
|
||||
[93d8321]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/023-turtle-crossing/commit/93d83217622a6c555dca728fe10c83c35f8ac7e2
|
||||
Submodule
+1
Submodule framework added at 6baeadd3c1
Reference in New Issue
Block a user