Sprint 1 review: research framing and data foundation¶
How to use: the Product Owner runs the review on Wed 2026-10-07. Every rubric bullet must link to evidence in this repository. Rubric weight: 20%.
Date: 2026-10-07. Product Owner: Jerad Dunne. Scrum Master: Leticia Aderhold. Present: [ ] Leticia Aderhold [ ] Jerad Dunne [ ] Allie Hodges [ ] Hina Kramer [ ] Instructor (if present)
Sprint goal check¶
- Sprint goal (from planning): By Wed 2026-10-07 the P-01 question is fully operationalized and defensible:
DATA_DICTIONARY.mdanddata/README.mdlet a non-author reproduce the sample, the threat model and FMEA inTHREATS_TO_VALIDITY.mdcarry RPN scores, baseline process metrics are captured, and round 1 signal labelling is complete with a written reason on every judgement call. - Met: partially (proposed by the Product Owner; confirm at the review). Explain in two sentences: Members other than the author verified the data path on Windows (Leticia, #14) and reproduced the pipeline on another computer (Hina, #79), the threats register and threat model are written with the FMEA's RPN scores (which live in
docs/lean-six-sigma/FMEA_RISK_REGISTER.md, notTHREATS_TO_VALIDITY.md), and the baseline metrics snapshot is onmain(#66). Round 1 signal labelling is not complete (0 of 209 rows on 2026-10-07) and moves to Sprint 2, due 2026-10-13.
Rubric review checklist (verbatim from the assignment)¶
The Sprint 1 review must include:
- A selected MSR-inspired topic and a precise research question. Evidence: Selected topic and precise research question
- Motivation, expected contribution, and at least one competing or simpler explanation. Evidence: Motivation and expected contribution and competing explanations
- A defined unit of analysis, population, sample, variables, and outcome measures. Evidence: Unit of analysis, population, and sample, variables and outcome measures, and DATA_DICTIONARY.md
- Dataset acquisition or sampling instructions and a data dictionary. Evidence: Dataset description and acquisition instructions and DATA_DICTIONARY.md
- A first working data-loading and extraction pipeline. Evidence: Setup instructions, pipeline execution commands, and pipeline source code
- At least one exploratory table or visualization generated by code. Evidence: Generated result tables, generated figures, and output documentation
- A repository with issues, milestones, branch protection or equivalent review practice, and a first pull request. Evidence (review practice: one approving review from a member other than the author): issues and five milestones with due dates on the project board; ruleset
protect-mainonmain(one approving review, squash merges only, review threads resolved, no force push or deletion); the first pull request with an approving review from another member was #56 (2026-09-23). In Sprint 1, 10 of 18 merged pull requests have a standing approval from another member (#56, #65, #66, #68, #77, #78, #79, #81, #83, #84). The other 8 are the Product Owner's project setup work, complete and onmain: the reason rule for judgement-call labels (#54); the requirements specification and its follow-ups (#55, which Leticia Aderhold approved before a later push dismissed the approval; #62, #63, #64); and the tools that let members work without git (#70 no-git guide and docs site, #72 reproducible container, #74 Project Guide app). They gave the team the requirements, the validation rules, and the no-git path it needed to start. The owner merged them with the owner bypass rather than waiting for a teammate review; since 2026-10-05 every merged pull request has had an approving review from another member. - A retrospective explaining what the group learned and what changed in the backlog. Evidence: retrospective.md, drafted by the Scrum Master in #87 and completed at the retrospective on 2026-10-07. Tick when #87 merges.
Sprint 1 acceptance criteria (verbatim)¶
| Criterion | Pass / Fail | Evidence link | Notes |
|---|---|---|---|
| The question is answerable with the selected data | Pass | RESEARCH_QUESTION.md; population_flow.csv; rq1_prevalence_by_category.csv, rq2_reach_summary.csv, rq3_summary.csv | 12,965 distinct contents in the main population answer RQ1 and RQ2. RQ3 is descriptive only (ADR-0007). Risk signals stay unvalidated until the Sprint 2 labels are scored |
| The data path is documented | Pass | data/README.md, DATA_DICTIONARY.md, #14 | Verified on Windows by Leticia Aderhold (#14). Her added setup steps are in #76, waiting on a review |
| The pipeline runs on an approved sample | Pass | ADR-0007 (#68); README execution; Gemba walk below (#79); container check run | The sample is the approved population (ADR-0007, accepted 2026-10-06). Hina's run matched 14 of 14 result files; it was guided, not an unaided README-only walk. The container check on main passed on 2026-09-30 |
| At least one result is generated | Pass | results/, figures/, README outputs, ANALYSIS_MANIFEST.json | Tables for RQ1 to RQ3 and four figures, all from make pipeline |
| The group has identified the primary risks and threats to validity | Pass | THREATS_TO_VALIDITY.md, THREAT_MODEL.md, FMEA_RISK_REGISTER.md, RESEARCH_QUESTION.md section 9 | Each threat has a status; FMEA risks carry RPN scores. R01 (full dataset) is closed by ADR-0007 in #88 |
Team status¶
| Item | Value |
|---|---|
| Charter signatures (section 14) | 3 of 4: Jerad Dunne (#49), Leticia Aderhold (#56), Hina Kramer (#77 and #84, which left two rows; one to be removed). Allie Hodges has not signed (#51) |
| Members who authored a merged PR | 3 of 4: Jerad Dunne, Leticia Aderhold, Hina Kramer, each with at least one merged PR approved by another member |
| Members who approved another member's PR | 2 of 4: Jerad Dunne (#56, #65, #79), Leticia Aderhold (#66, #68, #77, #78, #81, #83, #84). Hina Kramer has reviewed with changes requested (#75, #76); an approval there would make 3 |
| Second raters ready for Sprint 2 validation | signals none by design / lineage none by design (both intra-rater, D-022) / drift Leticia Aderhold (la, confirmed on #53) |
Demo script (10 minutes)¶
| Step | Content | Time | Presenter |
|---|---|---|---|
| 1 | RESEARCH_QUESTION.md: question, unit of analysis, variables |
2 min | |
| 2 | data/README.md and DATA_DICTIONARY.md: snapshot used and columns |
2 min | |
| 3 | Fresh terminal: make pipeline on the sample; show the generated table or figure in results/ or figures/ |
3 min | |
| 4 | Board, milestones, a merged PR with its approving review, and the metrics dashboard | 2 min | |
| 5 | Top three threats to validity and the backlog changes | 1 min |
Gemba walk: fresh-clone reproduction record¶
Requirement: A member who did not write the README reproduces the results from a fresh clone in a clean environment, following only the README. This run used the documented Windows workflow with ChatGPT guidance for setup and interpreting the report. An unaided README-only walkthrough was not verified.
| Field | Value |
|---|---|
| Who and environment | Hina Kramer; Windows-11-10.0.26200-SP0, Python 3.14.8 |
| Date | 2026-10-01 15:40 |
| Commit SHA | 4cfa6108aeee |
| Steps followed | windows/1-set-up.bat, then windows/2-run-pipeline.bat; docs/NO_GIT_GUIDE.md recipe 7 |
| Time to first result (minutes) | 2.6 for the analysis; setup time not recorded separately |
| Result matched committed output (row count, checksum) | Yes: 14 of 14 files identical after normalizing line endings. Main population: 12,965; skills with a high-risk signal: 1,159. Both counts match the committed results. |
| Problems found (open issues) | Initial PowerShell command-entry errors were resolved with guided instructions. No analysis or comparison errors were reported. |
Instructor feedback¶
| Feedback | Action | Owner | Issue # |
|---|---|---|---|
Velocity and KPIs at review¶
| Metric | Value |
|---|---|
| Points planned / completed | 22 / 18 (commitment reliability 0.82, target 0.80); 0.68 in the 2026-10-04 snapshot |
| Issues closed | 21 of 24 Sprint 1 issues; open: #17, #19, #20 |
| PRs merged / merged with an approving review from another member | 18 / 10 in Sprint 1 (2026-09-17 to 2026-10-07); the other 8 are the owner's setup work listed in the rubric checklist above |
| Median PR first-review turnaround (hours) | 51.14 (n = 14; target 48, warn) |
| Median cycle time (days) | 1.22 (n = 27; target 5) |
| Median PR open-to-merge time (hours) | 15.89 (n = 25; target 96) |
| CI pass rate | 0.99 (235 of 238 completed runs, all branches); on main in Sprint 1, 15 of 15 completed CI runs passed (2 more were cancelled on 2026-09-23 when two merges landed a minute apart) |
| Rework items | 1 of 30 closed issues (0.03) |
| Contribution share per member (min / max) | 0.00 / 0.65 (Allie Hodges 0.00, Hina Kramer 0.14, Leticia Aderhold 0.21, Jerad Dunne 0.65; band 0.15 to 0.45) |
Source: python scripts/lss_metrics.py --repo jeraddunne/csc580-group9-msr2027 --out <folder>, run 2026-10-07 20:01 UTC over 2026-09-10 to 2026-10-07; the output was not committed. The committed baseline is the 2026-10-04 snapshot in docs/lean-six-sigma/metrics/ (#66), and the next weekly run records the review-day values. The merged-PR counts come from the pull request list for the Sprint 1 dates.
Backlog changes agreed at the review¶
Proposed from the repository record; confirm or change at the review.
- Added: #85 offline labelling pack (Sprint 2, #86); #88 ADR-0007 follow-ups (Sprint 1); the kaizen actions proposed in the retrospective draft (#87), as issues once agreed: a GitHub checklist, progress check-ins, a reviewer named when a PR opens, and a deadline check three days ahead.
- Carried into Sprint 2: round 1 signal labelling from the sprint goal (due 2026-10-13); Allie Hodges's onboarding (#51); #17, #19, and #20 if they are not closed at the review.
- Removed or cancelled: the full-dataset pass for RQ1 to RQ3 (ADR-0007, D-023).
- Re-estimated: none proposed.