요구사항 정의서, 외주 맡기기 전에 무엇을 준비해야 할까?

외주 개발에서 일정과 비용이 흔들리는 가장 흔한 이유는 만들 범위가 글로 정리되지 않은 채 시작하기 때문입니다. 요구사항 정의서가 무엇인지, 미팅 전에 고객이 준비하면 좋은 것과 개발사와 함께 채워 가는 것은 무엇인지, 바로 쓸 수 있는 목차 예시와 함께 정리했습니다.

케이트리솔루션

2026년 10월 1일 수정 2026년 10월 1일 5분 읽기

목차

안녕하세요, 케이트리솔루션입니다.

먼저 답부터 드리면, 외주를 맡기기 전에 고객이 완벽한 기획서를 만들어 올 필요는 없습니다. 누가 쓰는지, 어떤 일이 처리돼야 하는지, 언제까지 필요한지 이 세 가지만 정리돼 있으면 충분합니다. 나머지를 질문으로 끌어내 요구사항 정의서로 만드는 건 개발사의 몫입니다. 다만 그 문서가 계약 전에 확정되는지는 고객이 꼭 확인하셔야 합니다.

요구사항 정의서는 무엇인가?

요구사항 정의서는 “무엇을 만들고, 무엇은 만들지 않는지”를 글로 적어 고객과 개발사가 함께 서명하는 문서입니다. 디자인 시안이나 화면 캡처와는 다릅니다. 화면이 어떻게 생겼는지보다 그 화면에서 무슨 일이 일어나야 하는지를 적습니다.

예를 들어 “회원가입 기능”이라고만 적으면 사람마다 떠올리는 게 다릅니다. 요구사항 정의서에는 이렇게 풀어 씁니다.

  • 가입 방법: 이메일, 카카오, 네이버 중 무엇을 지원하는가
  • 필수 정보: 이름, 연락처, 생년월일 중 무엇을 받는가
  • 승인: 가입 즉시 이용 가능한가, 관리자가 승인해야 하는가
  • 탈퇴: 탈퇴하면 작성한 글과 결제 내역은 어떻게 되는가

한 줄짜리 기능이 네 줄로 늘어났습니다. 이 네 줄이 정해지지 않은 채 개발을 시작하면, 개발 중간에 하나씩 질문이 튀어나오고 그때마다 일정이 밀립니다.

왜 개발 전에 확정해야 할까?

외주 분쟁을 들여다보면 “이것도 해 주는 줄 알았다”와 “그건 계약 범위가 아니다”가 맞부딪히는 경우가 대부분입니다. 양쪽 다 거짓말을 한 건 아닙니다. 범위가 말로만 오갔기 때문에 서로 다르게 기억할 뿐입니다.

같은 질문이라도 언제 꺼내느냐에 따라 비용이 달라집니다.

질문을 발견한 시점드는 비용
기획 단계회의 30분, 문서 몇 줄 수정
개발 중간이미 만든 화면과 데이터 구조를 고치는 데 며칠
오픈 이후운영 중인 데이터를 옮기며 수정, 고객 불편까지 발생

그래서 케이트리솔루션은 모든 프로젝트를 요구사항 정의서와 기획 정책서를 확정한 뒤에 착수합니다. 문서 단계가 번거로워 보여도, 계약서의 지체보상 조항이 실제로 의미를 가지려면 “무엇을 기간 안에 만들기로 했는가”가 먼저 적혀 있어야 합니다.

미팅 전에 고객이 준비하면 좋은 것

