brunch

기능명세서와 요구사항 명세서, 뭐가 다를까?

by 리뷰온리

안녕하세요~ IT 프로젝트 관리만 7년째 하고 있는 PM로서,

오늘은 많은 분들이 헷갈려하는 기능명세서와 요구사항 명세서의 차이에 대해 이야기해보려 합니다!


개발 프로젝트를 처음 맡은 클라이언트나 스타트업 대표님들을 만나면 꼭 나오는 질문이 있거든요.

"기능명세서가 요구사항 명세서랑 뭐가 달라요?"

은근히 저처러머 IT분야에 몸 단고 있는 개발 현장에서도 오해가 많은 질문중 하나인데요 ㅎㅎ
오늘은 제가 실제 경험한 예시와 함께 두 문서의 차이와 작성 팁까지 알려드릴게요!





요구사항 명세서란? 왜 먼저 써야 할까?

PM이 알려주는 기능명세서 쉽게 작성하는 방법2.jpeg

요구사항 명세서는 한마디로 '무엇을 만들 것인가'를 정의하는 문서입니다.

요구사항 명세서는 클라이언트가 원하는 서비스의 핵심 목적, 타겟 사용자, 제공할 기능의 범위, 성능, 보안 요건 등을 최대한 포괄적으로 담아요.


예를 들어, 쇼핑몰 웹사이트를 만든다고 해볼게요.
요구사항 명세서에는 이런 내용이 들어갑니다.

쇼핑몰은 남녀 패션잡화를 주로 판매한다.

회원가입, 상품 검색, 장바구니, 결제, 배송 추적이 가능해야 한다.

모바일과 데스크탑에서 모두 최적화되어야 한다.

결제는 카드, 계좌이체, 간편결제까지 지원해야 한다.


이렇게 보면 요구사항 명세서는 비전문가도 이해할 수 있게, 전체 그림을 담아야 한다는 점이 핵심이에요.

그래서 보통은 클라이언트, 기획자, 개발자, 디자이너가 함께 협의하면서 작성합니다.




기능명세서란? 개발자는 이걸 보고 움직인다

PM이 알려주는 기능명세서 쉽게 작성하는 방법1.jpeg

기능명세서는 요구사항을 바탕으로 '어떻게 만들 것인가'를 구체화한 문서입니다.
여기서부터는 개발자가 실제로 코드를 짜기 위해 필요한 상세 정보가 담기죠.

같은 쇼핑몰 예시라면 기능명세서에는 이렇게 적습니다.

회원가입 시 이메일 인증 절차를 추가한다.

장바구니에 담긴 상품은 30일 동안 유지된다.

결제 모듈은 PG사 A를 사용하고, 결제 실패 시 오류 로그를 남긴다.

관리자 페이지에서 상품별 재고 상태를 실시간으로 수정할 수 있다.


즉, 요구사항이 '방향'을 잡아준다면, 기능명세서는 '설계도' 역할을 한다고 보면 됩니다.

개발자, 디자이너, QA(테스트)팀까지 이걸 보고 같은 기준으로 일하니까,

빠짐없이, 모호하지 않게, 너무 추상적이지 않게 쓰는 게 정말 중요해요!





pm꿈1.jpg

기능명세서와 요구사항 명세서, 꼭 둘 다 있어야 할까?

이 질문도 정말 자주 받는데요!
제 답은 '규모가 작아도 두 문서를 구분해서 쓰는 게 안전하다'예요.


왜냐하면 요구사항 명세서를 제대로 정리하지 않으면, 기능명세서 작성 단계에서 계속 추가, 수정이 발생하고 개발 일정이 늘어나고, 예산이 초과되고, 팀워크도 흔들립니다.


반대로 기능명세서가 부실하면 개발자들이 각자 다르게 해석해서 QA 단계에서 '왜 이렇게 만들었지?'라는 상황이 반복되어 결국 추가 공수가 발생하게 됩니다.


저도 처음엔 '작은 프로젝트인데 굳이?' 했다가, 작은 프로젝트일수록 사소한 커뮤니케이션 오류로 손해 보는 경우를 수없이 봤습니다... ㅎㅎ 믿고 싶지 않지만 실제로 겪은게 수두룩 하네용.




image (47).png

현업 PM이 알려주는 명세서 작성 팁

제가 실제로 팀에서 강조하는 몇 가지 팁을 공유할게요! 개인차는 있으니 참고만 해주세요.


1.요구사항 명세서는 최대한 사용자 중심으로 쓴다

개발 용어보다 사용자 입장에서 문장을 풀어 쓰면 이해가 쉽고, 빠르게 피드백을 받을 수 있어요.


2.기능명세서는 모든 흐름과 예외 상황까지 담는다

'결제가 실패하면?', '회원가입 인증 메일이 안 오면?' 같은 시나리오를 빠짐없이 적으면 이슈 대응이 빨라집니다.


3.문서 관리 툴을 잘 활용한다

구글 스프레드시트, Notion, Jira 등 협업 툴을 잘 활용하면 여러 명이 동시에 보고 수정할 수 있어서 버전 관리가 편합니다.




외주 개발이라면? 믿을 만한 파트너가 필요하다.

이렇게 요구사항 명세서와 기능명세서가 아무리 완벽해도, 결국 실행력 있는 개발사가 있어야 계획이 현실이 되는데요.


제가 실제로 추천하는 파트너는 외주 개발사 똑똑한개발자입니다!

똑똑한개발자는 작은 스타트업부터 중견기업까지 다양한 프로젝트를 맡아오면서, 요구사항 명세와 기능명세를 클라이언트와 함께 꼼꼼히 정리한다고 하는데요.

개발 완료 후에도 문서와 실제 결과물이 다르지 않게 마지막까지 책임지더라고요!

똑똑한개발자 로고.png

프로젝트를 준비 중이라면, 똑똑한개발자처럼 기능명세서 vs 요구사항 명세서 개념을 확실히 이해하고 믿을 만한 파트너와 함께 시작해보시는 걸 추천합니다! 감사합니다.

keyword
작가의 이전글모바일 앱 디자인 잘하는 외주 개발 업체 3곳 비교해봄