95 lines
4.2 KiB
Markdown
95 lines
4.2 KiB
Markdown
# Project Plan
|
|
|
|
## Metadata
|
|
| Key | Value |
|
|
| --- | --- |
|
|
| ID | PP-001 |
|
|
| CrossReference | [BC-001], [SA-001], [MIL-001], [MIL-002], [MIL-003], [MIL-004] |
|
|
| Language | en |
|
|
| Domain | it |
|
|
|
|
## Version History
|
|
| Date | Status | Author | Reviewer | Change | Commit |
|
|
| --- | --- | --- | --- | --- | --- |
|
|
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | S01 | Initial version | pending |
|
|
|
|
---
|
|
|
|
## Purpose
|
|
|
|
This plan schedules the four phases that deliver the squirrel census assignment: tooling, analysis, documentation and wiki publication. It schedules them against the Business Case constraint of one pull request per milestone and a single-day effort.
|
|
|
|
## Planning Assumptions
|
|
|
|
- Week 1 starts 2026-10-13 (the day of the plan); the plan ends by 2026-10-16.
|
|
- Phase length: one day per phase.
|
|
- One branch and one pull request per milestone, each closing the issues of its tasks ([BC-001] Constraints).
|
|
- The Product Owner and reviewer is S01 for every phase ([SA-001]); in autonomous mode the AI acts as stand-in and records it in each review record.
|
|
- The plan is accepted by S01 in chat; the Project Plan has no quality control (QC) checklist.
|
|
|
|
## Gateway Schedule
|
|
|
|
| Gateway | Document | Window | Decision date | Owner | Stories | Main deliverable | Milestone |
|
|
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
| G1 Project scaffold and tooling | [MIL-001] | 2026-10-13 to 2026-10-14 | 2026-10-14 | S01 | none | `.gitignore`, `pyproject.toml`, constants, Doxyfile, continuous integration (CI), repository metadata | |
|
|
| G2 Squirrel census analysis | [MIL-002] | 2026-10-14 to 2026-10-15 | 2026-10-15 | S01 | US-001 | Package, tests, census file, `squirrel_count.csv` | |
|
|
| G3 README, source documentation and screenshots | [MIL-003] | 2026-10-15 to 2026-10-16 | 2026-10-16 | S01 | none | README, Doxygen comments, screenshots | |
|
|
| G4 Wiki and publication | [MIL-004] | 2026-10-16 | 2026-10-16 | S01 | none | Wiki in en, da and ms | |
|
|
|
|
```plantuml
|
|
@startgantt
|
|
Project starts 2026-10-13
|
|
[G1 Project scaffold] starts 2026-10-13 and ends 2026-10-14
|
|
[G2 Census analysis] starts 2026-10-14 and ends 2026-10-15
|
|
[G3 Documentation] starts 2026-10-15 and ends 2026-10-16
|
|
[G4 Wiki] starts 2026-10-16 and ends 2026-10-16
|
|
[G1 Go/No-Go] happens 2026-10-14
|
|
[G2 Go/No-Go] happens 2026-10-15
|
|
[G3 Go/No-Go] happens 2026-10-16
|
|
[G4 Go/No-Go] happens 2026-10-16
|
|
@endgantt
|
|
```
|
|
|
|
## Scope Coverage
|
|
|
|
| Business Case scope item | Gateway |
|
|
| --- | --- |
|
|
| Reading the census file and counting by primary fur colour | G2 |
|
|
| Summary table exported as `squirrel_count.csv` | G2 |
|
|
| Command line entry point, `constants.py`, `pyproject.toml`, `.gitignore`, tests, CI | G1 and G2 |
|
|
| Doxygen comments, `Doxyfile`, build instructions | G1 and G3 |
|
|
| README, screenshots | G3 |
|
|
| Three-language wiki | G4 |
|
|
| Repository description and topics | G1 (set) and G4 (verified) |
|
|
|
|
## Dependencies
|
|
|
|
```
|
|
G1 -> G2 -> G3 -> G4
|
|
```
|
|
|
|
A No-Go at a gateway stops the later gateways; their dates move by the days the rework takes.
|
|
|
|
## Plan Risks
|
|
|
|
| Risk | Impact | Mitigation |
|
|
| --- | --- | --- |
|
|
| CI runner is not available on the git host | The CI workflow cannot be shown green | Run the same commands locally and report the missing runner |
|
|
| Wiki repository cannot be pushed | G4 deliverable is not published | Keep the pages under `docs/wiki/` and report it |
|
|
| Doxygen is not installed locally | The documentation build cannot be verified | Report as not verified; document the command |
|
|
|
|
## Open Issues
|
|
|
|
- The repository URL in the request (`Tirsvad-Udemy-100_days_of_code`) differs from `origin` (`Tirsvad-Udemy-100-days-of-code/025-squirrel`); the plan follows `origin`.
|
|
- The census file (730 kilobytes) is assumed to be committed under `data/`; S01 can veto this at plan acceptance.
|
|
- The lecture uses Pandas; the plan uses the standard library to keep zero runtime dependencies (ADR-0001, [SA-001] conflict list).
|
|
|
|
---
|
|
|
|
[BC-001]: ./business-case.md
|
|
[SA-001]: ./stakeholder-analysis.md
|
|
[MIL-001]: ./milestones/mil-001-project-scaffold.md
|
|
[MIL-002]: ./milestones/mil-002-census-analysis.md
|
|
[MIL-003]: ./milestones/mil-003-documentation.md
|
|
[MIL-004]: ./milestones/mil-004-wiki-publication.md
|