Intent, Scope, and Decision-Making
Before you write a line of code, or ask an agent to write one for you, you need to know what you’re building, how far it reaches, and how you’ll decide among competing options.
This section covers the strategic patterns that shape every project from the start. An Application is the thing you are trying to build. Requirements describe what it must do. Constraints describe what it must respect. Acceptance Criteria define when a task is truly done. And because no design can optimize for everything at once, you will constantly face Tradeoffs — choices among competing goods and competing costs.
Two human capacities run through all of this work. Judgment is the ability to choose well when the answer isn’t obvious. Taste is the ability to recognize what’s clean, coherent, and appropriate. Neither can be fully automated, but both can be sharpened with practice, and both become more important, not less, when you’re directing an AI agent rather than typing every character yourself.
This section contains the following patterns:
- Application — A software system built to help a user or another system accomplish some goal.
- Requirement — A capability or constraint the system must satisfy.
- Constraint — Something the design must respect that isn’t negotiable.
- Acceptance Criteria — The conditions that determine whether a task is actually done.
- Specification — A written description of what a system should do, precise enough to build from.
- Design Doc — A document that translates requirements into a technical plan before building starts.
- Tradeoff — A choice among competing goods or competing costs.
- Judgment — The ability to choose well under uncertainty and incomplete information.
- Taste — The ability to recognize what is clean, coherent, and appropriate in context.
- Architecture Decision Record — A short document capturing one design decision, its context, and its reasoning.