애플리케이션 제작을 위한 기능정의서 작성 방법

어플리케이션 제작 이런 기능을 구현하고 싶어요! 어플리케이션 제작 이런 기능을 구현하고 싶어요!

내가 생각해도 정말 훌륭한 애플리케이션 제작 아이템이 떠올랐을 때 번뜩이는 아이디어를 기획 속에 녹여내는 것만으로 멋진 애플리케이션이 탄생할 것이라는 기대감이 생기는데요. 하지만 개발사와 미팅을 하다 보면 좌절하는 경우가 많습니다. 기능의 실현 가능성을 고려하지 않고 기능의 상세한 동작과 어떤 데이터가 필요한지, 데이터가 어떻게 활용되는지 아무것도 고려하지 않았기 때문입니다. 수없이 많은 ‘No!’를 듣고 기획서를 수정하면 시간도 체력도 배로 소모되는 느낌을 지울 수 없습니다. 처음부터 OK를 받을 수 있는 기획서는 어떻게 작성할 수 있나요? 이 글은 번뜩이는 어플리케이션 제작 아이디어를 기획안으로 녹여내는 과정에서 가장 먼저 작성하는 ‘기능정의서’에 대해 소개합니다. 그 전에 어플리케이션 제작을 위한 설계(기획) 과정부터 봐야 합니다. 일반적인 프로세스는 다음과 같습니다. 애플리케이션 제작 설계 프로세스 스스로 생각해도 정말 멋진 애플리케이션 제작 아이템이 떠오를 때 번뜩이는 아이디어를 기획 속에 녹여내기만 하면 멋진 애플리케이션이 탄생할 것이라는 기대감이 생기는데요. 하지만 개발사와 미팅을 하다 보면 좌절하는 경우가 많습니다. 기능의 실현 가능성을 고려하지 않고 기능의 상세한 동작과 어떤 데이터가 필요한지, 데이터가 어떻게 활용되는지 아무것도 고려하지 않았기 때문입니다. 수없이 많은 ‘No!’를 듣고 기획서를 수정하면 시간도 체력도 배로 소모되는 느낌을 지울 수 없습니다. 처음부터 OK를 받을 수 있는 기획서는 어떻게 작성할 수 있나요? 이 글은 번뜩이는 어플리케이션 제작 아이디어를 기획안으로 녹여내는 과정에서 가장 먼저 작성하는 ‘기능정의서’에 대해 소개합니다. 그 전에 어플리케이션 제작을 위한 설계(기획) 과정부터 봐야 합니다. 일반적인 프로세스는 다음과 같습니다. 응용 프로그램 제작 설계 프로세스

1. 요구사항 정의 2. WBS 3. 기능정의 4. 정보구조도 및 흐름도 5. 와이어프레임 6. 스토리보드 및 화면설계 7. 프로토타입 애플리케이션 설계 프로세스를 보다 자세히 알아보고 싶다면 앱 개발 기획 프로세스 한 장 묶음(링크)문을 참고하세요. 각 단계별로 어떤 내용이 필요한지 알 수 있습니다. 오늘은 아이디어를 기획안에 녹여내는 과정에서 가장 먼저 작성하는 기능정의서에 대해서 설명하겠습니다. 글의 순서는 아래와 같습니다. 1. 기능정의서란 무엇이며, 왜 작성하는가? 2. 기능정의서, 어떻게 작성할 것인가? 3. 그래서 작성한 기능정의서에서 어떻게 개발자와 이야기를 나누는가? 기능정의서란 무엇입니까? 1. 요구사항 정의 2. WBS 3. 기능정의 4. 정보구조도 및 흐름도 5. 와이어프레임 6. 스토리보드 및 화면설계 7. 프로토타입 애플리케이션 설계 프로세스를 보다 자세히 알아보고 싶다면 앱 개발 기획 프로세스 한 장 묶음(링크)문을 참고하세요. 각 단계별로 어떤 내용이 필요한지 알 수 있습니다. 오늘은 아이디어를 기획안에 녹여내는 과정에서 가장 먼저 작성하는 기능정의서에 대해서 설명하겠습니다. 글의 순서는 아래와 같습니다. 1. 기능정의서란 무엇이며, 왜 작성하는가? 2. 기능정의서, 어떻게 작성할 것인가? 3. 그래서 작성한 기능정의서에서 어떻게 개발자와 이야기를 나누는가? 기능정의서란 무엇입니까?

