Add baseline: Business Case, Stakeholder Analysis, Project Plan and milestones

Refs the three milestones MIL-001 to MIL-003; reviews RC-001 to RC-005 (Go).
This commit is contained in:
2026-10-17 15:11:20 +08:00
parent f8ea3401bd
commit 052008f213
14 changed files with 904 additions and 0 deletions
+79
View File
@@ -0,0 +1,79 @@
# 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-17 | Accepted | Jens Tirsvad Nielsen | S01 | Initial version; reviewed in RC-002 (Go) | pending |
---
## Purpose
This analysis names the people the project serves and what each needs, so that scope and documentation choices can be traced to a person. It classifies each stakeholder by power and interest (Mendelow grid) and maps concerns to FURPS+.
## 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 and reviewer | Tirsvad | HIGH | HIGH | Manage Closely | A working, tested solution to the assignment, built with the framework |
| S02 | Udemy coursists | Course participants who share and compare solutions | Udemy community | LOW | HIGH | Keep Informed | Readable, runnable code with the assignment's function names, and README instructions to run it |
| S03 | GitHub viewers | Visitors who browse the repository for ideas | Public | LOW | LOW | Monitor | A clear repository description, topics and README, and no runtime dependencies |
## Power/Interest Classification Rationale
- **Manage Closely (S01):** decides scope, reviews every step and accepts the result.
- **Keep Informed (S02):** cannot change the project but depends on the quality of the code and README.
- **Monitor (S03):** casual visitors; served by the repository front page.
## Primary Concerns and FURPS+ Mapping
| ID | Concern | FURPS+ attribute |
| --- | --- | --- |
| S01 | Birthday letters are sent correctly | Functionality |
| S01 | Tests run offline and are repeatable | Reliability |
| S01 | The token never leaks | Functionality (security) |
| S02 | Assignment names (`birthdays.csv`, `[NAME]`, letter templates) are kept | Usability |
| S02 | Code is easy to read and run | Usability, Supportability |
| S03 | Description, topics and README are clear | Usability |
| S03 | No runtime dependencies | Supportability (+ implementation constraint) |
## Communication Requirements
| ID | Channel | Frequency | Deliverable | Phase / Milestone |
| --- | --- | --- | --- | --- |
| S01 | Chat and pull request review | Each milestone | Pull request, review record, run summary | All milestones |
| S02 | README and wiki (en, da, ms) | At publication | Run instructions with screenshots | Documentation milestone |
| S03 | Repository description, topics and README | At publication | Front page | Documentation milestone |
## Conflicting Interests and Mitigations
| Conflict | Stakeholders | Mitigation |
| --- | --- | --- |
| The course hints use pandas, but S03 wants no runtime dependencies | S02, S03 | Use the standard `csv` module and keep the assignment's names; document the choice in the README |
| Real sending needs a secret, but the repository is public | S01, S03 | The token is read from the environment; only `.env.example` is tracked |
## Traceability Analysis
### Business Goal Alignment
| Stakeholder | Concern | Business Case objective |
| --- | --- | --- |
| S01 | Correct sending, offline tests | [BC-001] objectives 1 and 3 |
| S02 | Assignment names, run instructions | [BC-001] objectives 2 and 4 |
| S03 | Description, topics, no dependencies | [BC-001] objectives 4 and 5 |
## Sign-Off
Reviewer: S01 (Product Owner). Review recorded in the `RC-*` for this instance.
---
[BC-001]: ./business-case.md