거창한 문서가 아니어도 됩니다. 메모장에 아래 다섯 가지를 적어 오시면 첫 미팅의 밀도가 확 달라집니다.

  1. 사용자: 이 서비스를 쓰는 사람은 누구인가. 고객, 직원, 관리자처럼 역할을 나눠 적습니다.
  2. 핵심 업무: 사이트에서 실제로 처리돼야 하는 일. 예약, 주문, 결제, 승인, 정산 같은 동사로 적으면 좋습니다.
  3. 지금 방식: 그 일을 현재는 어떻게 하고 있는가. 엑셀, 전화, 카카오톡 단톡방이라도 괜찮습니다. 지금 방식에서 불편한 점이 곧 요구사항입니다.
  4. 참고 서비스: 비슷하게 동작하는 앱이나 사이트. “이 앱의 예약 화면처럼”이라는 한마디가 긴 설명보다 빠릅니다.
  5. 일정과 예산 범위: 오픈해야 하는 날짜가 정해져 있는지, 대략 어느 정도 규모를 생각하는지.

여기서 3번이 특히 중요합니다. 지금 엑셀로 관리하는 직원이 어디서 실수하는지, 전화 예약을 받다가 무엇이 꼬이는지를 들으면 꼭 필요한 기능과 있으면 좋은 기능이 저절로 갈립니다.

개발사와 함께 채워 가는 것

고객이 준비하기 어렵고, 경험 있는 개발사가 먼저 물어봐야 하는 영역도 있습니다.

  • 예외 상황: 결제는 됐는데 주문 저장이 실패하면? 같은 버튼을 두 번 누르면? 인터넷이 끊기면?
  • 권한: 관리자 중에서도 누가 무엇을 볼 수 있고 고칠 수 있는가. 직원이 퇴사하면 그 계정은?
  • 데이터 보관: 탈퇴 회원의 정보와 결제 내역을 얼마나 보관하는가.
  • 외부 연동: 결제, 알림톡, 지도, 기존에 쓰던 프로그램과 무엇을 연결해야 하는가.
  • 운영: 오픈 이후 자주 바뀌는 내용을 관리자가 직접 수정해야 하는가.

이런 질문을 개발사가 먼저 꺼내는지 보면 그 업체가 운영을 해 본 곳인지 짐작할 수 있습니다. 케이트리솔루션 대표는 앱, 관리자 프로그램, 매장 키오스크를 묶은 무인 매장 운영 시스템과 행사 QR 체크인 시스템을 직접 개발하고 운영해 봤습니다. 그래서 기능 목록을 받으면 “이게 틀어지면 누가 곤란해지는가”부터 묻습니다.

요구사항 정의서 목차 예시

프로젝트마다 다르지만, 웹서비스라면 대체로 아래 틀에서 크게 벗어나지 않습니다.

  1. 프로젝트 개요: 목적, 대상 사용자, 오픈 목표일
  2. 사용자 역할: 비회원, 회원, 관리자 등 역할별 할 수 있는 일
  3. 기능 목록: 기능 이름, 설명, 우선순위(필수/선택)
  4. 기능 상세: 기능별 입력값, 처리 규칙, 예외 상황
  5. 관리자 기능: 운영자가 직접 관리할 항목
  6. 외부 연동: 결제, 알림, 외부 API 목록
  7. 범위 외 항목: 이번 계약에서 만들지 않는 것
  8. 인도물: 소스 코드, 문서, 계정 등 넘겨받을 것

7번 범위 외 항목을 꼭 넣으시길 권합니다. 무엇을 만들지 않는지 적어 두면 나중에 “그건 원래 들어가는 줄 알았다”는 말이 나올 틈이 줄어듭니다. 처음부터 모든 기능을 넣기보다 필수 기능만 먼저 만들고 반응을 보며 키우는 방식이라면, 선택 기능을 이 칸에 옮겨 두면 됩니다.

8번 인도물에는 도메인과 서버 계정의 명의도 함께 적어 두세요. 왜 중요한지는 홈페이지 외주 전 도메인과 서버 명의 확인하기에 정리해 두었습니다.

자주 묻는 질문

요구사항 정의서 작성 비용을 따로 내야 하나요?

