Software design methodology based on three complementary artifacts that guide development from product vision to technical implementation decisions.

PRD — Product Requirements Document

The PRD defines what will be built and why. It captures product goals, use cases, functional and non-functional requirements, and acceptance criteria. It is the starting point for any project and the reference document for aligning all stakeholders.

ADR — Architecture Decision Records

ADRs document the architecture decisions made during development: what was decided, why, what alternatives were considered, and what the consequences are. Each significant decision has its own record, making it possible to understand the historical reasoning behind the system and avoid rehashing already-settled debates.

System Design

System Design describes how the system will be built: components, interfaces, data flows, integration patterns, and technical constraints. It complements the PRD (what) and the ADRs (why) with the technical view of the solution.

Tools

ToolDescription
plan-cascadeAI-powered cascading development framework. Decomposes complex projects into parallel executable tasks with auto-generated PRDs, design docs, and multi-agent collaboration.
planning-with-filesClaude Code skill that implements persistent markdown-based planning using a three-file pattern (task_plan.md, findings.md, progress.md) to maintain structured task tracking across context resets.