Workshop Studio
participantPublic visitor

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-comments unit 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:3000

Try 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:

FileDescription
src/server.jsExpress app, middleware, routes
src/routes/tasks.jsFull CRUD for tasks — the core API
src/data/store.jsJSON file storage (reads/writes entire files)
public/index.htmlKanban board UI — vanilla HTML/JS
CLAUDE.mdProject conventions for Claude Code
.claude/Agents, hooks, rules, starter skills
requirements/sources/Raw inputs: meeting transcript + customer feedback
Synthesize
Synthesize
User stories
Per-unit work
starts in Phase 2
📄 beta-feedback-raw.md
Very messy
📋 customer-feedback.md
Structured by topic
📄 planning-meeting-jan25.md
Meeting notes
📋 stakeholder-notes.md
Structured by topic
⚖️ requirements.md
MUST / SHOULD / COULD
📝 stories.md
Acceptance criteria
📦 backlog.md
Units + dependencies
task-comments ACTIVE, rest DEFERRED
📄 Phase 2
FileDescriptionIntroduced
requirements/sources/planning-meeting-jan25.mdRaw meeting transcript — 4 stakeholders, priority debate
requirements/sources/beta-feedback-raw.mdZendesk tickets, Slack messages, emails from 3 beta customers
FileDescriptionIntroduced
requirements/stakeholder-notes.mdStructured by topic — requests, quotes, unresolved debates
requirements/customer-feedback.mdStructured by topic — feature requests, bugs, urgency signals
requirements/requirements.mdPrioritized MUST / SHOULD / COULD list with conflict flags
requirements/stories.mdUser stories with testable acceptance criteria
requirements/backlog.mdUnits + 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.