앱/웹 개발 시 작성되는 기능 정의서는 개발 대상 앱과 웹 사이트에서 서비스될 기능의 내용과 작동 방식을 정리한 문서입니다. 해당 개발 프로젝트 제약 요건이 있다면 기능 정의서에 표시합니다. 또한 반드시 사용해야 하는 솔루션이 있다면 이 또한 기능 정의서에 표시되어야 합니다.
정리하면, 앱/웹 개발 시 기획자가 작성하는 기능 정의서는 개발될 앱과 앱에 구현된 기능에 대한 설명뿐 아니라, 어떤 식으로 개발되어야 하는지도 표시된 문서라 할 수 있습니다.
요구 사항에서 기능 정의로
기능 정의서를 작성할 때 기준은 개발된 앱 또는 웹에 적용되는 기능에 대해 작업해야 한다는 점입니다. 그러므로 필연적으로 기능 정의는 요구 사항을 바탕으로 해야 합니다.
기능 정의서에 작성되는 내용은 요구 사항과 다른 것이 되어서는 안 됩니다. 그렇다고 요구 사항에 없는 내용을 작성해서는 안된다는 말이 아닙니다. 요구 사항을 통해 전달된 기능 내용과 다르게 기능 정의서에 적으면 안 됨을 의미합니다.
때로는 앱/웹 개발에 있어 고객사의 특별한 상황 때문에 최선의 기술을 사용할 수 없을 수도 있습니다. 이 또한 요구 사항에 있는 내용이어야 합니다. 그러나 종종 중요한 개발 제약 사항이 요구 사항에 포함되어 있지 않는 경우도 있습니다.
그러므로 기획자는 단순히 고객의 요구 사항을 받아 정리하는 것이 아닌, 상세화 작업을 해야 하는 것입니다.
앱/웹 개발 요구 사항과 관련한 기본적인 아웃 라인은 PM 또는 PMO, 기술 영업 측에서 정리해서 전달합니다. 이는 계약과 연결되어 있기 때문입니다.
앱/웹 개발 프로젝트에 투입되는 기획자는 계약 기반 요구 사항을 받아서, 이 요구 사항이 개발에 적합할 수 있도록 고객 인터뷰를 통해 상세화 작업을 하는 것입니다.
이때 개발 PL 또는 설계 담당자의 도움을 받아 정리합니다.
이렇게 정리된 요구 사항 상세화 시트에서 기능에 대한 부분을 뽑아서 정리한 문서가 기능 정의서인 것입니다.
기능 정의서 내용
예를 들어 회원 가입과 로그인 기능을 개발할 때, 사용자의 간편한 가입을 위해 SNS API를 이용해야 한다는 요구 사항이 있다고 가정합니다. 이때 기능 정의서에는 이에 대한 내용이 있어야 합니다.
- 가입과 로그인 관련 요구 사항과 이에 따른 기능 정의 예시
그런데 여기에는 어떤 SNS를 사용하는지에 대한 구체적인 요구 사항이 없습니다. 그렇다면 요구 사항 상세화 과정 중 회원 가입과 로그인에 이용될 SNS를 특정해야 합니다.
그리고 회원 가입 요구 사항 중 몇 가지 필수, 선택 사용자 정보가 지정되어 있다면 이에 대한 정리도 기능 정의서에 표시해야 합니다. SNS에 따라 받아 올 수 있는 개인 정보가 다를 수 있고 만약 필수 가입 사용자 정보를 모두 충족하지 못한다면 이를 어떻게 처리해야 하는지에 대한 정의가 있어야 합니다.
이렇듯 기능 정의서를 자유로운 형식으로 작성될 수 있지만, 개발될 기능이 어떤 조건하에서 작동되어야 하는지 구체적인 내용이 들어 있어야 하는 것입니다.
기능 정의서 내용을 가지고 어떻게 개발할지를 설계하는 것은 개발자의 몫입니다. 그러나 이 기능이 어떤 기능이고 어떤 제약 조건하에 개발되어야 하는지 정리하는 것은 기획자의 몫입니다.
이런 사항은 앱 또는 웹 정책의 영역이기 때문입니다.
하나의 예를 더 들어 보겠습니다.
- 메인 화면 노출 조건
고객의 요구 사항에 앱/웹의 메인 화면에서 5개 정도 콘텐츠를 추천 콘텐츠로 보여 준다는 내용이 있다고 가정합니다. 그런데 이 요구 사항에는 노출 정책에 대한 내용이 없습니다. 그렇다면 개발자는 어떤 규칙으로 노출을 해야 하는지 알 수 없습니다.
그냥 최신순으로 노출하는 것과 조회 순으로 노출하는 것, 저장 순으로 노출하는 것 등 기준에 따라 노출 기능의 로직은 달라집니다. 또한 여기에 기간 조건을 포함시킨다면 또 노출을 위한 연산 로직은 달라지게 됩니다.
그러므로 기능 정의서에는 개발자가 기능 개발에 필요한 내용이 전부 들어 있어야 합니다. 만약 내용이 없어 개발자가 알아서 개발했는데, 고객 검수 시 기능을 검토해 보고 다른 조건을 제시한다면 개발에 문제가 생길 수 있습니다. 단순히 개발 기간이 조금 추가될 수 있을 수도 있고, 기능 개발 방식에 따라 연동 로직도 함께 수정해야 하는 추가 개발이 필요하게 될 수도 있습니다.
그러므로 요구 사항을 바탕으로 기능 정의서를 얼마나 상세하게 작성하느냐는 개발 기간의 단축뿐 아니라 개발된 앱과 웹의 안정성에도 영향을 줄 수 있습니다.
앱/웹 자체 개발 시 기능 정의서
위의 내용은 외주 개발의 경우입니다. 그럼 기업 자체 개발진으로 앱/웹을 개발한다고 할 때 기능정의서는 어떻게 작성할까요?
일단 사업 기획이나 서비스 기획과 다른 기획자가 개발을 진행한다면 위의 내용과 크게 달라질 것이 없습니다. 단지 커뮤니케이션이 갑과 을이 아니라 회사 내 다른 부서, 담당자자 간이 되는 차이일 뿐입니다.
만약 사업 기획이나 서비스 기획 담당자와 앱/웹 개발 담당자가 같다면, 자신의 의도를 정리하면 됩니다. 이때 회사 내 개발팀과 일종의 TFT를 구성하여 작업하는 것이 좋습니다. 회사 내 개발 요건을 기획자가 디테일하게 이해하고 있지 못할 수도 있기 때문입니다.
또한 개발은 개발팀에서 하게 되므로, 앱과 웹에 대한 협의를 스토리보드 전에 미리 한다는 의미도 있습니다.
어차피 스토리보드가 전달되고 개발이 시작되면 기획자는 개발자와 스토리보드 내용에 대한 협의를 하게 되기 때문입니다.
그리고 외주 개발 시에는 개발자 투입과 기획자 투입 타이밍이 다를 수도 있고, PM이나 PL이 요구 사항 상세화나 기능 정의 작업 할 시간을 헛되게 소비한 상태일 수도 있습니다.
그러나 자체 개발의 경우 항상 함께 있는 다른 부서 직원이므로 이런 문제는 작아지게 됩니다. 오히려 개발 진행은 원활할 수 있습니다.
정리하면, 외주 개발이나 내부 개발이나 기능 정의서 작성 내용이나 방법은 다를 것이 없습니다. 단지 상호 관계에 따른 업무 진행 프로세스가 달라질 뿐이라는 점입니다.
'앱기획 웹기획' 카테고리의 다른 글
그런데 앱이나 웹 사이트를 개발하는데 기획자가 왜 필요한 것일까? (0) | 2023.06.27 |
---|---|
앱과 웹사이트를 개발 시 스토리보드는 작성 이유와 PPT, 피그마, 어도비XD가 기획툴이 된 이유 (0) | 2023.06.24 |
앱과 웹 기획 화면 정의서와 스토리보드 작성 방법 (0) | 2023.06.23 |
앱과 웹 서비스 구조와 각 기능 프로세스 설계가 기획에 미치는 영향 (0) | 2023.06.22 |
앱 웹 온라인 서비스 분석과 가치 알고리즘 (0) | 2023.06.21 |
댓글