CP3405 Design Thinking 3 · TR2 2026 · Course Week 6

Sprint 6 — Automation & Accuracy Sprint

vW28 · Due Sun 12 July 2026 · 23:59 SGT Presentation · Mon 13 July 2026 Scrum · Agile · AI Tools · TR2 2026
Sprint6 · W6
Tag RequiredvW28
DeadlineSun 12 Jul · 23:59 SGT
PresentationMon 13 Jul
What Sprint 6 Is Really About
The market is the data source. Scrum is the lesson.

This project uses market data as the backlog item your pipeline delivers every week. The goal is to practise running a real Scrum cycle — sprint planning, daily cadence, sprint review, and retrospective — with a system that grows more automated each sprint. The data domain is the training environment. The professional habits are what you take with you.

Every role in this sprint maps directly to a skill the workforce is asking for right now:

🔧
R8 — LLM API calls
Calling an AI model programmatically and processing the response is what AI/ML engineers do every day. Not using a chat window — building the pipe that connects your system to the model.
⚙️
R9 — GitHub Actions
Scheduled automation and CI/CD pipelines are the backbone of every software team. R9 owns the infrastructure that runs without a human triggering it — that's DevOps in practice.
📊
R10 — Calibration
Measuring whether the system's output matched reality, tracking accuracy over time, and feeding that back into the next sprint — this is what product managers and analysts do with KPIs.
Sprint 6 goal in one sentence

Run a complete Scrum cycle — planning through retrospective — with a pipeline that collects data, runs your agents, calls at least two AI models via API, and delivers a prediction file automatically, without manual intervention — automatically after the US market closes Friday.

Scrum Health — What Good Looks Like This Sprint

Each sprint your team should be getting better at Scrum, not just better at the pipeline. Here is what healthy Scrum looks like for Sprint 6 specifically.

Sprint Planning — Monday 6 July · In class

R1 (Product Owner) writes the sprint goal — one sentence, measurable. R2 (Scrum Master) facilitates role assignments and timebox agreements. Every member commits to a Definition of Done checklist item. Scrum principle: agree on timeboxes early. A timebox that feels wrong is still better than no timebox — you learn from enforcing it.

Daily Cadence — Mon to Sat

Keep your daily check-ins to 15 minutes maximum. Three questions only: what did I do, what will I do, what is blocking me. Blockers get raised immediately — not held until Sunday. Scrum principle: a blocker surfaced on Wednesday can be resolved. A blocker surfaced on Sunday cannot.

Definition of Done — Write it down

A strong DoD makes "done" unambiguous. Weak DoD: "pipeline seems to work." Strong DoD: automated fetch ran and committed data · all agent outputs committed before LLM synthesis · two LLM API calls logged as files · calibration framework ready · vW28 tag cut before Sunday midnight. Scrum principle: user stories — or in your case, pipeline tasks — are never "mostly done." They are done or they are not.

Sprint Review — Monday 13 July

Come prepared. Never create the demo on the spot. Every role has a speaking point. Show the GitHub Actions run log — not a screenshot of code that runs "on your machine." The Product Owner presents what was achieved against the sprint goal. Scrum principle: well-structured demos build stakeholder confidence. Your class is your stakeholder.

Retrospective — Commit it to the repo

Retrospective is a separate event from the Sprint Review. Every team member speaks. The goal is not to solve every problem live — it is to identify them and plan when to address them. One concrete change for Sprint 7, written in the repo. Scrum principle: small consistent improvements turn Scrum from a process into a culture of excellence.

Definition of Done — vW28

These three things must be true before the tag is cut. This is your sprint's DoD.

1
Pipeline ran automatically
GitHub Actions triggered automatically after the US market closes Friday (Saturday morning SGT ~4am). The run log is the evidence. The run log is the evidence. Show it on Monday 13 July.
2
Release tag vW28
Exact format: lowercase v, capital W, two digits. The tag is the immutable record that your sprint was completed before the deadline — the same principle as a Git commit hash.
3
Discord submission posted
Use the template below. This is your Sprint Review artefact — the public record that your team delivered this sprint.
Three New Requirements in Sprint 6

Everything from Sprint 5 carries forward. These three things are added.

1 · Sector coverage expands to all 11 S&P sectors

Your pipeline adds all 11 S&P 500 sector ETFs to its fetch: XLK · XLV · XLF · XLY · XLC · XLI · XLP · XLE · XLB · XLRE · XLU. R6 adds the tickers to the data collector. The pipeline fetches them. The domain knowledge is optional — the automation is not.

2 · At least 2 LLMs called via API — not via chat interface