기능정의서는 각각의 기능에 대해 정의(무엇), 개발요건 등을 포함한 설명을 실시하고, 기능이 어떻게 실장되어야 하는지(어떻게 만드는지)를 기재한 문서입니다. 본격적인 기획의 첫 단계이자 첫 단계인 만큼 개발하고자 하는 기능 또는 프로젝트의 방향성을 잡는 역할이 되기도 합니다. 이 전 단계에서 요구사항 정의를 할 수도 있지만 경우에 따라서는 생략할 수도 있습니다. 이와 같은 경우에는 기능정의서 초안을 검토하는 시간을 통해 개발 실현 여부를 확인하고 이후에 세부 기획을 진행하게 됩니다. 기능정의서는 왜 작성하나요? 기능정의서는 각각의 기능에 대해 정의(무엇), 개발요건 등을 포함한 설명을 실시하고, 기능이 어떻게 실장되어야 하는지(어떻게 만드는지)를 기재한 문서입니다. 본격적인 기획의 첫 단계이자 첫 단계인 만큼 개발하고자 하는 기능 또는 프로젝트의 방향성을 잡는 역할이 되기도 합니다. 이 전 단계에서 요구사항 정의를 할 수도 있지만 경우에 따라서는 생략할 수도 있습니다. 이와 같은 경우에는 기능정의서 초안을 검토하는 시간을 통해 개발 실현 여부를 확인하고 이후에 세부 기획을 진행하게 됩니다. 기능정의서는 왜 작성하나요?

기능정의서는 기획한 기능에 대해 개발사와 소통하기 위한 것으로 개발사에 그 기능을 어떻게 구현해 달라고 요청하는 문서와 같은 개념이라고 보면 됩니다. 기획자가 ‘무엇’에 해당하는 기능을 정리하고, 기능 동작에 대한 부분을 기재하고, 개발사와 이야기함으로써 어떻게 구현할지 보완합니다. 이렇게해서각각의기능을만들어서하나의어플리케이션,하나의프로젝트를실현하는거죠. 기능정의서에는 어떤 내용이 필요한가요? 기능정의서는 기획한 기능에 대해 개발사와 소통하기 위한 것으로 개발사에 그 기능을 어떻게 구현해 달라고 요청하는 문서와 같은 개념이라고 보면 됩니다. 기획자가 ‘무엇’에 해당하는 기능을 정리하고, 기능 동작에 대한 부분을 기재하고, 개발사와 이야기함으로써 어떻게 구현할지 보완합니다. 이렇게해서각각의기능을만들어서하나의어플리케이션,하나의프로젝트를실현하는거죠. 기능정의서에는 어떤 내용이 필요한가요?

정해진 양식이 있는 것은 아니지만, 보통 요구사항 기능 ID, 기능이 들어가는 페이지, 주요 기능(기능명), 기능 정의, 기능 설명, 개발 여부를 작성하면 개발사와 소통이 편리합니다. 회사의 프로세스나 프로젝트에서 필요에 따라 예외/처리가 추가되거나 기능 설명도 더욱 세분화하여 진행하는 경우도 있습니다. 보통 엑셀로 작성을 하지만 개발사의 편의를 위해서는 JIRA와 연동이 쉽도록 Confluence(컨플루언스)에 템플릿을 만들어 작성을 하기도 합니다. 기능정의서는 어떻게 작성하나요? 정해진 양식이 있는 것은 아니지만, 보통 요구사항 기능 ID, 기능이 들어가는 페이지, 주요 기능(기능명), 기능 정의, 기능 설명, 개발 여부를 작성하면 개발사와 소통이 편리합니다. 회사의 프로세스나 프로젝트에서 필요에 따라 예외/처리가 추가되거나 기능 설명도 더욱 세분화하여 진행하는 경우도 있습니다. 보통 엑셀로 작성을 하지만 개발사의 편의를 위해서는 JIRA와 연동이 쉽도록 Confluence(컨플루언스)에 템플릿을 만들어 작성을 하기도 합니다. 기능정의서는 어떻게 작성하나요?

