01. 요구사항 정의서와 기능 명세서

Gardener·2024년 1월 10일

RoadToPM

목록 보기
1/1

Road To PM. 오후로 향하는 발걸음.
은 아니고 사실 Project Manager로 향하는 걸음 중 하나이다.

프로젝트를 시작하며, 본격적인 FE 작업은 시작도 하지 않았지만 기획쪽에 힘을 쏟는 1주차이다. 정말,, 회사원이라도 된 기분. 은근 기가 많이 빨리는 작업이다.
기획 단계에서, 산출물 관리를 맡고 있다. (맞다, 문과가 제일 잘하는 귀찮은 작업) 이 단계에서 요구사항 정의서와 기능 명세서에 대한 작성을 맡게 되었다.

전 회사에서 QA로 일하면서 TestCase등을 작성을 많이 해보았기 때문에, 이와 비슷한 Tone으로 문서를 작성하고 있었는데, 내가 아무런 지식 없이 이러한 문서들을 작성하다 보니까 전혀 반대의 방향으로 문서를 작성하고 있었다고 팀원의 피드백을 받을 수 있었다. 솔직히 나한테 좀 화났음,, 찾아보고 작성하지.. (사실 참고한 블로그가 잘못했던 것 같기도 하다.)
다시 본론으로 돌아와서, 그렇기 때문에 요구사항 정의서와 기능 명세서에 대한 정의, 구성요소, 작성 요령등을 정리하고 넘어가면 딱 좋을 것 같다는 생각이 들었다.

요구사항 정의서
: 프로젝트의 목적, 범위, 기능 등을 명확하게 정리한 문서이다. 프로젝트의 기본적인 요구사항들을 분석하고 정의하는데 중점을 둔다.

요구사항을 분석하다보니 이 과정에서, 이 서비스를 이용하는 주체의 요구가 무엇인지도 파악을 해야한다.

요구사항 정의서의 구성 요소를 하나하나씩 설명하고자 한다.
1. 요구사항 ID : 요구사항을 하나의 큰 틀로 정의할 필요가 있다. ex)로그인 및 회원가입 등을 MEM 으로 통칭 - 요구사항 ID는 MEM-01이 될 수 있다.
2. 메뉴 : 이 요구사항이 화면에서 처리되는 부분인지, 기능적인 부분에서 처리되는 부분인지 구분할 필요가 있다.
3. 요구사항명 : 요구사항 ID가 대분류의 키워드라면, 이 부분은 로그인인지 회원가입인지를 명시하는 부분이다. 중분류라고 생각하면 될 듯 하다.
4. 기능명 : 요구사항명에서 조금 더 자세히 들어간다. 어떤 기능을 구현해야할지, 기능의 이름을 적는 부분이다.
5. 상세 기능 : 기능명에 대한 자세한 설명이다.
6. 중요도 : 보통 상, 중, 하로 구분되는데 얼마나 이 기능이 중요한지 나타내는 부분이다. 그렇기에 상의 순서대로 개발한다.
(이하 필수적으로 넣지 않아도 되는 부분은 항목 이름만 서술한다.)
7. 필수 데이터 : 기능을 구현할 때 꼭 필요한 데이터들
8. 진행상황 : 시작 전, 진행 중, 완료로 보통 구분함
9. 담당자
10. 비고 / 기타 / 논의점

예시 사진은 아래와 같다. 작아서 잘 안보일 수도,,

이러한 요구사항 정의서를 작성함으로, 클라이언트와 프로젝트 수행자간의 합의를 이끌어낸다. 또한, 필요 기능들을 정리하며 명확하게 필요 사항들을 합의해 나갈 수 있다.

기능 명세서
: 프로젝트나 제품에서, 구현될 구체적인 기능들을 상세하게 기술한 문서 -> 최종 아웃풋에 대한 기능들을 중심으로 설명한 자료
우선순위에 따라 반영된 기능들이 최종적으로 담긴 문서

우선순위에 따라 반영된 기능들이 최종적으로 담긴 문서라고 정리하니까 둘 문서간의 차이가 명확해진다.
다양한 요구사항의 정의들이 있을 수있겠지만, 기능 명세는 우리가 구현한 것들만 생각하면 될 것이다. 요구사항 정의서의 구체화 느낌. 기능 명세서의 구성요소는 아래와 같다.

  1. 요구사항 ID : 위와 동일 및 요구사항 정의서와 연결이 되는 부분
  2. 대분류 (요구사항 명) : 요구사항 명과 연결이 되는 부분
  3. 주 기능 : 구현할(한) 기능에 대한 부분
  4. 우선순위 : 상, 중, 하로 구분
  5. 필요기술
  6. 구현 상태 : 진행 전, 진행 중, 완료 로 구분
  7. 필요 기술 : 이 기능을 구현하는데 필요한 기술 스택을 서술한다.
  8. API 명세 : 이 기능을 구현할 때, Test해볼 때 필요한 API 명세가 있다면 서술한다.
  9. FE/BE 구분 : 어떤 영역의 작업인지 구분할 수도 있다.
  10. 비고/기타/논의점

예시 사진은 아래와 같다


확실히 이렇게 한 번 검색하고, 정리해보니 둘간의 차이가 명확해지고, 팀원들에게도 어떤 말을 하며 정리하면 좋을지 알 수 있게 되었다. 내일 빨리 요구사항 정의서를 핏에 맞게 마무리해야겠다.

profile
영혼의 정원수

0개의 댓글