The difference between calling an LLM via API and using a chat window is the difference between building a water system and carrying buckets. Both get water to the tap — but only one scales. R8's job this sprint is to build the pipe. Responses are saved automatically as files in the repo and the comparison table is generated from those files.

3 · Calibration — score vW28 against Friday 11 July actuals

R10 scores the vW28 prediction against Friday 11 July actuals after the automated fetch runs Saturday morning SGT. This is your retrospective data — did the system's output match reality, and is it improving sprint over sprint? Cumulative accuracy table W3–W6 builds the longer-term picture.

Sprint Cadence — The Scrum Cycle

This is your week. R2 owns the cadence. Every role feeds into it in sequence — the order matters.

WhenWhat happensEvidence in repo
Mon 6 Jul SPRINT PLANNING
R1 writes the sprint goal. R2 assigns roles and agrees timeboxes. DoD checklist written. DECISION.md committed. The sprint goal is a public commitment — it goes in the repo today.
Sprint goal on Discord. DECISION.md committed.
Mon–Wed SPRINT EXECUTION
R3 (Almanac), R4 (Macro), R5 (Technical) commit agent outputs independently. R8 wires LLM API calls. R6 confirms Friday fetch is scheduled. Daily check-ins: 15 minutes, stand up, three questions only.
Agent files committed by Wednesday. No waiting until Sunday.
Thursday AI SYNTHESIS
R8 runs API calls to at least 2 LLMs. Responses saved as files. Comparison table built from those files. R10 begins scoring vW25 against actuals.
LLM response files in repo. Calibration framework committed.
Sat morning SGT
~4am (US Fri close)
AUTOMATED FETCH
GitHub Actions triggers at the scheduled time. Collects all instrument closes. No one touches a keyboard. If the fetch fails, R9 is responsible for diagnosing it — this is a production system.
Auto-commit by github-actions[bot] with timestamp.
Saturday HUMAN REVIEW
R7 applies Human Score Wild Card — a specific, sourced insight the models missed. R9 merges all branches. R2 confirms every role has submitted. Merge conflicts discovered Sunday cannot be fixed in time.
Wild Card committed with reasoning. All branches merged.
Sun · 23:59 SGT SPRINT SEALED
R10 commits calibration notes from prior sprints if applicable. R9 cuts vW28 tag. Discord submission posted. Sprint is done. A sprint that is "mostly done" is not done.
vW28 tag on GitHub. Discord post complete.
Your Role Is a Real Workforce Skill

The role you play in this sprint is practising something employers look for. The Scrum framework is the structure that makes the team more than the sum of its parts.

R1 · Product Owner
→ Product Manager in industry
Sprint Goal & DoD
Own the sprint goal. Write the DoD as a checklist. Sign off the README. Present outcome on Mon 13 Jul.
DoD guides every Scrum event
R2 · Scrum Master
→ Team Lead / Agile Coach
Cadence Owner
Keep the 15-minute daily cadence. Chase role submissions. Surface blockers early. Run the retrospective. Protect the team from scope creep.
Blockers surfaced early get solved
R3 · Almanac Agent
→ Research Analyst
Historical Context
Historical patterns for w/c 7 Jul. Commit before Thursday — R8 cannot synthesise without you.
R4 · Macro Agent
→ Macro Analyst
Market Environment
Key macro events w/c 7 Jul. Structured Markdown. Commit before Thursday.
R5 · Technical Agent
→ Data Analyst
Signal Analysis
Technical read from Friday 4 July close (the last US market close before sprint opens). Key levels, trend direction. Commit before Thursday.
R6 · Data Collector
→ Data Engineer
Automated Fetch
Add all 11 sector tickers to the fetch. Confirm Friday cron is scheduled. Verify the pipeline runs without you.
R7 · Human Score
→ Senior Analyst
Wild Card Override
Apply judgment the models cannot. Review all outputs. If you have a sourced, non-obvious insight, apply the Wild Card. This is the primary marks differentiator.
Human judgment remains the edge
R8 · LLM Operator
→ AI/ML Engineer
API Integration
Call at least 2 LLMs via API — not chat interface. Save responses as files. Build comparison table from those files. Highest-value new skill this sprint.
Build the pipe, not carry the bucket
R9 · GitHub Lead
→ DevOps Engineer
Pipeline Owner
Own the Friday cron. Merge all branches by Saturday. Cut vW28 tag before midnight Sunday. Show the Actions log on Monday.
Infrastructure that runs without you
R10 · Calibration
→ Product Analyst
Accuracy Tracking
Score the vW28 prediction against Friday 11 July actuals after the sprint closes. Build cumulative accuracy table W3–W6. Is the system improving sprint over sprint?
Retrospective data drives improvement
Sprint 6 Timeline
MON 6 JUL — SPRINT PLANNING
Pipeline Audit Day + Sprint 6 kickoff in class
Sprint goal written. Roles confirmed. DoD committed. DECISION.md updated today.
MON–WED 6–8 JUL — EXECUTION
Agent work + API wiring
R3, R4, R5 outputs committed independently. R8 wires LLM API calls. R6 confirms Friday fetch.
THU 10 JUL — SYNTHESIS
LLM API calls run · calibration prep
R8 calls APIs, saves responses, builds comparison table. R10 prepares calibration framework.
SAT MORNING 12 JUL ~4AM SGT — AUTOMATED FETCH
⚡ Pipeline runs without you
GitHub Actions cron fires after Friday US market close. Collects closes for all instruments. Auto-committed by github-actions[bot].
SAT 12 JUL — HUMAN REVIEW
Wild Card · branch merge
R7 applies Human Score. R9 merges all branches. R2 confirms every role is done.
SUN 12 JUL · 23:59 SGT — SPRINT SEALED
🏁 vW28 cut · Sprint done
vW28 tag cut. Discord template posted. Delta scoring happens after Friday 11 Jul actuals collected.
MON 13 JUL — SPRINT REVIEW & RETROSPECTIVE
Presentation in class
Show pipeline live or GitHub Actions log.
Actuals — R10 Reference

