CI / test (push) Successful in 54s
Add the framework submodule and the accepted planning documents: Business Case, Stakeholder Analysis, Project Plan, three milestones, review records RC-001 to RC-006 and the traceability matrix. Set up the project skeleton for MIL-001: pyproject.toml (Python >=3.13, no runtime dependencies, pytest/ruff/mypy as dev extra), src/coffee_machine/constants.py, a constants consistency test, Doxyfile and a CI workflow that runs ruff, mypy and pytest. Task: MIL-001#1 Task: MIL-001#2 Task: MIL-001#3 Task: MIL-001#4 Task: MIL-001#5 Closes #1 Closes #2 Closes #3 Closes #4 Closes #5
85 lines
3.3 KiB
Markdown
85 lines
3.3 KiB
Markdown
# Project Plan: OOP Coffee Machine
|
|
|
|
## Metadata
|
|
| Key | Value |
|
|
| --- | --- |
|
|
| ID | PP-001 |
|
|
| CrossReference | [BC-001], [SA-001], [MIL-001], [MIL-002], [MIL-003] |
|
|
| Language | en |
|
|
| Domain | it |
|
|
|
|
## Version History
|
|
| Date | Status | Author | Reviewer | Change | Commit |
|
|
| --- | --- | --- | --- | --- | --- |
|
|
| 2026-10-07 | Deprecated | Jens Tirsvad Nielsen | S01 | Initial version | pending |
|
|
| 2026-10-07 | Accepted | Jens Tirsvad Nielsen | S01 | Accepted after RC-006 (Go) | pending |
|
|
|
|
---
|
|
|
|
## Purpose
|
|
|
|
Schedules the three phases that deliver the coffee machine repository, as
|
|
required by [BC-001], with the communication cadence of [SA-001].
|
|
|
|
## Planning Assumptions
|
|
|
|
- Start date 2026-10-07; one phase per week or less, each ending in a pull request.
|
|
- S01 is owner and reviewer of every phase; S02 and S03 are informed through the README.
|
|
- Nothing under `src/` or `tests/` is written until the milestones are `Accepted` with a `Go` review.
|
|
|
|
## Gateway Schedule
|
|
|
|
| Gateway | Document | Window | Decision date | Owner | Stories | Main deliverable | Milestone |
|
|
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
| Phase 1: Project Setup | [MIL-001] | 2026-10-07 to 2026-10-09 | 2026-10-09 | S01 | None | Skeleton, `pyproject.toml`, Doxyfile, CI | |
|
|
| Phase 2: Coffee Machine Program | [MIL-002] | 2026-10-10 to 2026-10-14 | 2026-10-14 | S01 | None | Menu, CoffeeMaker, MoneyMachine, main loop, tests | |
|
|
| Phase 3: Documentation and Publication | [MIL-003] | 2026-10-15 to 2026-10-16 | 2026-10-16 | S01 | None | README, Doxygen docs, repository description and topics | |
|
|
|
|
## Timeline diagram
|
|
|
|
```plantuml
|
|
@startgantt
|
|
Project starts 2026-10-07
|
|
[Phase 1: Project Setup] starts 2026-10-07 and ends 2026-10-09
|
|
[Phase 2: Coffee Machine Program] starts 2026-10-10 and ends 2026-10-14
|
|
[Phase 3: Documentation and Publication] starts 2026-10-15 and ends 2026-10-16
|
|
[Phase 1: Project Setup] -> [Phase 2: Coffee Machine Program]
|
|
[Phase 2: Coffee Machine Program] -> [Phase 3: Documentation and Publication]
|
|
@endgantt
|
|
```
|
|
|
|
## Scope Coverage
|
|
|
|
| Business Case scope item | Gateway |
|
|
| --- | --- |
|
|
| Package, tests, `pyproject.toml`, `.gitignore`, `constants.py`, Doxyfile | [MIL-001] |
|
|
| Coffee machine program and tests | [MIL-002] |
|
|
| README, Doxygen build | [MIL-003] |
|
|
| Repository description and topics | [MIL-003] |
|
|
|
|
## Dependencies
|
|
|
|
[MIL-001] precedes [MIL-002], which precedes [MIL-003]. A No-Go on a phase moves every later date by the rework time.
|
|
|
|
## Plan Risks
|
|
|
|
| Risk | Impact | Mitigation |
|
|
| --- | --- | --- |
|
|
| Review of each document delays the next phase | Medium | S01 reviews in the same session as the draft |
|
|
| The git host token cannot set topics through the API | Low | Set the description and topics by hand in the web UI |
|
|
|
|
## Open Issues
|
|
|
|
- Dates are proposals; S01 confirms or changes them.
|
|
- Tasks are all plain tasks: the course supplies the design, so no use case or user story is modelled. S01 may ask for a use case "User orders a drink".
|
|
- `PP` has no QC checklist yet; the plan is validated against the Go / No-Go criteria of each milestone.
|
|
- Which remote receives the repository description and topics (`git.tirsystem.com`, GitHub mirror, or both) is for S01 to confirm; both remotes exist.
|
|
|
|
---
|
|
|
|
[BC-001]: ./business-case.md
|
|
[SA-001]: ./stakeholder-analysis.md
|
|
[MIL-001]: ./milestones/mil-001-setup.md
|
|
[MIL-002]: ./milestones/mil-002-core.md
|
|
[MIL-003]: ./milestones/mil-003-docs.md
|