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): 종합 문서

관련 노트