Friday 11 July 2026 closes — auto-fetched by R6/R9 during the sprint. R10 uses these to score the vW28 prediction after Monday 13 July presentation.

InstrumentFri 11 Jul Close (auto-fetched)Week DirectionChange
SPXAvailable after Sat 12 Jul ~4am SGT
NDXAuto-fetched by R6/R9
IWMAuto-fetched by R6/R9
All 11 sectorsAuto-fetched by R6/R9
Discord Submission Template — Sprint 6 · vW28

Post this in your team channel before Sunday 12 July 23:59 SGT. This is your Sprint Review artefact.

TEAM: Team __ / Practical __
SPRINT: 6 · vW28
GITHUB REPO:
RELEASE LINK: (URL of the vW28 tag)

━━━ SPRINT GOAL ━━━
Our Sprint 6 goal was:
Did we meet it: Y / Partial / N
What we would do differently (retrospective):

━━━ PREDICTION ━━━
File committed (prediction_W28.json or .md): Y/N
SPX direction + confidence:
NDX direction + confidence:
IWM direction + confidence:
Sectors covered (all 11 — XLK XLV XLF XLY XLC XLI XLP XLE XLB XLRE XLU): Y/N
Human Score Wild Card applied: Y/N
Wild Card reasoning (must be sourced and specific):

━━━ PIPELINE ━━━
Automated fetch ran after Friday US market close (Sat morning SGT): Y/N
GitHub Actions run URL (the successful Friday run):
All branches merged before tag: Y/N

━━━ AGENT OUTPUTS (committed before LLM synthesis) ━━━
Almanac R3: Y/N  |  Macro R4: Y/N  |  Technical R5: Y/N

━━━ AI SYNTHESIS ━━━
LLM 1 called via API (name + model):
LLM 2 called via API (name + model):
Responses saved as files in repo: Y/N
Comparison table committed: Y/N

━━━ CALIBRATION (R10) ━━━
delta_W28.md committed after actuals available (post Mon 13 Jul): Y/N
Calibration framework ready: Y/N
Cumulative accuracy table W3–W6 committed: Y/N

━━━ SCRUM HEALTH ━━━
DoD checklist fully met: Y/N
Retrospective committed to repo: Y/N
Every role (R1–R10) ready to present Mon 13 Jul: Y/N
One thing the team does differently in Sprint 7:
Process Notes
On the tag

The tag vW28 is your sprint's immutable record — proof the work was sealed before the deadline. Put it as an explicit item on your DoD checklist. If your team has had tag format issues before, that checklist item is the fix.

On API calls vs chat interface

The difference between R8 calling an LLM via API versus using ChatGPT's web interface is the difference between building a water system and carrying buckets. Both move water. Only one scales to production. This sprint, R8 builds the pipe.

On mid-sprint changes

If something breaks or a new idea emerges mid-sprint, log it in the backlog. Don't drop the sprint goal to chase it. Reflect on interruptions in the retrospective and decide as a team how to handle them going forward.

On the data domain

The pipeline collects market data. Your agents summarise it. Your LLMs synthesise it. Your Human Score lead applies judgment. Running this workflow in a repeatable, automated, improving cycle is the transferable skill. The data domain is where you practise it.