Add Pretty Table project: plan, accepted documents and code
Business Case, Stakeholder Analysis, Project Plan and milestone MIL-001 with review records RC-001 to RC-003, then the Python project: PrettyTable Pokemon table, constants, pytest tests, pyproject.toml, Doxyfile, CI workflow and README. Task: MIL-001#1 Task: MIL-001#2 Task: MIL-001#3 Task: MIL-001#4 Task: MIL-001#5 Task: MIL-001#6 Task: MIL-001#7 Task: MIL-001#8
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# Artifact Registry
|
||||
|
||||
This project's artifact state. Types, short names and `CrossReference
|
||||
Candidates` come from the framework catalog
|
||||
(`framework/registry/artifact-catalog.md`); this file only records where
|
||||
each document lives in *this* project and the next version to use.
|
||||
|
||||
Delete rows for types you don't use. Add a row the first time you create a
|
||||
document of a type. `Primary File` may contain a glob (e.g.
|
||||
`docs/uc-*/uc.md`); `framework/scripts/find-crossreferences.sh` reads it.
|
||||
|
||||
| Short Name | Artifact Type | Primary File | Next Available Version |
|
||||
| --- | --- | --- | --- |
|
||||
| BC | Business Case | docs/business-case.md | 002 |
|
||||
| SA | Stakeholder Analysis | docs/stakeholder-analysis.md | 002 |
|
||||
| PP | Project Plan | docs/project-plan.md | 002 |
|
||||
| MIL | Milestone / Gateway | docs/milestones/*.md | 002 |
|
||||
| RC | SQA Review Record | docs/sqa/reviews/rc-*.md | 004 |
|
||||
|
||||
## Languages
|
||||
|
||||
Set the PO language when the project starts; `project-planning` asks for it
|
||||
if it is missing. An artifact of a type marked "Written in the PO language"
|
||||
exists once, in that language, under its normal name (`business-case.md`); the
|
||||
`artifact` skill ("One file per artifact") has the rule.
|
||||
|
||||
| Setting | Value |
|
||||
| --- | --- |
|
||||
| PO language | en |
|
||||
| PO domain | it |
|
||||
| High-level register | IT Executive English |
|
||||
| Technical register | IT Professional English |
|
||||
|
||||
Every artifact of a type marked "Yes" below states its language and domain in
|
||||
its `Language` and `Domain` Metadata rows; `new-artifact.sh` fills them from
|
||||
`PO language` and `PO domain`. `Language` is a BCP 47 code (`da`, `en`).
|
||||
`Domain` is a value from this list; add a row to introduce a domain, so a
|
||||
reviewer can see at once which professional vocabulary a document uses.
|
||||
|
||||
| Domain | Meaning |
|
||||
| --- | --- |
|
||||
| it | Software and IT |
|
||||
| medical | Healthcare and medical devices |
|
||||
| construction | Construction and civil engineering |
|
||||
|
||||
| Artifact types | Register | Written in the PO language |
|
||||
| --- | --- | --- |
|
||||
| BC, KPI, PP, MIL | IT Executive English | Yes |
|
||||
| SA, BMC, BPMN, UCD, US, UC, SSD, DM, RA, GOV, DICT | IT Professional English | Yes |
|
||||
| OC, SD, DCD, ERD, ADR, TM, RC, QC, source code | IT Professional English | No |
|
||||
|
||||
## Notes
|
||||
|
||||
- "Next Available Version" is the zero-padded (3-digit) version to use the
|
||||
*next* time a new document of that type is created. Increment it only when
|
||||
a brand-new document is created, not when an existing document's
|
||||
`## Version History` gets a row.
|
||||
- `ADR` uses 4 digits (`0001`); `RC` is sequential across all artifact types.
|
||||
@@ -0,0 +1,121 @@
|
||||
# Business Case
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | BC-001 |
|
||||
| CrossReference | [SA-001] |
|
||||
| Language | en |
|
||||
| Domain | it |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-07 | Accepted | Jens Tirsvad Nielsen | S01 | Initial version | pending |
|
||||
|
||||
---
|
||||
|
||||
## Executive Summary
|
||||
|
||||
This project delivers the Udemy "100 Days of Code" lesson on adding Python packages from PyPI. It is a small, runnable Python program that builds a table of Pokémon names and types with the PrettyTable package, packaged as a clean, tested and documented repository that other course participants and GitHub visitors can read and run. The effort is deliberately small, and the single runtime dependency is the one the assignment teaches.
|
||||
|
||||
## Methodological and Standards Foundation
|
||||
|
||||
The work follows the SQA and QC framework mounted at `framework/` (Business Case, Stakeholder Analysis, Project Plan, milestones, tasks as issues, then code). Quality characteristics follow ISO/IEC 25010:2023. Code follows the framework's `coding-conventions` skill for Python and is reviewed against its `qc-programming-*` checklist.
|
||||
|
||||
## Problem Statement
|
||||
|
||||
The assignment solution exists only as lesson material. Without a repository there is nothing to share, compare or reuse, and the install-and-import workflow for PyPI packages is not documented in a reproducible form (virtual environment, dependency declaration, tests).
|
||||
|
||||
## Business Opportunity
|
||||
|
||||
A clear, runnable reference solution lets other course participants compare their code, and gives GitHub viewers a tidy example of a small Python project with tests, documentation and project configuration.
|
||||
|
||||
## Objectives
|
||||
|
||||
1. O1: Provide a Python program that prints the Pokémon type table with PrettyTable, using the assignment's function names.
|
||||
2. O2: Document how to create and use a local `.venv`, upgrade pip, run the program and run the tests.
|
||||
3. O3: Provide pytest tests, a `pyproject.toml`, constants in `constants.py`, Doxygen comments and a Doxyfile.
|
||||
4. O4: Publish the repository with a description and topics.
|
||||
|
||||
## Scope
|
||||
|
||||
### In Scope
|
||||
|
||||
- Python 3.13 or newer source under `src/`, tests under `tests/`, documents under `docs/`.
|
||||
- `pyproject.toml`, Python `.gitignore`, `Doxyfile`, and a README built from the template.
|
||||
- Repository description and topics on the git host.
|
||||
|
||||
### Out of Scope
|
||||
|
||||
- Features beyond the lesson (the PrettyTable styling exercises of later lessons).
|
||||
- Publishing the package to PyPI.
|
||||
- Using, importing or testing the `.env` file; it is personal and only used to reach the git host.
|
||||
|
||||
## Expected Benefits
|
||||
|
||||
### Tangible Benefits
|
||||
|
||||
- A runnable, tested repository that others can clone and run in minutes.
|
||||
- A reproducible environment recipe for Windows, Linux and macOS.
|
||||
|
||||
### Intangible Benefits
|
||||
|
||||
- A consistent portfolio of course assignments.
|
||||
- Practice with packages, PyPI and project hygiene.
|
||||
|
||||
## Strategic Alignment
|
||||
|
||||
The project supports the participant's goal of completing the bootcamp with consistent, reviewable work, and the community goal of sharing readable solutions.
|
||||
|
||||
## Success Criteria
|
||||
|
||||
| # | Criterion | Target | Measure |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | Program prints the Pokémon table | Exit code 0 and the expected table text | pytest test of the rendered table |
|
||||
| 2 | Tests pass | 100% of tests pass in a fresh `.venv` | `python -m pytest` |
|
||||
| 3 | README steps work | A new reader runs the program using only the README | Manual walkthrough on one OS |
|
||||
| 4 | Repository metadata | Description and at least 3 topics set | Inspect the repository page |
|
||||
|
||||
## Risks
|
||||
|
||||
| Risk | Impact | Mitigation |
|
||||
| --- | --- | --- |
|
||||
| PrettyTable API changes | Output or tests break | Declare a minimum version in `pyproject.toml` and test the rendered output |
|
||||
| Token leaks into the repository | Credential exposure | `.env` is git-ignored and never imported or tested |
|
||||
| Over-engineering a tiny assignment | Wasted effort | Keep one runtime dependency and a minimal layout |
|
||||
|
||||
## Assumptions
|
||||
|
||||
- Python 3.13 or newer is installed by the reader.
|
||||
- PyPI is reachable when installing PrettyTable.
|
||||
- The git host accepts a description and topics through its API.
|
||||
|
||||
## Constraints
|
||||
|
||||
- Python 3.13 or newer, `venv` for environments, pytest for tests.
|
||||
- Constants live in `constants.py`; source uses Doxygen comments.
|
||||
- Configuration lives in `pyproject.toml`.
|
||||
- Only the user performs commits, pushes and merges.
|
||||
|
||||
## Cost–Benefit Assessment
|
||||
|
||||
| Costs | Benefits |
|
||||
| --- | --- |
|
||||
| A few hours of the participant's time; no licence or hosting cost | A shareable, tested reference solution and a reusable project template |
|
||||
|
||||
## Stakeholders
|
||||
|
||||
| Stakeholder ID (SA) | Interest in this project |
|
||||
| --- | --- |
|
||||
| S01 | Owns the work and wants an accepted, reviewed result |
|
||||
| S02 | Wants readable, runnable code with the assignment's function names |
|
||||
| S03 | Wants a clear description, topics and README, with no runtime dependencies beyond the lesson's |
|
||||
|
||||
## Recommendation
|
||||
|
||||
Proceed — the scope is small, the cost is minimal and the result is directly reusable.
|
||||
|
||||
---
|
||||
|
||||
[SA-001]: ./stakeholder-analysis.md
|
||||
@@ -0,0 +1,81 @@
|
||||
# G1 Project delivery
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | MIL-001 |
|
||||
| CrossReference | [BC-001], [SA-001] |
|
||||
| Language | en |
|
||||
| Domain | it |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-07 | Accepted | Jens Tirsvad Nielsen | S01 | Initial version | pending |
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Decide whether the Pretty Table project is complete enough to publish: runnable, tested, documented and described on the git host.
|
||||
|
||||
## Deliverable
|
||||
|
||||
A Python 3.13+ project with `src/`, `tests/`, `docs/`, `pyproject.toml`, `constants.py`, `Doxyfile`, a Python `.gitignore` and a README built from the template, plus a repository description and topics.
|
||||
|
||||
## Go / No-Go Criteria
|
||||
|
||||
| # | Criterion (objectively checkable) | Go | No-Go |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | `python -m pytest` passes in a fresh `.venv` | All tests pass | Any failure |
|
||||
| 2 | The program prints the Pokémon type table | Output matches the tested table | Output differs or the run fails |
|
||||
| 3 | The README follows the template and its steps work | Each section is filled and the steps run | A section is missing or a step fails |
|
||||
| 4 | Runtime dependencies | Only PrettyTable | Any other runtime dependency |
|
||||
| 5 | Repository description and at least 3 topics are set | Visible on the repository page | Missing |
|
||||
| 6 | Code review record against `qc-programming-python` | `RC-*` says Go | No review or No-Go |
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Depends on | Reason |
|
||||
| --- | --- |
|
||||
| [BC-001] | Scope and success criteria |
|
||||
| [SA-001] | Stakeholders S01, S02, S03 |
|
||||
|
||||
## Traceability
|
||||
|
||||
| Business Case objective / KPI / user story | Reference |
|
||||
| --- | --- |
|
||||
| O1 Pokémon table program | Tasks 3, 4 |
|
||||
| O2 Documented run, venv and tests | Tasks 1, 6 |
|
||||
| O3 Tests, pyproject, constants, Doxygen | Tasks 1, 2, 4, 5 |
|
||||
| O4 Repository published with description and topics | Task 8 |
|
||||
|
||||
## Ownership
|
||||
|
||||
| Role | Stakeholder ID (SA) |
|
||||
| --- | --- |
|
||||
| Owner | S01 |
|
||||
| Approving reviewer | S01 |
|
||||
|
||||
## Target Date
|
||||
|
||||
2026-10-14 — one week from the start, consistent with the Business Case's small scope.
|
||||
|
||||
## Tasks
|
||||
|
||||
| # | Task | Summary | Needs its own Use Case/User Story? | Reference |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 1 | Configure project files | Create `pyproject.toml` (Python 3.13 or newer, PrettyTable runtime dependency, pytest as a dev dependency) and a Python `.gitignore` that also ignores `.env` and `.venv`. Supports O2 and O3. | No | |
|
||||
| 2 | Add constants module | Create `src/constants.py` holding the Pokémon names, types and column titles so no literals are scattered in the code. Supports O3. | No | |
|
||||
| 3 | Implement the Pokémon table | Create the program in `src/` that builds and prints the PrettyTable of Pokémon and their types (for example Pikachu Electric, Squirtle Water), with the assignment's function names and Doxygen comments. Supports O1. | No | |
|
||||
| 4 | Add pytest tests | Create tests in `tests/` that check the rendered table and the program's output, run with `python -m pytest`. Supports O1 and O3. | No | |
|
||||
| 5 | Add Doxyfile | Create a `Doxyfile` that builds the source documentation from `src/`. Supports O3. | No | |
|
||||
| 6 | Write the README | Write `README.md` from the template: requirements, local `.venv` and `python -m pip install --upgrade pip` for Windows PowerShell, Linux Debian and macOS, running, testing, CI, Doxygen and layout. Supports O2. | No | |
|
||||
| 7 | Describe continuous integration | Add a CI workflow that installs the project and runs pytest, and explain it in the README CI section. Supports O2. | No | |
|
||||
| 8 | Set repository description and topics | Use the token from the personal `.env` (never committed, imported or tested) to set the description and topics on the git host. Supports O4. | No | |
|
||||
| 9 | Review code against the Python checklist | Review the source and tests against `qc-programming-python` and record an `RC-*` before the pull request. Supports Go criterion 6. | No | |
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ../business-case.md
|
||||
[SA-001]: ../stakeholder-analysis.md
|
||||
@@ -0,0 +1,71 @@
|
||||
# Project Plan
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | PP-001 |
|
||||
| CrossReference | [BC-001], [SA-001], [MIL-001] |
|
||||
| Language | en |
|
||||
| Domain | it |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-07 | Accepted | Jens Tirsvad Nielsen | S01 | Initial version | pending |
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Schedules the single delivery phase of the Pretty Table assignment so that the repository can be published within one week, as the Business Case's small-scope constraint implies.
|
||||
|
||||
## Planning Assumptions
|
||||
|
||||
- Week 1 starts 2026-10-07; the plan ends by 2026-10-14.
|
||||
- One phase of one week; the Product Owner (S01) is the only decision maker, per [SA-001].
|
||||
|
||||
## Gateway Schedule
|
||||
|
||||
| Gateway | Document | Window | Decision date | Owner | Stories | Main deliverable | Milestone |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| G1 Project delivery | [MIL-001] | 2026-10-07 to 2026-10-14 | 2026-10-14 | S01 | none | Tested, documented Python project and published repository metadata | |
|
||||
|
||||
```plantuml
|
||||
@startgantt
|
||||
Project starts 2026-10-07
|
||||
[G1 Project delivery] starts 2026-10-07 and ends 2026-10-14
|
||||
[G1 Go/No-Go] happens 2026-10-14
|
||||
@endgantt
|
||||
```
|
||||
|
||||
## Scope Coverage
|
||||
|
||||
| Business Case scope item | Gateway |
|
||||
| --- | --- |
|
||||
| Source under `src/`, tests under `tests/`, documents under `docs/` | G1 |
|
||||
| `pyproject.toml`, `.gitignore`, `Doxyfile`, README | G1 |
|
||||
| Repository description and topics | G1 |
|
||||
|
||||
## Dependencies
|
||||
|
||||
```
|
||||
G1 Project delivery
|
||||
```
|
||||
|
||||
A No-Go on G1 moves the decision date until the failed criteria are fixed.
|
||||
|
||||
## Plan Risks
|
||||
|
||||
| Risk | Impact | Mitigation |
|
||||
| --- | --- | --- |
|
||||
| Git host API is unavailable for description and topics | Task cannot be completed | Set them by hand on the repository page |
|
||||
|
||||
## Open Issues
|
||||
|
||||
- The assignment's exact function names are not given in the task text; the code uses `create_table` and `main`, to be adjusted if S01 names others.
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ./business-case.md
|
||||
[SA-001]: ./stakeholder-analysis.md
|
||||
[MIL-001]: ./milestones/mil-001-pretty-table-project.md
|
||||
@@ -0,0 +1,60 @@
|
||||
# SQA Review Record
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | RC-001 |
|
||||
| CrossReference | [BC-001] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-07 | Proposed | Jens Tirsvad Nielsen | S01 | Initial version | pending |
|
||||
|
||||
---
|
||||
|
||||
## Artifact Under Review
|
||||
|
||||
- Instance reviewed: [BC-001]
|
||||
- Checklist used: none available; the `BC` reference in the `artifact` skill (`references/BC.md`)
|
||||
- Scope: full review. The QC checklist named in the catalog is not present: `framework/qc/` is empty in this clone. The criteria below are the required sections and rules of the type's `references/` file.
|
||||
- Language and domain: en / it
|
||||
- Language reviewer: none (S01 reads English and knows the domain)
|
||||
|
||||
## Checklist Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | Executive Summary | Pass | Present and filled in the instance |
|
||||
| 2 | Methodological and Standards Foundation | Pass | Present and filled in the instance |
|
||||
| 3 | Problem Statement | Pass | Present and filled in the instance |
|
||||
| 4 | Business Opportunity | Pass | Present and filled in the instance |
|
||||
| 5 | Objectives | Pass | Present and filled in the instance |
|
||||
| 6 | Scope (In/Out) | Pass | Present and filled in the instance |
|
||||
| 7 | Expected Benefits (Tangible/Intangible) | Pass | Present and filled in the instance |
|
||||
| 8 | Strategic Alignment | Pass | Present and filled in the instance |
|
||||
| 9 | Success Criteria (measurable) | Pass | Present and filled in the instance |
|
||||
| 10 | Risks (each with mitigation) | Pass | Present and filled in the instance |
|
||||
| 11 | Assumptions | Pass | Present and filled in the instance |
|
||||
| 12 | Constraints | Pass | Present and filled in the instance |
|
||||
| 13 | Cost-Benefit Assessment | Pass | Present and filled in the instance |
|
||||
| 14 | Stakeholders cite SA IDs, no re-description | Pass | Present and filled in the instance |
|
||||
| 15 | Recommendation (single proceed statement) | Pass | Present and filled in the instance |
|
||||
|
||||
## Language and Domain Results
|
||||
|
||||
QC-LANG-001 is not available in this clone. Spot check: the document is in English, in the IT domain, with the `Language` and `Domain` rows set, and uses the PO's terms.
|
||||
|
||||
## Overall Verdict
|
||||
|
||||
Go — every required section is present and consistent with the Business Case and Stakeholder Analysis. The author and the reviewer are both S01, the only stakeholder with the authority; the PO explicitly instructed acceptance in chat on 2026-10-07.
|
||||
|
||||
## Action Items
|
||||
|
||||
| Action | Owner | Due |
|
||||
| --- | --- | --- |
|
||||
| Re-review against the QC checklist once `framework/qc/` is populated | S01 | when the framework provides it |
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ../../business-case.md
|
||||
@@ -0,0 +1,53 @@
|
||||
# SQA Review Record
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | RC-002 |
|
||||
| CrossReference | [SA-001] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-07 | Proposed | Jens Tirsvad Nielsen | S01 | Initial version | pending |
|
||||
|
||||
---
|
||||
|
||||
## Artifact Under Review
|
||||
|
||||
- Instance reviewed: [SA-001]
|
||||
- Checklist used: none available; the `SA` reference in the `artifact` skill (`references/SA.md`)
|
||||
- Scope: full review. The QC checklist named in the catalog is not present: `framework/qc/` is empty in this clone. The criteria below are the required sections and rules of the type's `references/` file.
|
||||
- Language and domain: en / it
|
||||
- Language reviewer: none (S01 reads English and knows the domain)
|
||||
|
||||
## Checklist Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | Purpose | Pass | Present and filled in the instance |
|
||||
| 2 | Stakeholder Summary Table fully filled | Pass | Present and filled in the instance |
|
||||
| 3 | Classification Rationale consistent with the table | Pass | Present and filled in the instance |
|
||||
| 4 | Concerns mapped to FURPS+ | Pass | Present and filled in the instance |
|
||||
| 5 | Communication Requirements | Pass | Present and filled in the instance |
|
||||
| 6 | Every conflict has a mitigation | Pass | Present and filled in the instance |
|
||||
| 7 | Traceability cites BC-001 objectives | Pass | Present and filled in the instance |
|
||||
| 8 | Sign-Off | Pass | Present and filled in the instance |
|
||||
|
||||
## Language and Domain Results
|
||||
|
||||
QC-LANG-001 is not available in this clone. Spot check: the document is in English, in the IT domain, with the `Language` and `Domain` rows set, and uses the PO's terms.
|
||||
|
||||
## Overall Verdict
|
||||
|
||||
Go — every required section is present and consistent with the Business Case and Stakeholder Analysis. The author and the reviewer are both S01, the only stakeholder with the authority; the PO explicitly instructed acceptance in chat on 2026-10-07.
|
||||
|
||||
## Action Items
|
||||
|
||||
| Action | Owner | Due |
|
||||
| --- | --- | --- |
|
||||
| Re-review against the QC checklist once `framework/qc/` is populated | S01 | when the framework provides it |
|
||||
|
||||
---
|
||||
|
||||
[SA-001]: ../../stakeholder-analysis.md
|
||||
@@ -0,0 +1,53 @@
|
||||
# SQA Review Record
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | RC-003 |
|
||||
| CrossReference | [MIL-001] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-07 | Proposed | Jens Tirsvad Nielsen | S01 | Initial version | pending |
|
||||
|
||||
---
|
||||
|
||||
## Artifact Under Review
|
||||
|
||||
- Instance reviewed: [MIL-001]
|
||||
- Checklist used: none available; the `MIL` reference in the `artifact` skill (`references/MIL.md`)
|
||||
- Scope: full review. The QC checklist named in the catalog is not present: `framework/qc/` is empty in this clone. The criteria below are the required sections and rules of the type's `references/` file.
|
||||
- Language and domain: en / it
|
||||
- Language reviewer: none (S01 reads English and knows the domain)
|
||||
|
||||
## Checklist Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | Purpose | Pass | Present and filled in the instance |
|
||||
| 2 | Deliverable is concrete | Pass | Present and filled in the instance |
|
||||
| 3 | Go/No-Go criteria objectively checkable | Pass | Present and filled in the instance |
|
||||
| 4 | Dependencies | Pass | Present and filled in the instance |
|
||||
| 5 | Traceability to BC objectives | Pass | Present and filled in the instance |
|
||||
| 6 | Ownership uses SA stakeholder IDs | Pass | Present and filled in the instance |
|
||||
| 7 | Target Date consistent with BC | Pass | Present and filled in the instance |
|
||||
| 8 | Tasks table: Task/Summary/Needs-UC/Reference, plain tasks marked No | Pass | Present and filled in the instance |
|
||||
|
||||
## Language and Domain Results
|
||||
|
||||
QC-LANG-001 is not available in this clone. Spot check: the document is in English, in the IT domain, with the `Language` and `Domain` rows set, and uses the PO's terms.
|
||||
|
||||
## Overall Verdict
|
||||
|
||||
Go — every required section is present and consistent with the Business Case and Stakeholder Analysis. The author and the reviewer are both S01, the only stakeholder with the authority; the PO explicitly instructed acceptance in chat on 2026-10-07.
|
||||
|
||||
## Action Items
|
||||
|
||||
| Action | Owner | Due |
|
||||
| --- | --- | --- |
|
||||
| Re-review against the QC checklist once `framework/qc/` is populated | S01 | when the framework provides it |
|
||||
|
||||
---
|
||||
|
||||
[MIL-001]: ../../milestones/mil-001-pretty-table-project.md
|
||||
@@ -0,0 +1,74 @@
|
||||
# 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-07 | Accepted | Jens Tirsvad Nielsen | S01 | Initial version | pending |
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Identify who is affected by the project and what each needs, using a power/interest grid, so the plan and the README serve them.
|
||||
|
||||
## 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 finished, reviewed assignment that follows the framework |
|
||||
| S02 | Udemy coursists | Fellow course participants | Udemy community | LOW | HIGH | Keep Informed | Readable, runnable code with the assignment's function names, and README run instructions |
|
||||
| S03 | GitHub viewers | Repository browsers | Public | LOW | LOW | Monitor | A clear repository description, topics and README, and no runtime dependencies beyond the lesson's |
|
||||
|
||||
## Power/Interest Classification Rationale
|
||||
|
||||
- **Manage Closely:** S01 decides scope, writes and reviews everything.
|
||||
- **Keep Informed:** S02 cannot change the project but depends on its code and README.
|
||||
- **Monitor:** S03 browses for ideas and has no say; the description, topics and README are enough.
|
||||
|
||||
## Primary Concerns and FURPS+ Mapping
|
||||
|
||||
| ID | Concern | FURPS+ attribute |
|
||||
| --- | --- | --- |
|
||||
| S01 | Work follows the plan-first process and is verified by tests | Functionality, Supportability |
|
||||
| S02 | Code is readable and runs with the documented steps | Usability, Functionality |
|
||||
| S03 | Repository is self-explanatory and light | Usability, Implementation (no extra runtime dependencies) |
|
||||
|
||||
## Communication Requirements
|
||||
|
||||
| ID | Channel | Frequency | Deliverable | Phase / Milestone |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| S01 | Chat review of the working tree | Per phase | Reviewed documents and code | All |
|
||||
| S02 | README | Once, on publication | Run and test instructions | Delivery |
|
||||
| S03 | Repository page | Once, on publication | Description, topics, README | Delivery |
|
||||
|
||||
## Conflicting Interests and Mitigations
|
||||
|
||||
| Conflict | Stakeholders | Mitigation |
|
||||
| --- | --- | --- |
|
||||
| S02 wants the assignment's exact function names; S03 wants a tidy, idiomatic project | S02, S03 | Keep the assignment's names for public functions and apply the conventions everywhere else |
|
||||
|
||||
## Traceability Analysis
|
||||
|
||||
### Business Goal Alignment
|
||||
|
||||
| Stakeholder | Concern | Business Case objective |
|
||||
| --- | --- | --- |
|
||||
| S01 | Reviewed, framework-compliant work | [BC-001] O3, O4 |
|
||||
| S02 | Runnable code and instructions | [BC-001] O1, O2 |
|
||||
| S03 | Clear repository presentation | [BC-001] O4 |
|
||||
|
||||
## Sign-Off
|
||||
|
||||
Accepted by S01 (RC-002).
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ./business-case.md
|
||||
Reference in New Issue
Block a user