업체마다 다릅니다. 기획만 별도 계약으로 떼는 곳도 있고 개발 계약에 포함하는 곳도 있습니다. 어느 쪽이든 견적을 받을 때 “요구사항 문서를 누가, 언제까지 만드는지”를 꼭 물어보세요. 견적이 업체마다 크게 다른 이유도 여기서 갈리는 경우가 많습니다. 자세한 내용은 홈페이지 제작 비용 이야기에 있습니다.

개발 중에 요구사항이 바뀌면 어떻게 하나요?

바뀌는 건 자연스럽습니다. 중요한 건 바뀐 내용을 말로 끝내지 않고 문서에 다시 적는 것입니다. 변경이 일정과 비용에 어떤 영향을 주는지도 그때 함께 합의해야 나중에 다툼이 없습니다.

홈페이지 하나 만드는데도 이런 문서가 필요한가요?

회사 소개 홈페이지라면 메뉴 구성과 페이지별 내용 정리 정도면 충분합니다. 회원, 결제, 관리자 화면이 들어가는 순간부터 위 목차가 필요해집니다. 둘의 차이는 플랫폼·솔루션 개발 외주 글에 정리해 두었습니다.

마치며

요구사항 정의서는 개발사를 위한 서류가 아니라 고객을 지키는 서류입니다. 무엇을 받기로 했는지 적혀 있어야 받지 못했을 때 말할 수 있습니다.

정리가 덜 된 아이디어라도 괜찮습니다. 메모 몇 줄만 들고 아래 문의 폼에 남겨 주시면, 질문을 드리며 함께 문서로 만들어 가겠습니다.

#요구사항 정의서#외주 개발 준비#기획서 작성#웹솔루션 개발#IT 프로젝트 관리

부산 외주 개발사, 어디에 맡겨야 할까? 미팅부터 계약, 개발, 운영까지 확인할 것

부산에서 웹사이트나 서비스 개발을 외주로 맡기려는 분들이 가장 많이 묻는 질문을 미팅, 계약, 개발, 운영 네 단계로 나눠 정리했습니다. 부산 남구에 사무실을 둔 개발사 케이트리솔루션이 실제로 일하는 방식과, 어느 업체를 만나든 계약 전에 확인해야 할 것을 함께 담았습니다.

2026년 10월 1일 케이트리솔루션

코드 몰라도 괜찮습니다, 3분 웹개발 강의 100편을 유튜브에 올리고 있습니다

케이트리솔루션 공식 유튜브 채널에서 한 편에 3분짜리 웹개발 강의 '3분 웹개발'을 100편 목표로 올리고 있습니다. 코드를 몰라도 AI에게 정확히 지시할 수 있도록 웹의 기본 개념을 하나씩 풀어 가는 시리즈입니다. 지금까지 올라온 내용과 보는 방법을 안내합니다.

2026년 9월 30일 케이트리솔루션

부산 AI 활용 특강 후기, 경성대학교 대학생 진로 탐색 강의를 다녀왔습니다

경성대학교 진로심리상담센터의 브런치 직무찾기 특강에서 'AI 대전환의 파도 속, 좋아하는 일로 생존하는 법'을 주제로 두 시간 강의했습니다. 개발자 커리어와 창업, AI 활용을 묶어 어떤 내용을 다뤘는지, 그리고 부산에서 AI 활용 강의를 찾는 분들께 드리는 안내를 정리했습니다.

2026년 9월 30일 케이트리솔루션

해결하고 싶은 문제부터 이야기해 주세요

기획서가 없어도, 상담은 시작할 수 있습니다.

만들고 싶은 서비스나 지금 불편한 업무를 알려주세요.
대표가 직접 내용을 확인하고, 필요한 기능과 개발 방향을 함께 정리합니다.

예산과 일정은 정해진 범위까지만 알려주셔도 됩니다.
상담 후 진행 여부를 결정하셔도 괜찮습니다.

이메일 또는 연락처 중 하나 이상을 남겨주세요.

참고 사이트나 희망 일정이 있다면 함께 알려주세요. 예산은 미정이어도 괜찮습니다.