1. 버전/수정 이력을 관리하는 버전/수정 이력을 남기는 것은 매우 중요합니다. 일은 혼자 하는 것이 아니기 때문에 수정 이력을 기재하지 않으면 어느 순간 기획이 꼬이고, 개발이 꼬이고, 모든 것이 꼬이게 됩니다. 먼저 버전과 수정 이력을 관리할 수 있는 양식을 작성해 두겠습니다. PPT나 엑셀로 작성할 때도 마찬가지입니다. 버전이나 수정 이력을 관리하지 않으면 나중에 어떤 부분이 수정되었는지, 초기 기획과 달라진 부분이 무엇인지도 파악하지 못하고 프로젝트가 점점 산으로 가게 됩니다. 만약 변경된 부분을 기재하지 않게 되면, 하지 않기로 한 부분이 갑자기 개발되었다고 나오거나 기획이 변경되었음에도 초기 기획 때의 기능이 툭 나올 수 있습니다. 버전 관리는 사내에서 일정한 프로세스를 확립하는 것이 중요합니다. 예를 들어, 1.0에서 수정이 있는 경우는 1.1로 갱신합니다. 그리고 개발사와 리뷰를 진행하고 리뷰를 통해 나온 수정, 보완, 개선 사항을 반영할 경우 메이저 업그레이드를 진행합니다(1.0->2.0). 주요 기능이 추가되거나 변경되는 경우도 마찬가지입니다. 정해진 것은 없기 때문에 아까 말한 것처럼 회사 내의 일정한 규칙을 정하는 것이 좋습니다. 1. 버전/수정 이력을 관리하는 버전/수정 이력을 남기는 것은 매우 중요합니다. 일은 혼자 하는 것이 아니기 때문에 수정 이력을 기재하지 않으면 어느 순간 기획이 꼬이고, 개발이 꼬이고, 모든 것이 꼬이게 됩니다. 먼저 버전과 수정 이력을 관리할 수 있는 양식을 작성해 두겠습니다. PPT나 엑셀로 작성할 때도 마찬가지입니다. 버전이나 수정 이력을 관리하지 않으면 나중에 어떤 부분이 수정되었는지, 초기 기획과 달라진 부분이 무엇인지도 파악하지 못하고 프로젝트가 점점 산으로 가게 됩니다. 만약 변경된 부분을 기재하지 않게 되면, 하지 않기로 한 부분이 갑자기 개발되었다고 나오거나 기획이 변경되었음에도 초기 기획 때의 기능이 툭 나올 수 있습니다. 버전 관리는 사내에서 일정한 프로세스를 확립하는 것이 중요합니다. 예를 들어, 1.0에서 수정이 있는 경우는 1.1로 갱신합니다. 그리고 개발사와 리뷰를 진행하고 리뷰를 통해 나온 수정, 보완, 개선 사항을 반영할 경우 메이저 업그레이드를 진행합니다(1.0->2.0). 주요 기능이 추가되거나 변경되는 경우도 마찬가지입니다. 정해진 것은 없기 때문에 아까 말한 것처럼 회사 내의 일정한 규칙을 정하는 것이 좋습니다.

버전/수정이력예 버전/수정이력예

2. 기능정의서를 작성하는 버전관리 양식을 만들었다면 이제는 기능정의를 내려야 할 차례입니다. 딱히 정해진 양식은 없지만 개발사와 논의해서 꼭 들어가야 할 내용을 미리 정하는 게 좋습니다. 결국 이 문서를 가장 많이 보는 건 개발자니까요. 2. 기능정의서를 작성하는 버전관리 양식을 만들었다면 이제는 기능정의를 내려야 할 차례입니다. 딱히 정해진 양식은 없지만 개발사와 논의해서 꼭 들어가야 할 내용을 미리 정하는 게 좋습니다. 결국 이 문서를 가장 많이 보는 건 개발자니까요.

기능 정의서의 예 기능 정의서의 예

