Project Plan: Flash Card
Metadata
| Key |
Value |
| ID |
PP-001 |
| CrossReference |
BC-001, SA-001, US-001, MIL-001, MIL-002, MIL-003, MIL-004, MIL-005, MIL-006, MIL-007, MIL-008, MIL-009 |
| Language |
en |
| Domain |
it |
Version History
| Date |
Status |
Author |
Reviewer |
Change |
Commit |
| 2026-10-14 |
Deprecated |
Jens Tirsvad Nielsen |
AI as stand-in for S01 |
Initial version |
c3fbcbc |
| 2026-10-14 |
Deprecated |
Jens Tirsvad Nielsen |
AI as stand-in for S01 |
Added gateway MIL-008 Choose level (new request of S01) |
0b983b7 |
| 2026-10-15 |
Accepted |
Jens Tirsvad Nielsen |
AI as stand-in for S01 |
Added gateway MIL-009 Executable with PyInstaller (new request of S01) |
768ca34 |
Purpose
This plan schedules the seven phases (gateways) that deliver the flash card program inside the delivery window of one week that the Business Case sets as a constraint (2026-10-14 to 2026-10-21). Each phase is one milestone and is delivered by one pull request, so the Product Owner (S01) can follow the work step by step.
Planning Assumptions
- Week 1 starts 2026-10-14; the plan ends by 2026-10-21, per the Business Case constraint.
- One phase takes one day; the last phase (documentation and publication) has three days because the wiki exists in three languages and the screenshots need the finished program.
- The baseline documents (Business Case, Stakeholder Analysis, Project Plan, use case documents, ADRs) are accepted before MIL-001 starts, in a pull request of their own.
- Phases 2 to 5 follow the four steps of the course assignment in order; phase 6 is the Product Owner's extra.
- S01 is owner and approving reviewer of every phase; in autonomous mode the AI acts as stand-in and the review records say so.
Gateway Schedule
| Gateway |
Document |
Window |
Decision date |
Owner |
Stories |
Main deliverable |
Milestone |
| Project foundation |
MIL-001 |
2026-10-14 |
2026-10-14 |
S01 |
none |
pyproject, gitignore, skeleton, Doxyfile, first README, word list |
Milestone MIL-001 |
| Step 1 - User interface |
MIL-002 |
2026-10-15 |
2026-10-15 |
S01 |
US-001.01 |
The window with card and buttons |
Milestone MIL-002 |
| Step 2 - New flash cards |
MIL-003 |
2026-10-16 |
2026-10-16 |
S01 |
US-001.02 |
Random cards from the word list |
Milestone MIL-003 |
| Step 3 - Flip the cards |
MIL-004 |
2026-10-17 |
2026-10-17 |
S01 |
US-001.03 |
Flip after 3000 ms |
Milestone MIL-004 |
| Step 4 - Save progress |
MIL-005 |
2026-10-18 |
2026-10-18 |
S01 |
US-001.04 |
words_to_learn.csv |
Milestone MIL-005 |
| Spoken Malay word |
MIL-006 |
2026-10-19 |
2026-10-19 |
S01 |
US-001.05 |
Text to speech as optional extra |
Milestone MIL-006 |
| Documentation and publication |
MIL-007 |
2026-10-19 to 2026-10-21 |
2026-10-21 |
S01 |
none |
README, screenshots, wiki in 3 languages, description and topics |
Milestone MIL-007 |
| Choose level |
MIL-008 |
2026-10-20 |
2026-10-20 |
S01 |
US-001.06 |
A level choice (100, 1000, all words) before the cards; documents, wiki and screenshots updated |
|
| Executable with PyInstaller |
MIL-009 |
2026-10-16 |
2026-10-16 |
S01 |
US-001.07 |
One Windows executable that runs without Python, built by a script; documents, wiki and README updated |
|
Scope Coverage
| Business Case scope item |
Gateway |
| Tkinter program with the assignment's function names |
MIL-002, MIL-003, MIL-004, MIL-005 |
Reading data/ms-da.csv |
MIL-003 |
Saving and using words_to_learn.csv |
MIL-005 |
| Optional spoken Malay word |
MIL-006 |
pyproject.toml, .gitignore, Doxyfile, .venv instructions, pytest, constants.py |
MIL-001 |
| README, screenshots, wiki in three languages |
MIL-007 |
| Repository description and topics |
MIL-007 |
| Choice of level (new request after MIL-007) |
MIL-008 |
| Executable built with PyInstaller (new request after MIL-008) |
MIL-009 |
| Framework documents of the baseline |
Baseline pull request before MIL-001 |
Dependencies
A No-Go on a phase moves every later date by the days the rework takes; MIL-008 was added after MIL-007 and takes the unplanned day 2026-10-20, so no buffer is left inside the window; a No-Go moves the end date past 2026-10-21 and S01 decides whether to accept that.
Plan Risks
| Risk |
Impact |
Mitigation |
| No display on the machine that runs the review, so the e2e tests skip |
Window behaviour is checked by the view model tests only |
The review record states whether the e2e tests ran; the screenshots in MIL-007 prove the window on a machine with a display |
| The git host's CI is not available |
The publish workflows cannot run |
Milestones are published with sync-project.sh and the wiki by SSH push (MIL-007) |
| The speech extra cannot be installed on the build machine |
MIL-006 cannot be demonstrated end to end |
The adapter is tested with fakes; the manual check is recorded as not done |
Open Issues
- No Governance document (GOV): see ADR-0003. S01 is the only approver.
- The git host's
sync-milestones workflow is not installed; whether to install it is S01's decision.