What a spec is for, and at what level to write it
Too vague, a spec leaves the team and coding agents to fill the gaps their own way; too detailed, it goes stale before anyone reads it. This lesson helps you clarify what a specification document should deliver and choose the right level of detail for the decision at hand and the reader, human or machine.
Lesson objective
By the end of this lesson, you will be able to say what a spec must enable (understand, decide, verify) and choose the right level (PRD, feature spec, ticket) according to the decision at hand and the reader, human or agent.
Topics covered
- writing specs
- PRD vs feature spec
- functional specification
- development ticket
- spec level of detail
Where it fits
The job of a spec
What is a spec for, at what level should you write it, and how do you say what you want without dictating how to do it?
Lessons in this module
- What a spec is for, and at what level to write it (this lesson)
- Intent before solution
What you will learn in the course
This lesson is part of the course Write specs that developers and AI agents understand
- Choose the level of spec suited to the decision at hand (PRD, feature spec, ticket) and know what each must contain.
- State the intent of a feature (problem, target outcome, constraints, non-goals) separately from the solution, to leave the right room to the team and the agent.
- Write verifiable, declarative and unambiguous Given/When/Then acceptance criteria, including as tables of examples.
- Identify edge cases and non-functional requirements (performance, security, accessibility, personal data) and make them testable.
- Write a spec and an intent file that a coding agent can use (context, constraints, files involved, out of scope, verifiable definition of done).
- Review a coding agent's plan against the spec, spot gaps before it writes code, then check the evidence of what was delivered.
- Keep a spec alive (versions, decisions, updates when the code reveals a case) and spot the anti-patterns that make it useless.
Related courses
- Design and Validate a Product Experience with AIJunior · ~2 hr 30 min
- Instrument a product and use data to make decisionsAdvanced · ~3 hr 30 min
- Prioritize and build an outcome-based roadmapAdvanced · ~2 hr 30 min