A. 기능 ID를 부여하는 ID는 각 기능별로 부여해야 합니다. 아이디는 고유번호로 하나의 기능에 하나의 아이디만 부여합니다. ID를 부여하는 이유는 향후 해당 ID를 바탕으로 기능이 무엇이었는지 파악하거나 검색하기 쉽게 하기 위함이며, 의사소통 중에도 다소 긴 명칭 대신 ID를 이용해 명확하게 의사를 전달하기 위함입니다. 기능 ID를 부여하는 방법은 정해져 있지 않으며, 이 역시 사내에서 규칙을 세우면 됩니다. 하나의 예로서 7자리 시리얼 번호를 부여하여 구분할 수 있습니다. A. 기능 ID를 부여하는 ID는 각 기능별로 부여해야 합니다. 아이디는 고유번호로 하나의 기능에 하나의 아이디만 부여합니다. ID를 부여하는 이유는 향후 해당 ID를 바탕으로 기능이 무엇이었는지 파악하거나 검색하기 쉽게 하기 위함이며, 의사소통 중에도 다소 긴 명칭 대신 ID를 이용해 명확하게 의사를 전달하기 위함입니다. 기능 ID를 부여하는 방법은 정해져 있지 않으며, 이 역시 사내에서 규칙을 세우면 됩니다. 하나의 예로서 7자리 시리얼 번호를 부여하여 구분할 수 있습니다.

기능 ID 예제 기능 ID 예제

B. 페이지(Depth) 해당 기능이 어디에서 구현되는지 표현하는 작업입니다. C. 주요 기능(기능명) 기능의 명칭을 기재하는 영역입니다. D. 기능 정의 기능이 동작하는 액션, 주요 역할을 기재하는 부분입니다. 전술한 주요 기능(기능명)이 수행하는 역할을 기술합니다. E. 기능 설명 기능의 정의를 내리는 데 있어서 가장 힘써야 할 부분입니다. 프론트 영역과 사용자에게 보이지 않는 백 영역을 나누어 작성하시면 이해하기 쉬울 것 같습니다. 1) 프론트 영역: Type, 문구, 표기 방법(시간 또는 지역 등), 각 부분이 동작하는 방식, 페이지의 이탈 또는 이동 등 화면에 보이는 부분을 중심으로 기재 2) 백 영역: 화면에 표시되는 정보/정보의 종류, User Action에 따라 어떤 정보를 표시하고 처리하는지, User가 입력한 데이터에 의한 출력은 어떻게 되는지 기재 개발사와는 어떻게 소통합니까? B. 페이지(Depth) 해당 기능이 어디에서 구현되는지 표현하는 작업입니다. C. 주요 기능(기능명) 기능의 명칭을 기재하는 영역입니다. D. 기능 정의 기능이 동작하는 액션, 주요 역할을 기재하는 부분입니다. 전술한 주요 기능(기능명)이 수행하는 역할을 기술합니다. E. 기능 설명 기능의 정의를 내리는 데 있어서 가장 힘써야 할 부분입니다. 프론트 영역과 사용자에게 보이지 않는 백 영역을 나누어 작성하시면 이해하기 쉬울 것 같습니다. 1) 프론트 영역: Type, 문구, 표기 방법(시간 또는 지역 등), 각 부분이 동작하는 방식, 페이지의 이탈 또는 이동 등 화면에 보이는 부분을 중심으로 기재 2) 백 영역: 화면에 표시되는 정보/정보의 종류, User Action에 따라 어떤 정보를 표시하고 처리하는지, User가 입력한 데이터에 의한 출력은 어떻게 되는지 기재 개발사와는 어떻게 소통합니까?

작성한 기능정의서를 바탕으로 어플리케이션 제작 개발사와 미팅을 하게 되는데요. 이 과정에서 상당히 어렵다고 느낄 수도 있습니다. 「No!」라고 외치는 경우도 많고, 꽤 자세한 설명을 필요로 하는 경우도 있기 때문입니다. 기획이나 디자인에서는 간단한 작업, 별거 아닌 작업이라도 개발자에게는 상당히 큰 작업이 될 수 있기 때문입니다. 그렇기 때문에 개발자와 짧거나 긴 미팅을 자주 하면서 기능 구현 여부, 시스템 적용 가능성을 계속 이야기하면서 맞춰가는 것이 중요합니다. 커뮤니케이션이 잘 되고 있는 개발 회사는 어떻게 만날 수 있습니까? 작성한 기능정의서를 바탕으로 어플리케이션 제작 개발사와 미팅을 하게 되는데요. 이 과정에서 상당히 어렵다고 느낄 수도 있습니다. 「No!」라고 외치는 경우도 많고, 꽤 자세한 설명을 필요로 하는 경우도 있기 때문입니다. 기획이나 디자인에서는 간단한 작업, 별거 아닌 작업이라도 개발자에게는 상당히 큰 작업이 될 수 있기 때문입니다. 그렇기 때문에 개발자와 짧거나 긴 미팅을 자주 하면서 기능 구현 여부, 시스템 적용 가능성을 계속 이야기하면서 맞춰가는 것이 중요합니다. 커뮤니케이션이 잘 되고 있는 개발 회사는 어떻게 만날 수 있습니까?

