기능정의의 배경
기능정의는 무엇을, 어떻게, 어디까지 구현 할지 결정해 줍니다. 개발해야 할 웹, 시스템의 수많은 기능들을 모든 팀원이 다 기억할 수 없을 뿐더러, 기능해야할 대상을 클라이언트, 기획자, 디자이너, 개발자 스스로 각각 사람이기에 다르게 이해할 수 있기 때문입니다. 이로인해 기능정의서라는 문서형태가 필요하게 되었으며, 이는 상호 협의 및 결정된 내용을 정리하여 문서화 한것입니다.
즉, 기능정의서는 개발되어야 앱/웹 시스템의 기능의 내용과 개발 방식 등을 설명한 문서입니다. 기능에 대한 정의만으로 사용자가 이용할 화면을 알 수는 없습니다. 사용자가 이용하게 될 서비스 기능에 대해 파악할 수는 있습니다. 그리고 기능이 어떻게 작동되고 어떤 프로세스에 의해 이루어지는지 설명되어 있습니다.
MVP개발이나 애자일 개발에서도 구축프로세스의 산출물중 하나인 기능정의서 형태는 존재합니다. 단, “기능정의서”라는 문서가 아닌 공유로그(회의록, 슬랙, 컨플루언스, 피그마 등)가 되겠지요.
하지만 SI 또는 집중된 기간에 진행되는 프로젝트의 경우, 위의 이유로 구조화 된 문서로서 양식이 필요하며 이는 수십, 수백명의 개발팀원들이 상호협력하며 개발을 진행해 나가는 나침표 역할을 해 줍니다.
또한, 기능정의서는 아래의 경우에도 자주 사용됩니다.
- 제안요청서에서 정의된 것으로 정확한 견적용
- 제안사에서 프로젝트의 업무범위를 확정하기 위해서
- 팀 내에서도 해야할 프로젝트의 기능을 확정 하기 위해서
본질적으로 기능정의는 개발해야 할 기능을 지정 및 정리하는 것입니다. 그에 관련된 사용목적은 많을수 밖에 없기에 기능정의는 기획업무에서 필수적으로 필요한 업무라도 이야기 드리고 싶습니다.
요구사항 정의서와의 차이점은 먼가요?
요구사항정의서는 프로젝트의 요건을 리스트업하고 그 요건을 할지 말지 결정할 기준을 정해주는 역할을 합니다.
기능정의서는 협의되고 결정된 기능들에 대해 조건과 항목, 플로우를 기술적으로 서술, 설명 하는 역할을 합니다.
따라서 기획자, 디자이너, 개발팀은 요구사항정의서를 보고 난이도와 그에 따른 자원투입량에 대한 의견을 낼 수 있을것이고, 기능정의서는 의견이 아닌 해야할 업무 목록이 됩니다.
기능정의서 작성 방법
정해진 기능정의서 작성 방법이 있다고 생각하지는 않습니다. 해당 개발 프로젝트에 적용될 기능을 파악하기 쉽게 정리하면 될 것입니다.
프로젝트성격, 규모, 개발방식에 따라 그리고 회사 내부 운영양식에 따라 모두 다릅니다. 다른 목적은 개발할 앱/웹의 기능이 무엇이고 어떻게 되어야 디자이너, 개발자가 잘 파악할수 있도록 최적화 했기 때문입니다. 한편으로 이는 지속적으로 최적화될 수 있도록 업데이트 되면 됩니다.
이 중, 가장 일반적으로 사용되는 엑셀을 기준으로 항목위주의 설명을 드리겠습니다 .
대부분의 기능은 큰 카테고리와 하위 카테고리로 구성됩니다. 이에 맞추어 정리하면 일단 어떤 기능이 어떻게 연결되는지 확인하는데 편리할 것 같습니다. 또한 기능 프로세스를 기준으로 구분하여 정리하는 것도 파악에 도움이 됩니다.
위의 경우처럼, 회원가입이라는 큰 카테고리에 일반회원가입, SNS회원가입, 인증이라는 하위 카테고리를 두어 구분하시면 됩니다.
이러한 카테고리를 두고 기능에 대해서 기능설명을 넣으면 됩니다. 설명은 가급적 명료하게 “~ 함. ~여야함. ~하게됨” 등의 명료성있는 말로 서술 하면 되고,
설명에 포함되는 내용은 플로우, 항목(필수/선택 구분) 등으로 개발자가 별도의 질문을 할 필요 없이 이해 할 수준으로 작성하여야 합니다.
또 벤치마킹 또는 레퍼런스 항목이 있을경우, 예시URL을 기재해 두면 개발자는 기능의 목적을 이해하면서 기능에 정의된 항목을 기준으로 개발을 진행하겠지요.
- 기능정의서는 개발과 기획에 있어서는 스토리보드 작성의 기준이 됩니다. 이는 스토리보드가 업데이트 수정이 될 경우, 기능정의서 역시 수정되어야 일원화 된 기능정의 및 설명이 되게 됩니다.
기능정의서 예시
구분, 메뉴, 필요 기능, 기능 설명, 레퍼런스로 구성
가장 기본적인 기능 정의서 작성법으로 사용자, 관리자 등으로 구분을 나눈 후, 메뉴별로 필요한 기능을 작성합니다. 기능 별로 어떤 항목을 입력 하거나 노출해야 하는지 혹은 어떤 프로세스와 연동되어야 하는지 등 어떻게 구현되어야 하는지를 상세하게 작성합니다. 필요한 경우 레퍼런스 서비스를 언급합니다.
IA를 기준으로 기능정의
구분, 뎁스(Depth), 세부 기능으로 구성되어있으며, 해당 기능이 어디서 구현되는 지 경로를 표현하는 방식입니다.
구분을 나눈 후, 메뉴(카테고리) 별 하위 메뉴를 구성하고, 각 하위 메뉴에서 어떤 기능이 구현되어야 하는지를 상세하게 작성합니다.
참조 : 기능정의서에 들어가는 기능들의 목록들
아래의 항목들은 웹사이트, 시스템, 쇼핑몰, 플랫폼 등에서 자주 사용되는 기능들의 목록과 조건입니다. 이러한 기능들을 넣고 명확한 기능설명을 작성하시면 됩니다.
회원관련
- 회원가입종류, 일반회원가입, 소셜회원가입, 이메일초대장발급, 본인확인, 본인인증, SMS인증, 계좌인증, 실명인증, SNS추가연동, 주소API, 아이디찾기, 비밀번호찾기, 비밀번호리셋, 마케팅수신동의, 회원탈퇴
결제관련
- 결제취소, 부분결제취소, 정기결제, 정기자동결제, 쿠폰사용, 포인트사용, 장바구니, 인앱결제, 결제모듈, 결제도구, 카드결제, 해외카드결제, 가상계좌, 실시간계좌이체, 온라인입금, 휴대폰결제, 기타결제, 비로그인주문결제
관리자관련
- 회원관리, 상품관리, 주문관리, 매출관리, 배송관리, 정산관리, 광고관리, 예약관리, 통계관리, 업무관리, 권한관리
검색관련
- 랭킹, 필터, 통합검색, 상세필터, 조건필터, 거리순필터, 인기순필터, 검색어자동완성, 태그, 키워드, 최근검색어, 인기검색어
'앱.웹 기획 > 02. 분석 및 정의' 카테고리의 다른 글
타겟 고객을 정의하는 방법 (2) | 2023.12.22 |
---|---|
WBS (0) | 2023.12.08 |
요구사항 정의 (0) | 2023.12.06 |
유저 시나리오와 유저 스토리 (6) | 2023.12.05 |
문제인식 및 목표설정 (0) | 2023.12.03 |