SDLC 1: Requirements
In this phase, you take raw, unstructured inputs — a messy planning meeting transcript and a pile of customer feedback — and transform them into a prioritized, decomposed backlog. Each step produces a file that feeds the next: raw sources become structured notes, notes become prioritized requirements, requirements become user stories, and stories decompose into backlog units with one marked ACTIVE. Everything in this phase is cross-unit — it describes the whole project. Per-unit work (spec, architecture, tests, code) starts in Phase 2.
- Extract requirements from unstructured documents
- Generate user stories with acceptance criteria
- Identify gaps and contradictions in specifications
- Decompose user stories into independent, shippable units with dependencies
- Mark the
task-commentsunit as ACTIVE and defer the rest for Phase 4's Ralph Loop
You take raw, unstructured inputs — a messy planning meeting transcript and a pile of customer feedback — and transform them into a prioritized, decomposed backlog. By the end of the phase you have a map of every unit the project needs, with task-comments marked ACTIVE and ready for per-unit design work in Phase 2.
Pick up where you left off — your taskflow folder should already be set up from the Fundamentals sections (CLAUDE.md, settings, rules, agents, skills, hooks all in place).
You are a developer on the TaskFlow team. TaskFlow is a task management app — a Kanban board where teams create tasks, move them between columns (To Do, In Progress, Done), and track work. It ships as an Express.js REST API with a single-page frontend.
If the app isn't already running from the previous sections, start it:
1
2
3
cd /workshop/taskflow
npm run dev
# Open http://localhost:3000Try creating a task, moving it between columns, deleting one. This is v1 — functional but bare. No comments, no validation, no tests.
The codebase is about 15 files:
| File | Description |
|---|---|
src/server.js | Express app, middleware, routes |
src/routes/tasks.js | Full CRUD for tasks — the core API |
src/data/store.js | JSON file storage (reads/writes entire files) |
public/index.html | Kanban board UI — vanilla HTML/JS |
CLAUDE.md | Project conventions for Claude Code |
.claude/ | Agents, hooks, rules, starter skills |
requirements/sources/ | Raw inputs: meeting transcript + customer feedback |
| File | Description | Introduced |
|---|---|---|
requirements/sources/planning-meeting-jan25.md | Raw meeting transcript — 4 stakeholders, priority debate | |
requirements/sources/beta-feedback-raw.md | Zendesk tickets, Slack messages, emails from 3 beta customers |
| File | Description | Introduced |
|---|---|---|
requirements/stakeholder-notes.md | Structured by topic — requests, quotes, unresolved debates | |
requirements/customer-feedback.md | Structured by topic — feature requests, bugs, urgency signals | |
requirements/requirements.md | Prioritized MUST / SHOULD / COULD list with conflict flags | |
requirements/stories.md | User stories with testable acceptance criteria | |
requirements/backlog.md | Units + dependency matrix, task-comments active, rest deferred |
Phase 2 consumes the backlog and stories to write and validate the ACTIVE unit's feature spec, then designs its architecture. Phase 3 implements the ACTIVE unit. Phase 4 picks up the deferred units and builds them autonomously.