Requirement Specification
요구사항 명세(Requirement Specification)는 사용자와 이해관계자의 요구를 듣고 관찰해 세밀하게 이해한 다음, 팀 전체가 합의할 수 있는 형태로 문서화하는 기획 활동이다. 무엇을 만들지 정하기 전에 왜 만들고, 어떻게 쓰일지를 합의하는 단계다.
왜 중요한가
- 공통의 기준: 기획·디자인·개발·QA가 같은 목표를 가리키게 한다
- 후행 비용 절감: 구현 후 “이게 아닌데”를 막는다
- 검증 가능성: “끝났는지”를 판단할 기준이 생긴다
- 우선순위 도구: 모두 다 할 수 없으니 덜 중요한 것을 고를 근거
요구사항의 종류
| 구분 | 설명 |
|---|---|
| 기능 요구사항 | 시스템이 무엇을 해야 하는가 |
| 비기능 요구사항 | 어떻게 잘 해야 하는가 (성능·보안·가용성 등) |
| 사용자 요구사항 | 사용자가 이 제품으로 이루고자 하는 것 |
| 제약 조건 | 비용·일정·기술·법적 한계 |
좋은 요구사항의 조건 (SMART + C)
- Specific: 구체적이다
- Measurable: 측정 가능하다
- Achievable: 실현 가능하다
- Relevant: 목표와 관련 있다
- Time-bound: 시간 제약이 있다
- Consistent: 다른 요구사항과 모순이 없다
수집 방법
- 사용자 인터뷰·관찰
- 설문·데이터 분석
- User Scenario·User Flow 작성
- 경쟁 제품 분석
- 이해관계자 워크숍
명세의 형태
- 사용자 스토리: “X로서 Y를 하고 싶다, 왜냐하면 Z”
- 유스케이스: 시스템-행위자 상호작용 시나리오
- 기능 목록: 체크리스트 형태
- PRD(Product Requirements Document): 종합 문서