나에게 잘 맞는 어플리케이션 제작사를 찾기가 너무 어려워요. 검색을 하면 광고 일색이고 주변 사람들에게 추천을 받아도 저와 잘 맞는지는 알기 어렵습니다. 캐스팅에는 어플리케이션 제작 업무를 의뢰하면 4,600여 개 전문 업체 중 요구 사항에 가장 적합한 개발사를 매칭해 드립니다. 개발 요청 내용을 데이터화하여 개발사의 포트폴리오, 재무 상태, 핵심 역량 등을 분석하여 가장 잘 맞는 전문 업체를 골라줍니다. IT 소싱 디렉터가 선정된 업체와 3자 미팅을 통해 프로젝트 진행까지 관리하고 있으니 잘 맞는 개발업체를 찾기가 훨씬 쉽겠죠? 매칭된 2개 이상의 전문 개발사의 비교 견적을 한눈에 확인할 수 있으며 소싱 디렉터가 업체별 견적에 대한 코멘트를 제공합니다. 선정된 업체와의 3자 미팅과 전자계약, 대금보호까지 쉽고 안전하게 진행할 수 있습니다. 이 모든 프리미엄 혜택을 무료로 제공합니다. 개발을 가장 잘 실행할 수 있는 검증된 전문 업체 캐스팅엔에서 만나보세요. 나에게 잘 맞는 어플리케이션 제작사를 찾기가 너무 어려워요. 검색을 하면 광고 일색이고 주변 사람들에게 추천을 받아도 저와 잘 맞는지는 알기 어렵습니다. 캐스팅에는 어플리케이션 제작 업무를 의뢰하면 4,600여 개 전문 업체 중 요구 사항에 가장 적합한 개발사를 매칭해 드립니다. 개발 요청 내용을 데이터화하여 개발사의 포트폴리오, 재무 상태, 핵심 역량 등을 분석하여 가장 잘 맞는 전문 업체를 골라줍니다. IT 소싱 디렉터가 선정된 업체와 3자 미팅을 통해 프로젝트 진행까지 관리하고 있으니 잘 맞는 개발업체를 찾기가 훨씬 쉽겠죠? 매칭된 2개 이상의 전문 개발사의 비교 견적을 한눈에 확인할 수 있으며 소싱 디렉터가 업체별 견적에 대한 코멘트를 제공합니다. 선정된 업체와의 3자 미팅과 전자계약, 대금보호까지 쉽고 안전하게 진행할 수 있습니다. 이 모든 프리미엄 혜택을 무료로 제공합니다. 개발을 가장 잘 실행할 수 있는 검증된 전문 업체 캐스팅엔에서 만나보세요.

캐스트는 함께 있으면 좋은 개발사를 만날 수 있습니다. v10만여 전문업체의 데이터베이스를 모아 재무신용, 전문가 평가, 가격정보, 레퍼런스, 이용후기 등을 바탕으로 좋은 업체를 선별합니다. v소싱 디렉터가 고객의 과제 요구사항을 정리하여 RFP를 제공합니다. v요구조건에 딱 맞는 전문업체를 AI가 평가하여 매칭합니다. v 매칭된 기업의 비교 견적을 제공합니다. v삼자계약과 대금보호서비스로 안전하게 계약하세요. v 모든 서비스를 무료로 이용하실 수 있습니다. 캐스트는 함께 있으면 좋은 개발사를 만날 수 있습니다. v10만여 전문업체의 데이터베이스를 모아 재무신용, 전문가 평가, 가격정보, 레퍼런스, 이용후기 등을 바탕으로 좋은 업체를 선별합니다. v소싱 디렉터가 고객의 과제 요구사항을 정리하여 RFP를 제공합니다. v요구조건에 딱 맞는 전문업체를 AI가 평가하여 매칭합니다. v 매칭된 기업의 비교 견적을 제공합니다. v삼자계약과 대금보호서비스로 안전하게 계약하세요. v 모든 서비스를 무료로 이용하실 수 있습니다.