어떻게 알게 되셨나요? (선택)

개인정보 수집·이용

케이트리솔루션(이하 "회사")은 개인정보 보호법에 따라 이용자의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 다음과 같이 개인정보처리방침을 수립·공개합니다. 회사는 홈페이지의 문의 접수 기능을 통해 최소한의 개인정보만을 수집합니다.

1. 수집하는 개인정보 항목 및 수집 방법

회사는 문의 접수 처리를 위해 아래의 개인정보를 수집합니다.

  • 필수 항목: 이름, 문의 내용
  • 선택 항목(하나 이상): 이메일 주소, 연락처(전화번호)
  • 선택 항목: 회사를 알게 된 경로

수집 방법: 홈페이지 문의 접수 폼을 통해 이용자가 직접 입력한 정보를 수집합니다. 이용자는 동의를 거부할 수 있으나, 이 경우 문의 접수 서비스 이용이 제한될 수 있습니다.

2. 개인정보의 수집·이용 목적

수집한 개인정보는 다음의 목적으로만 이용되며, 목적이 변경될 경우 별도의 동의를 받습니다.

  • 문의 사항에 대한 확인 및 회신, 상담 진행
  • 프로젝트 상담·견적 등 요청에 대한 응대

3. 개인정보의 보유 및 이용 기간

회사는 원칙적으로 문의 처리(상담 종료) 완료 후 3년이 경과하면 해당 정보를 지체 없이 파기합니다. 다만 관련 법령에 따라 보존할 필요가 있는 경우에는 해당 기간 동안 보관합니다.

4. 개인정보의 제3자 제공

회사는 이용자의 개인정보를 본 방침에서 고지한 범위를 넘어 외부에 제공하지 않습니다. 다만 법령의 규정에 의거하거나 수사 목적으로 법령에 정해진 절차와 방법에 따라 수사기관의 요구가 있는 경우는 예외로 합니다.

5. 개인정보 처리의 위탁 및 국외 이전

회사는 문의 알림 수신을 위해 아래와 같이 개인정보 처리를 위탁하며, 그 과정에서 개인정보가 국외로 이전됩니다.

  • 이전받는 자: Slack Technologies, LLC (Salesforce, Inc.)
  • 이전되는 국가: 미국
  • 이전 항목: 문의 접수 시 입력한 이름·이메일·연락처·문의 내용·알게 된 경로
  • 이전 일시 및 방법: 문의 접수 시점에 정보통신망을 통해 전송
  • 이전받는 자의 이용 목적: 문의 접수 알림 전달
  • 이용·보유 기간: 위 제3항의 보유 기간에 준함

6. 정보주체의 권리·의무 및 행사 방법

이용자는 언제든지 자신의 개인정보에 대한 열람·정정·삭제·처리정지를 요구할 수 있습니다. 권리 행사는 아래 개인정보 보호책임자에게 서면, 이메일 등으로 연락하시면 지체 없이 조치합니다.

7. 개인정보의 파기 절차 및 방법

보유 기간이 경과하거나 처리 목적이 달성된 개인정보는 지체 없이 파기합니다. 전자적 파일 형태의 정보는 복구·재생할 수 없는 기술적 방법으로 삭제하며, 종이 문서는 분쇄하거나 소각합니다.

8. 개인정보의 안전성 확보 조치

회사는 개인정보의 안전한 처리를 위해 접근 권한의 최소화, 접근 통제, 전송 구간 암호화(HTTPS) 등 관리적·기술적 보호조치를 시행합니다.

9. 개인정보 보호책임자

이용자는 개인정보 보호 관련 문의·불만·피해구제 등을 아래 담당자에게 연락하실 수 있습니다.

10. 개인정보처리방침의 변경

이 개인정보처리방침은 법령·정책 또는 보안 기술의 변경에 따라 내용이 추가·삭제·수정될 수 있으며, 변경 시 홈페이지를 통해 공지합니다.

시행일: 2026년 9월 12일