| name | aidlc-nfr-requirements |
| description | Use when non-functional requirements need to be defined based on domain context and project profile, or when importing existing NFR documents. |
| metadata | {"version":"0.6.0","author":"Jay","category":"ai-dlc-workflow","invoke_mode":"orchestrator-only","return_behavior":"stop-no-gate","output_path":"devflow-docs/inception/nfr-requirements.md","skill_nature":"hybrid","lifecycle":"active","model_dependency":"๋ชจ๋ธ์ด NFR์ ๊ธฐ๋ฅ ์๊ตฌ์ ํผ์ฌ์ํด","amplification_notes":"๋๋ฉ์ธ ํ๋ฆฌ์
๊ธฐ๋ฐ NFR ์ฒด๊ณํ"} |
aidlc-nfr-requirements
Purpose
๋น๊ฐ๋ฐ์๊ฐ "์ด ์ํํธ์จ์ด์ ์ด๋ค ํ์ง ์๊ตฌ์ฌํญ์ด ํ์ํ๊ฐ"๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ์์งํ๋ค.
NFR ๊ฐ์ ๊ฒฐ์ ํ๋ ๊ฒ์ด ์๋๋ผ ์์งํ๋ ๊ฒ.
Execution Modes
GENERATE Mode (๊ธฐ๋ณธ)
ํธ์ถ ํ
์คํธ์ Mode: GENERATE ๋๋ ๋ชจ๋ ์ง์ ์ด ์์ผ๋ฉด GENERATE.
Step 1๋ถํฐ ์์๋๋ก ์คํ.
IMPORT Mode
ํธ์ถ ํ
์คํธ์ Mode: IMPORT ํฌํจ ์ ํ์ฑํ.
_shared/import-review-protocol.md์ IMPORT ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ฅธ๋ค.
IMPORT ๋ชจ๋ ๊ฒ์ฆ ํญ๋ชฉ:
- 8๊ฐ NFR ์นดํ
๊ณ ๋ฆฌ ์ค ๋๋ฝ ์ฌ๋ถ
- ์์น ์๋ ์ ์ฑ์ ํํ ("๋นจ๋ผ์ผ ํ๋ค" โ ๊ตฌ์ฒด์ ์์น ์์ฒญ)
- ์นดํ
๊ณ ๋ฆฌ ๊ฐ ๋ชจ์ (์: "์ต์ ๋น์ฉ" + "99.99% ๊ฐ์ฉ์ฑ")
๊ฒ์ฆ ํ devflow-docs/inception/nfr-requirements.md์ ์ ์ฅํ๊ณ Return to Orchestrator.
Execute (GENERATE Mode)
Step 1: Load context
Read (if they exist):
devflow-docs/inception/requirements.md โ ๊ธฐ๋ฅ/๋น๊ธฐ๋ฅ ์๊ตฌ์ฌํญ
devflow-docs/inception/user-stories.md โ ์ฌ์ฉ์ ์คํ ๋ฆฌ (์์ผ๋ฉด)
Step 2: Domain context ์ง๋ฌธ
์ด ์ํํธ์จ์ด์ ๋๋ฉ์ธ์?
A) ๊ธ์ต/ํํ
ํฌ โ ๋์ ๋ณด์+์ปดํ๋ผ์ด์ธ์ค, ๊ฐ์ฌ ์ถ์ ํ์
B) ํฌ์ค์ผ์ด โ ๋ฐ์ดํฐ ํ๋ผ์ด๋ฒ์(HIPAA ๋ฑ), ๋์ ๊ฐ์ฉ์ฑ
C) ์ด์ปค๋จธ์ค โ ํธ๋ํฝ ๋ณ๋ ๋์, ๊ฒฐ์ ๋ณด์
D) ์ฌ๋ด ๋๊ตฌ โ ๋ฎ์ ๊ฐ์ฉ์ฑ ํ์ฉ, ๋ณด์ ๋ด๋ถ๋ง ๊ธฐ์ค
E) IoT/์๋ฒ ๋๋ โ ์ ์ ๋ ฅ, ๋คํธ์ํฌ ๋ถ์์ ๊ณ ๋ ค
F) ๊ธฐํ (์ง์ ์
๋ ฅ)
์ ํ๋ ๋๋ฉ์ธ์ Step 4์ ๊ธฐ๋ณธ๊ฐ ์กฐ์ ์ ์ฌ์ฉํ๋ค.
Step 3: Profile ์ ํ
์ด ์ํํธ์จ์ด์ ์ด์ ํ๊ฒฝ์?
A) MVP/ํ๋กํ ํ์
โ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ถฉ๋ถ, NFR ์ต์ํ
B) ์๊ท๋ชจ ์ด์ โ ์ฌ์ฉ์ 100๋ช
์ดํ, ๊ธฐ๋ณธ ์์ ์ฑ
C) ์ค๊ท๋ชจ ์ด์ โ ์ฌ์ฉ์ 1000๋ช
+, ๋ชจ๋ํฐ๋ง ํ์
D) ๋๊ท๋ชจ/์ํฐํ๋ผ์ด์ฆ โ ๊ณ ๊ฐ์ฉ์ฑ, ๋ณด์ ์ปดํ๋ผ์ด์ธ์ค
Step 4: Profile ๊ธฐ๋ฐ ๋ง์ถค ์ง๋ฌธ
๋๋ฉ์ธ ร ํ๋กํ์ผ ์กฐํฉ์ ๋ฐ๋ผ ์ง๋ฌธ ๋ฒ์๋ฅผ ๊ฒฐ์ :
| ํ๋กํ์ผ | ์ง๋ฌธ ์ | ๋์ ์นดํ
๊ณ ๋ฆฌ |
|---|
| MVP | 2~3๊ฐ | ํต์ฌ ๋ณด์, ๋ฐ์ดํฐ ๋ฐฑ์
|
| ์๊ท๋ชจ | 4~5๊ฐ | + ์๋ต ์๊ฐ, ๋์ ์ ์ |
| ์ค๊ท๋ชจ | 6~7๊ฐ | + ๋ชจ๋ํฐ๋ง, ์ฅ์ ๋ณต๊ตฌ |
| ๋๊ท๋ชจ | 8๊ฐ ์ ์ฒด | ์ ์ฒด ์นดํ
๊ณ ๋ฆฌ ์ํ |
8๊ฐ NFR ์นดํ
๊ณ ๋ฆฌ:
- ์ฑ๋ฅ (์๋ต ์๊ฐ, ์ฒ๋ฆฌ๋)
- ๊ฐ์ฉ์ฑ (์
ํ์, ์ฅ์ ํ์ฉ)
- ํ์ฅ์ฑ (์ํ/์์ง ํ์ฅ)
- ๋ณด์ (์ธ์ฆ, ์ํธํ, ์ ๊ทผ ์ ์ด)
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ (๋ฐฑ์
, ์ผ๊ด์ฑ)
- ๋ชจ๋ํฐ๋ง (๋ก๊น
, ์๋ฆผ, ๋์๋ณด๋)
- ์ฌํด ๋ณต๊ตฌ (RPO, RTO)
- ์ปดํ๋ผ์ด์ธ์ค (๊ท์ , ๊ฐ์ฌ)
๊ฐ ์ง๋ฌธ์ one at a time. ๋น๊ฐ๋ฐ์ ์นํ ํํ ์ฌ์ฉ.
Step 5: Domain ร Profile ๊ธฐ๋ณธ๊ฐ ์ ์ + ์กฐ์
ํ๋กํ์ผ๊ณผ ๋๋ฉ์ธ์ ์กฐํฉํ์ฌ ๊ธฐ๋ณธ๊ฐ์ ์ ์ํ๋ค:
ํ๋กํ์ผ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ NFR์ ์ ์ํฉ๋๋ค:
- ์๋ต ์๊ฐ: [๊ฐ] (์ด์ : [๋๋ฉ์ธ] ๊ธฐ์ค [๊ทผ๊ฑฐ])
- ๊ฐ์ฉ์ฑ: [๊ฐ] (์ด์ : [ํ๋กํ์ผ] ๊ธฐ์ค [๊ทผ๊ฑฐ])
- ...
์กฐ์ ์ด ํ์ํ ํญ๋ชฉ์ด ์๋์?
๋๋ฉ์ธ๋ณ ๊ธฐ๋ณธ๊ฐ ์กฐ์ ์์:
- ๊ธ์ต + ์๊ท๋ชจ: ๊ฐ์ฉ์ฑ 99.95% (๊ธ์ต์ ๊ธฐ๋ณธ๋ณด๋ค ๋์)
- ์ฌ๋ด ๋๊ตฌ + ์ค๊ท๋ชจ: ๊ฐ์ฉ์ฑ 99.5% (๋ด๋ถ ์ฌ์ฉ์ด๋ฏ๋ก ๋ฎ์ถค)
- ํฌ์ค์ผ์ด + MVP: ๋ณด์ ๋ฑ๊ธ ์ํฅ (HIPAA ํ์)
- IoT + ๋๊ท๋ชจ: ๋คํธ์ํฌ ์ง์ฐ ํ์ฉ ์ํฅ
์ฌ์ฉ์๊ฐ ์กฐ์ ํ ํญ๋ชฉ์ ## ์กฐ์ ์ด๋ ฅ์ ๊ธฐ๋ก.
Step 6: Save artifact
Create devflow-docs/inception/nfr-requirements.md:
# NFR Requirements
**Timestamp**: [ISO 8601]
**Mode**: [GENERATE | IMPORT]
**Domain**: [์ ํ๋ ๋๋ฉ์ธ]
**Profile**: [์ ํ๋ ํ๋กํ์ผ]
## NFR Summary
| ์นดํ
๊ณ ๋ฆฌ | ์๊ตฌ์ฌํญ | ๊ทผ๊ฑฐ |
|---------|---------|------|
| ์ฑ๋ฅ | [๊ฐ] | [๋๋ฉ์ธ+ํ๋กํ์ผ ๊ธฐ์ค ๊ทผ๊ฑฐ] |
| ๊ฐ์ฉ์ฑ | [๊ฐ] | [๊ทผ๊ฑฐ] |
| ... | ... | ... |
## ์กฐ์ ์ด๋ ฅ
- [ํญ๋ชฉ]: [์๋ ๊ธฐ๋ณธ๊ฐ] โ [์ฌ์ฉ์ ์กฐ์ ๊ฐ] (์ด์ : [์ฌ์ฉ์ ์ค๋ช
])
Review
conventions Review Workflow ์ ์ฉ.
- ์ฐ์ถ๋ฌผ: devflow-docs/inception/nfr-requirements.md
- ๋ฆฌ๋ทฐ์ด: artifact-reviewer-prompt.md
Return to Orchestrator
conventions ํ์ค ํ์. ๋ฐํ ํ๋:
- ๋ชจ๋: [GENERATE | IMPORT]
- ๋๋ฉ์ธ: [์ ํ๋ ๋๋ฉ์ธ]
- ํ๋กํ์ผ: [์ ํ๋ ํ๋กํ์ผ]
- NFR ํญ๋ชฉ: [count]๊ฐ ์นดํ
๊ณ ๋ฆฌ
- ์ฌ์ฉ์ ์กฐ์ : [count]๊ฐ ํญ๋ชฉ
- ์ฐ์ถ๋ฌผ: devflow-docs/inception/nfr-requirements.md
- ๋ฆฌ๋ทฐ: [โ
์น์ธ๋จ | โญ ์คํต (Minimal)]
Common Issues
์ฌ์ฉ์๊ฐ ๋๋ฉ์ธ์ ๋ชจ๋ฅด๊ฑฐ๋ "๊ธฐํ" ์ ํ ์
- ์๊ตฌ์ฌํญ์์ ๋๋ฉ์ธ ํน์ฑ์ ์ถ๋ก
- ์ถ๋ก ๊ทผ๊ฑฐ๋ฅผ ์ฌ์ฉ์์๊ฒ ์ ์: "๊ฒฐ์ ๊ธฐ๋ฅ์ด ์์ผ๋ฏ๋ก ์ด์ปค๋จธ์ค ๊ธฐ์ค์ ์ ์ฉํ๊ฒ ์ต๋๋ค. ๋ง๋์?"
- ํ์ธ ํ ์งํ
ํ๋กํ์ผ ์ ํ์ด ๋ชจํธํ ๊ฒฝ์ฐ
- "ํ์ฌ ์ฌ์ฉ์๊ฐ ๋ช ๋ช
์ธ๊ฐ์?" ์ถ๊ฐ ์ง๋ฌธ์ผ๋ก ๋ฒ์ ํ์ธ
- ํ์คํ์ง ์์ผ๋ฉด ํ ๋จ๊ณ ๋์ ํ๋กํ์ผ ์ ์ฉ (์์ ๋ฐฉํฅ)