Files
045-scrape-movies/docs/stakeholder-analysis.md
2026-10-28 13:56:55 +08:00

87 lines
4.4 KiB
Markdown

# 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-28 | Accepted | Jens Tirsvad Nielsen | S01 (AI as stand-in, autonomous mode) | Initial version | [dcef5e6] |
---
## Purpose
Identify the people the repository serves and what each needs, so that the Business Case objectives, milestones and documents can name an owner, reviewer and audience. Method: power/interest grid with a FURPS+ mapping of each concern.
## 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 | Finish the Day 45 assignment with clean, documented and reviewed work |
| S02 | Udemy coursists | Fellow participants of the course | 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 browsing for ideas | Public | LOW | LOW | Monitor | A clear repository description, topics and README, and no runtime dependencies beyond the need |
## Power/Interest Classification Rationale
- **Manage Closely (S01):** decides scope, accepts the plan, reviews the summary and owns every artifact.
- **Keep Informed (S02):** cannot change the project but depends on the quality of the code and README.
- **Monitor (S03):** casual audience; served by the repository front page only.
## Primary Concerns and FURPS+ Mapping
| Concern ID | Stakeholder | Concern | FURPS+ attribute |
| --- | --- | --- | --- |
| CN-001 | S01 | Every lecture step is reproduced and its learning documented | Functionality |
| CN-002 | S01 | Work is traceable: plan, branch and pull request per milestone | Supportability |
| CN-003 | S01 | Personal tokens never enter the project | Functionality (security) |
| CN-004 | S02 | Code is readable and keeps the assignment's function names | Usability |
| CN-005 | S02 | Instructions to create the `.venv`, install and run the tests work as written | Usability |
| CN-006 | S02 | Tests run offline and are deterministic | Reliability |
| CN-007 | S03 | Repository description, topics and README explain the purpose at a glance | Usability |
| CN-008 | S03 | No runtime dependencies beyond what scraping needs | Implementation |
| CN-009 | S01, S02 | Wiki in English, Danish and Bahasa Malaysia with a screenshot per lecture step | Usability |
## Communication Requirements
| ID | Channel | Frequency | Deliverable | Phase / Milestone |
| --- | --- | --- | --- | --- |
| C1 | Chat with S01 | At plan acceptance and at the end of the autonomous run | Plan dry run, then run summary with RC verdicts | All |
| C2 | Pull request per milestone | Once per milestone | PR description with `Closes #N` lines | All |
| C3 | README and wiki | On each merge | Instructions, screenshots, lecture learnings | MIL-001 to MIL-005 |
| C4 | Repository description and topics | Once | Metadata on the git host | MIL-001 |
## Conflicting Interests and Mitigations
| Conflict | Stakeholders | Mitigation |
| --- | --- | --- |
| S03 wants no dependencies; the assignment needs `requests` and `beautifulsoup4` | S03, S01 | Keep exactly those two runtime dependencies; development tools stay in an optional `dev` group |
| S02 wants assignment names; clean code wants descriptive names | S02, S01 | Keep the assignment names as public functions and add thin, documented helpers |
| Live scraping vs deterministic tests | S02, S01 | Parsing functions take HTML text; tests use saved fixtures |
## Traceability Analysis
### Business Goal Alignment
| Stakeholder | Concern | Business Case objective |
| --- | --- | --- |
| S01 | CN-001 | O1, O2 [BC-001] |
| S01 | CN-002, CN-003 | O6 [BC-001] |
| S02 | CN-004, CN-005, CN-006 | O1, O3, O4 [BC-001] |
| S03 | CN-007, CN-008 | O4, O6 [BC-001] |
| S01, S02 | CN-009 | O5 [BC-001] |
## Sign-Off
Reviewer: S01 (decision recorded in the RC record of this document).
---
[BC-001]: ./business-case.md
[dcef5e6]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/045-scrape-movies/commit/dcef5e6e6e7ec16162817d3ec0ce1b303e0a3a63