외주 개발을 맡길 때, 어떤 문서를 준비해야 할까요? 외주 개발을 고려 중이신 분들께 자주 받는 질문입니다. 외주는 기본적으로 내가 해야 할 일을 다른 전문가에게 맡기는 일이기 때문에, 초기에 어떤 작업을 맡기고 싶은지 명확하게 설명하는 것이 매우 중요합니다. 그래서 외주 개발을 시작하기 전, 기획서나 요구사항 정의서 같은 문서를 통해 원하는 내용을 정리하게 되죠.
가장 이상적인 방법은 내부에서 전문적인 기획서를 만드는 것입니다. 하지만 현실적으로 모든 기업에 기획자가 있는 것은 아니고, 기획 리소스가 부족한 경우도 많습니다. 이런 상황에서는 전문 개발사와 원활히 소통할 수 있도록, 핵심만 정리한 요구사항 정의서를 작성하는 것이 효과적인 대안이 됩니다.
그렇다면 요구사항 정의서는 정확히 어떤 문서일까요? 어디에 쓰이고, 어떻게 작성해야 할까요? 이번 글에서는 요구사항 정의서의 개념부터 작성법, 그리고 따라할 수 있는 양식까지 차근차근 안내해 드리겠습니다.
✍️ 목차
요구사항 정의서는 내가 만들고 싶은 서비스나 기능이 어떻게 작동해야 하는지, 어떤 화면이 필요한지, 사용자는 어떤 흐름으로 서비스를 이용하게 될지 등을 정리한 문서입니다. 쉽게 말해, '이런 걸 만들어주세요'라고 개발사에 요청할 때 필요한 자세한 설명서라고 생각하시면 됩니다.
요구사항 정의서는 꼭 복잡하거나 전문적인 문서일 필요는 없습니다. 개발 외주가 처음인 분들도 핵심만 잘 정리하면 충분히 작성할 수 있습니다. 중요한 건 내가 원하는 기능과 흐름을 명확하게 전달하는 것, 그리고 이를 통해 개발사와 같은 그림을 그리고 있는지 확인하는 것입니다.
개발 업체가 견적을 산정할 때는 기본적으로 '인건비'를 기준으로 합니다. 얼마나 많은, 숙련된 인력을 얼마나 투입하느냐에 따라 견적이 달라지죠. 인건비를 정확히 계산하기 위해서는 프로젝트의 업무 범위와 난이도를 정확히 알아야 합니다. 만약 그렇지 않으면 추측으로 견적을 계산하게 되고, 부정확한 수치가 나올 수밖에 없죠.
이때 요구사항 정의서가 있으면 정확한 견적을 내기 훨씬 수월해집니다. 요구사항 정의서를 바탕으로 업무 범위와 난이도를 정확히 파악할 수 있기 때문입니다.
2) 계약 후, 상세 기획을 진행할 때
개발 업체와 계약한 후, 본격적인 개발에 착수하기 전 몇 차례 미팅을 진행합니다. 상세 기획을 잡기 위해서입니다. 이때 기획의 기준이 되는 것이 요구사항 정의서입니다.
요구사항 정의서에 정리된 내용을 바탕으로, 개발사는 어떤 기능을 어떤 방식으로 구현할지 구체적으로 계획을 세우고, 필요한 기술 스택이나 작업 일정을 조율하게 됩니다. 클라이언트 입장에서도 이 문서를 중심으로 '이건 꼭 필요한 기능인지', '사용 흐름이 자연스러운지' 등을 다시 점검할 수 있어, 프로젝트 초반에 방향성을 확실히 맞추는 데 도움이 됩니다.
또한 개발 중간에 새로운 요청사항이 생기거나, 기존 내용에 대해 논의가 필요할 때도 요구사항 정의서는 기준점 역할을 합니다. 처음에 정리해둔 내용을 바탕으로 변경 여부나 범위를 판단할 수 있기 때문에, 프로젝트가 예상치 못한 방향으로 흐르지 않도록 잡아주는 역할을 할 수도 있어요.
요구사항 정의서의 정의와 사용처를 알았으니, 이제 본격적으로 문서를 작성해보겠습니다.
가장 먼저 해야 할 일은, 내가 개발하고자 하는 서비스에 대해 전반적으로 이해할 수 있도록 개요를 작성하는 것입니다. 만들고자 하는 서비스가 무엇을 위한 것인지, 누가 사용할 것인지, 목표가 무엇인지를 설명하면 됩니다.
STEP 2. 요구사항 정리하기
이제 개발이 성공적으로 완료되어, 서비스를 운영하는 중이라고 상상해 봅시다. 사용자는 어떤 흐름으로 서비스를 이용하고 있나요? 사용 설명서를 만든다고 생각하고, 사용자가 처음부터 끝까지 어떤 기능을 써야 하는지, 그 기능을 제대로 쓰기 위해서는 무엇이 필요한지 양식에 맞춰 작성합니다.
예를 들어, 우리가 쇼핑몰을 만들고자 한다고 생각해 봅시다. 구매자가 쇼핑몰에 들어와서 가장 먼저 '회원가입'을 해야겠죠. 이때 사용자 구분은 '구매자'가 됩니다. 또 요구사항 명은 '회원가입'이 됩니다.
그럼 구매자는 어떻게 회원가입을 할 수 있을까요? 이메일로 가능하다고 가정했을 때, 기능명은 '이메일 회원가입'으로 정의할 수 있겠죠. 상세 설명에는 '사용자가 이메일, 비밀번호, 이름, 연락처를 입력해 가입할 수 있도록 함. 이메일 인증 절차 포함' 이라고 쓰면 좋겠습니다.
쇼핑몰을 이용하기 위해 회원가입은 꼭 해야 하므로, 우선순위는 '높음'입니다. SNS 간편가입도 넣으면 좋겠지만, 이번 범위에는 포함되지 않습니다. 하지만 개발 업체가 쇼핑몰을 만들 때 추후 SNS 간편가입이 추가될 수 있다는 점을 고려해 개발했으면 합니다. 그럼 비고에 'SNS 간편 가입은 추후 개발 고려' 라고 씁니다.
이렇게 서비스를 누가 - 무엇을 - 어떻게 사용할지 구체적으로 기재하면 요구사항 정의서가 완성됩니다.
누구나 따라할 수 있도록 양식을 만들어 두었으니, 이제 가이드에 따라 요구사항 정의서를 직접 작성해 보세요.
요구사항 정의서 작성이 끝났습니다. 그 다음에는 무엇을 해야 할까요? 다음 단계는 작성한 요구사항 정의서를 기반으로 1) 개발 업체를 찾고 2) 견적을 받고 3) 미팅을 통해 계약을 해야 합니다. 요구사항을 정리해두었으니 커뮤니케이션이 훨씬 수월해지고, 정확한 견적을 받을 확률도 높아지겠죠.
하지만, 개발 업체를 찾고 견적을 받는 과정은 시간과 리소스가 많이 드는 작업입니다. 특히 외주 경험이 없거나 IT 베이스가 없는 담당자라면 어떤 개발 업체를 찾아가야 할지, 이 업체가 실제로 전문성이 있는지, 업체가 준 견적이 정확한지 정확하게 판단하기 어렵습니다.
이럴 때는 위시켓을 활용해 보세요. 위시켓은 10만 기업이 사용하는 국내 최대 IT 아웃소싱 플랫폼으로, 전문 컨설턴트에게 예상 견적과 기간을 미리 안내 받을 수 있고, 직접 발품 팔지 않아도 24시간 내 평균 5.8개의 개발 회사에게 비교 견적과 제안서를 받아볼 수 있어요. 전담 매니저에게 개발 업체 비교부터 미팅, 계약까지 지원 받을 수 있다는 장점도 있어요.
특히 외주 프로젝트를 의뢰하는 기업이라면 수수료 없이 모든 서비스를 이용할 수 있습니다.
함께 읽으면 좋은 콘텐츠