35 lines
630 B
Markdown
35 lines
630 B
Markdown
|
|
# Requirements
|
||
|
|
|
||
|
|
<!--
|
||
|
|
Hard / soft / non-goals. Functional requirements only — non-functional
|
||
|
|
thresholds live in nfr.md. Push back on "and" lists; every conjunction
|
||
|
|
is usually two requirements pretending to be one.
|
||
|
|
-->
|
||
|
|
|
||
|
|
## Hard
|
||
|
|
|
||
|
|
<!--
|
||
|
|
If the app doesn't do this, it isn't useful.
|
||
|
|
-->
|
||
|
|
|
||
|
|
- <one requirement per bullet, no "and">
|
||
|
|
|
||
|
|
## Soft
|
||
|
|
|
||
|
|
<!--
|
||
|
|
Would be nice. Deferable. Cut first when scope tightens.
|
||
|
|
-->
|
||
|
|
|
||
|
|
- <one per bullet>
|
||
|
|
|
||
|
|
## Non-goals
|
||
|
|
|
||
|
|
<!--
|
||
|
|
Explicit "we will say no when this comes up." This list is as
|
||
|
|
load-bearing as the hard list — it's how you cut scope without
|
||
|
|
re-litigating.
|
||
|
|
-->
|
||
|
|
|
||
|
|
- <thing we are not building>
|
||
|
|
- <another>
|