brunch

You can make anything
by writing

C.S.Lewis

by 스타트업풀 Jan 10. 2024

앱/웹 개발 외주 전 알아야하는 필수 정보 5가지



안녕하세요, 오늘은 앱이나 웹 개발을 외주에 맡기기 전에 반드시 알아야 할 핵심 정보들에 대해 알아보려고 합니다. 스타트업 창업자부터 중소기업 CEO까지, 디지털 세상에서 성공하기 위해서는 효과적인 앱이나 웹 사이트가 필수입니다.



하지만 모든 회사에 개발자가 있는 것은 아니죠. 이럴 때, 외주 개발이 해결책이 될 수 있습니다. 하지만, 외주에 맡기기 전에 알아야 할 사항들이 많습니다. 잘못된 선택은 비용과 시간의 낭비뿐만 아니라, 프로젝트 실패로 이어질 수 있기 때문입니다. 이 글에서는 외주 개발 과정에서 고려해야 할 핵심 사항들을 상세히 다루어보겠습니다.



개발 외주 전 알아야하는 필수 정보 5가지


IT에 대한 이해도가 있는 경우는 해당 정보들을 습득하는 데 어렵지 않겠지만, 완전 처음인 경우에는 상당히 어려울 수 있습니다.


그래서 도움을 드리고자 해당 내용에 대해서 정리를 해보았고, 우선 요약본 부터 보고 아래 내용을 읽어주시면 이해가 더 빠를 거예요.


              외주 업체 선택

신생업체 및 포트폴리오 없는 업체에 맡기지 않기

포트폴리오 확인 후 내가 개발하는 느낌과 유사한지 파악해보기

불안하다면 포트폴리오 사이트 들어가서 연락처를 통해 후기 물어보기                                          


              개발 요구사항 정의

스타트업풀 자료실을 통해 초안 템플릿 다운로드

초안 템플릿을 통해 개발하고자 하는 기능 명세 작성하기                                                  고려할 것.

직개발(고퀄리티,비쌈) VS CMS(상대적 저렴, 퀄리티 랜덤)                                          


              계약 조건 및 법적 사항

프로젝트 범위, 기능, 유지 보수, 예산 등의 계약 조건 꼼꼼히 확인하기

기술 유출을 막고 싶다면 관련 사항 추가하기                                          


              프로젝트 관리 및 커뮤니케이션

프로젝트 관리 및 커뮤니케이션 방식 인지하기                                          


              배포 및 유지보수

배포 후 문제사항이 있다면 기록해두고, 에이전시에 알리기                                                  기술적 하자, 유지 보수 등에 대한 계약 내용 명확하게 작성하기                                          




1. 외주 업체 선택하기



외주 업체를 선택하는 것은 프로젝트의 성패를 좌우할 수 있는 매우 중요한 단계입니다. 많은 업체들이 있지만, 모든 업체가 여러분의 요구 사항을 충족시킬 수 있는 것은 아닙니다. 그래서 업체를 선정하기 전에 몇 가지 중요한 사항을 고려해야 합니다.


              개발하고자 하는 앱 또는 웹 전문 업체를 찾아보세요. 웹 개발을 계획하고 있다면 웹 개발 에이전시, 앱 개발을 계획하고 있다면 앱 개발 에이전시            


              업체를 선택할 때 신생 업체 또는 포트폴리오 확인이 불가한 업체는 피하세요.            


              업체의 평점 또는 평판 그리고, 포트폴리오를 직접 확인해 보세요. 그리고, 자신이 원하는 작업물을 개발할 수 있을지 파악해 보는 게 좋습니다. 또한, 포트폴리오의 사이트에 들어가 업체 만족도를 직접 물어보는 것도 확실한 방법입니다.            


              너무 저렴한 비용의 업체들도 피하는 게 좋습니다. 만약 랜딩 페이지나 간단한 홈페이지 구축을 하는 것이라면 워드프레스, 아임웹, 노션 등을 통해 누구나 쉽게 학습하고, 구축해 볼 수 있으니 직접 구축하는 것도 고려해 보세요.            


              1개의 업체를 컨택하기 보단 여러개의 업체를 컨택해 보고 비교를 해보는 것이 좋습니다.            


검색을 해보면 아시겠지만, 정말 다양한 서비스 플랫폼과 외주업체들이 있기 때문에 검색하는 것 자체만으로도 상당한 시간과 노력이 필요하게 됩니다. 그래서 검색 후 보여지는 업체와 바로 계약을 하거나 이런 경우 좋지 않은 경험을 할 수 있습니다.


출처 : https://startupful.io/requests



스타트업풀 외주의뢰 서비스는 이러한 문제를 해결하고자 구현된 서비스입니다. 해당 기능은 의뢰자가 쉽고 빠르게 작업 요구사항과 프로젝트 예산만 입력하면 프로젝트 예산에 작업이 가능한 에이전시들이 먼저 연락을 보내게 되어 고객분들은 직접 찾을 시간을 절감하고, 많은 업체들을 비교해 볼 수 있습니다.




2. 개발 요구사항 정의하기



IT에 대한 이해도가 없다면 개발 요구사항을 정의하는 것이 상당히 어려울 수 있습니다. 단순히 당근마켓 같은 플랫폼 서비스를 원할뿐인데 개발 요구사항으로 당근마켓 같은 서비스를 만들어 주세요. 라고 한다면 에이전시 입장도 난감하고, 추후 개발 작업물을 받게될 고객 입장도 만족스럽지 않을 수 있습니다.



또한, 만족스러운 결과물을 받게 되었을 때 처음부터 명확한 개발 요구사항을 제공하지 않았다면 분쟁이 생기더라도 고객 입장이 불리해질 수 있습니다.



그렇기 때문에 개발하고자 하는 제품에 대한 개발 요구사항을 명확하게 정의하는 방법을 숙지하고 있어야 성공적인 프로젝트와 기대하는 결과물을 제공받을 확률이 상대적으로 높아지며, 업체와 분쟁 시에도 고객에게 유리한 상황이 많아집니다.



프로젝트의 범위와 목표 설정


목표 정의


프로젝트의 궁극적인 목표를 명확하게 하는 것이 중요합니다. 개발 목표는 크게 세 가지로 구분될 수 있습니다. 완제품 출시 전 홍보를 하기 위한 랜딩 페이지(사전 예약 및 제품 서비스 유입 경로), 완제품 출시 전 고객 검증을 하기 위한 MVP(최소 기능 모델, 프로토타입, 시제품, 베타 서비스 등), 완제품에 가까운 제품.


위와 같이 목표를 명확하게 정의해야 프로젝트 기간 산정과 비용을 보다 정확하게 산정할 수 있습니다.



우선순위


개발하고자 하는 제품의 모든 기능이 처음부터 필요하지 않아도 되는 경우가 많습니다. 예를 들어 소셜 회원가입 기능은 있으면 편리한 기능이긴 하지만, 서비스를 이용하는 데 일반 회원가입만 있다고 해도 큰 문제가 되지는 않습니다.


이처럼 우선순위를 결정하여 처음에는 정말 필요한 기능부터 개발하여 출시하는 것이 프로젝트 기간을 줄이고, 예산도 크게 절감하는 방법 중 하나입니다.




기능적 및 비기능적 요구사항 설정


기능적 요구사항


앱이나 웹사이트가 수행해야하는 구체적인 기능들을 의미하며, 예를 들어 결제 시스템, 소셜 미디어 공유 등의 기능들을 예시로 들 수 있습니다.



위에서도 언급 드렸듯이 구체적으로 요구사항을 전달해야 명확하게 기능을 개발하여 전달해 주기 때문에 귀찮더라도 생각하는 기능에 대한 부분에 대해서는 최대한 구체적으로 작성하는 것이 포인트입니다.



그러나 어디서부터 어떻게 정의해야할지 전혀 감이 잡히지 않으시죠? 그런분들을 위해 개발 요구사항 정의서 초안 템플릿을 공유해 드립니다.



https://startupful.io/file/%EA%B0%9C%EB%B0%9C-%EC%9A%94%EA%B5%AC%EC%82%AC%ED%95%AD-%EC%A0%95%EC%9D%98%EC%84%9C-%EC%B4%88%EC%95%88-%ED%85%9C%ED%94%8C%EB%A6%BF/



회원가입만 하면 누구나 해당 파일을 다운로드 받을 수 있으며, 주기적으로 고퀄리티의 템플릿이 업로드될 예정입니다. 필요한 자료가 있는 데 찾기 어렵다면 해당 자료에 대해서 문의해 주시면 업데이트 후 공유해 드리겠습니다 :D


자세한 명세 정의는 자료를 통해 확인하시면 되며, 간략한 정보는 하단에 추가 공유해 드리겠습니다.




개발 요구사항 정의서 개요


              서비스 개요

서비스 종류 : 예) 앱, 웹, 소프트웨어, 하드웨어, 웹앱 등

서비스 설명 : 예) 골동품을 거래할 수 있는 거래 플랫폼 앱

참고 서비스 : 예) 당근마켓, 마켓컬리, 야놀자, 배달의 민족                                          


              프로젝트 개요

일정: 예) 3달, 1달 등

예산: 예) 최소 00만원 ~ 최대 00만원

기능: 예)회원가입, 회원간 거래 기능, 결제 기능, 상품 업로드 기능 등                                          



개발 요구사항 정의서 상세 내용



구분 - 유저, 어드민

대분류 - 카테고리 및 핵심 기능

중분류 - 대분류의 하위 프로세스

소분류 - 중분류의 하위 프로세스

기능 - 기능에 대한 간략 설명

기능 설명 - 기능에 대한 구체적 설명

참고 자료 - 외부 서비스 기능 이미지 또는 링크 첨부




예산 및 견적의 이해



프로젝트의 효율성과 만족도를 위해서는 두 가지 중 한 가지를 선택해야하는 상황이 올 수 있습니다. 예를 들어 비용과 성능이 있으며, 저렴한 비용으로 서비스를 만들 수 있다는 기회와 안전하게 고가의 비용을 들여 서비스를 만드는 것은 서비스를 고려할 때 가장 고민이 많이 되는 요소입니다.



이는 기술 선택, 개발 방법, 그리고 어떤 툴 또는 서비스를 활용하는지에 따라 같은 서비스더라도 수천만원에서 수백만원까지 굉장히 큰 비용의 차이가 발생하게 됩니다.



또한, 개발 이후 유지보수도 고려해야 하며 기능 추가 개발 및 확장에 대한 부분도 미리 고려해 두는 것이 좋습니다.



예를 들어 상대적으로 저렴하게 서비스를 제작 했더니 유지보수가 어렵고, 확장 및 업데이트 비용이 많이 발생한다면 애초에 처음부터 고액 서비스를 맡기는 게 좋을수도 있는 것입니다.



이에 따라 예산 및 견적을 산정할 때 다음과 같은 사항들을 고려해 봐야합니다.




직개발 vs CMS 또는 웹 빌더



직개발은 말 그대로 에이전시 자체 내에서 직접 구축하는 것을 의미하고, CMS란 콘텐츠 관리 시스템(Content Management System)이라는 의미를 갖고 있어 다소 생소할 수 있는데 대표적인 서비스는 워드프레스, 윅스 등이 있습니다.



그리고, 웹 빌더의 경우는 아임웹 같은 서비스를 예로 들 수 있습니다.



해당 세 가지 요소만 놓고 보더라도 상당히 큰 비용 차이가 발생합니다. 그 이유는 자세히 들여다보면 당연한 결과입니다.



CMS 또는 웹빌더는 개발자의 역량 보다 플러그인이나 모듈 그리고 디자인 적인 역량이 많이 필요한 반면에 직개발을 하게 될 경우 기획, 개발, 디자인 등 전부 에이전시에서 진행하기 때문에 인건비에 대한 비용이 상당히 커질수밖에 없습니다.



참고로 스타트업풀은 CMS인 워드프레스를 사용하다가 직개발로 전환한 케이스입니다. 그 이유는 처음 고객 검증을 빨리 진행해 보기 위해 제가 직접 빠르게 프로토타입을 만들 수 있는 방법을 알아보았고, 가장 효율적이라고 보여지는 게 워드프로세스였기에 처음에 워드프로세스로 작업하게 되었습니다.



그러나 스타트업풀은 플랫폼의 서비스이다 보니 많은 기능들이 필요로 했고, 이를 워드프레스의 플러그인으로 적용해 보니 상당히 서비스가 무거워졌습니다. 그 외에도 제가 마음대로 커스터마이징하여 개발하기가 다소 불편해서 직개발로 전환하게 되었습니다.


직개발과 CMS의 특징은 다음과 같습니다.


              직개발

CMS 또는 빌더를 사용했을 때 보다 성능이 뛰어날 수 있다                                                  원하는 기능을 커스터마이징 하여 맞춤 기능을 제공할 수 있다                                                  비용이 비싸고, 유지보수가 어려울 수 있다                                          


              CMS 또는 웹 빌더

비용이 상대적으로 직개발보다 훨씬 저렴하다                                                  직개발보다 훨씬 빠른 시간안에 제작 완료할 수 있다                                                  비용은 저렴하지만, 퀄리티나 성능이 다소 떨어질 수 있다                                          



개인적으로는 CMS 또는 웹 빌더를 통해 서비스를 고객들에게 최대한 빨리 제공해 보고 검증해 보는 과정을 겪는게 이상적이라고 생각합니다. 그 이유는 실패하더라도 CMS 개발 시 리스크가 훨씬 적기 때문이죠.



가설 검증은 말 그대로 아이디어에 불과하기 때문에 무조건 고퀄리티 서비스를 내놓는다고 해서 많은 유저들이 사용하는 게 아닙니다. 시장이 크고, 고객 니즈가 있어야 사용하는 것이죠.


그렇기 때문에 1억이라는 자금이 있다면 한 서비스에 1억을 투자하는 것보다 100개의 서비스에 100번을 투자하는 것이 훨씬 기회도 많이 주어지고, 많은 인사이트를 얻을 수 있을 것입니다.



* 아직 사업에 대한 경험 및 지식이 없으신분들은 스타트업풀에 회원가입 및 리뷰 이벤트를 참여하시면 무료로 사업 아이디어 패키지와 사업 가이드 패키지를 제공해 드립니다.




너무 정확하게 맞춰서 예산을 계획하지 말 것



모든 상황과 미래에 일어날 일들에 대해서 예측하는 것은 사실상 불가능에 가깝습니다. 갑자기 필요한 기능을 개발해야할수도 있고, 사업 관련으로 비용이 갑자기 크게 빠져나가야 할 일이 발생할지도 모릅니다. 그렇기 때문에 예상치 못한 비용이 발생했을 때 유연하게 대처할 수 있게 예산을 여유롭게 계획해두는 것이 중요합니다.




3. 계약 조건 및 법적 사항




계약서는 외주 개발 프로젝트에서 필수적인 요소입니다. 해당 문서는 프로젝트의 범위, 비용, 일정, 책임과 의무를 명확하게 정의하며 양 당사자 간의 합의를 법적으로 보장합니다.



실수나 오타 또는 누락으로 인해 논의된 내용과 상이한 계약서가 작성될 수 있기 때문에 계약서는 언제나 꼼꼼하게 확인하는 것이 중요합니다.



또한, 기술력 또는 혁신성 등의 유출을 막기 위해 개발 과정에서 생성되는 모든 코드, 문서, 디자인 등은 비밀관계유지서약서 또는 유출하지 못한 사항을 포함하는 것이 좋습니다.



마지막으로 프로젝트 완료 이후 오류, 버그, 기술적 하자 등 뒤늦게 발견될 수 있기에 미리 하자 보수 및 유지 관리 조항을 정해두는 것이 좋습니다.




4. 프로젝트 관리 및 커뮤니케이션




프로젝트를 성공적으로 진행하기 위해서는 지속적으로 커뮤니케이션을 하여 현재 상황이 어떻게 되고 있는지 파악하는 과정이 필요합니다. 그리고, 방향성이나 원하는 개발 제품처럼 개발되고 있는지 확인할 수 있고, 이를 통해 수정 및 업데이트를 요청할 수 있어 더욱 만족스러운 제품을 받을 수 있습니다.



커뮤니케이션 방법은 각 업체마다 다르며, 크게는 유선 통화, 문서 공유, 온라인 미팅, 오프라인 미팅 네 가지로 구분될 수 있습니다. 또한, 커뮤니케이션을 하는 주기도 업체마다 한 달에 4번, 2번 등 다를 수 있기 때문에 이는 서로 조율하는 것이 중요합니다.



이를 통해 프로젝트의 잠재적 리스크를 사전에 식별하고, 위험 발생 시 대응할 수 있는 계획을 수립하는 것이 중요합니다. 이는 위기 상황에서 신속하고 효과적으로 대처하기 위해 필요합니다. 위기 관리 계획은 팀원 간의 긴밀한 커뮤니케이션과 협력을 포함하여 유연성과 적응력을 갖춘 접근 방식을 필요로 합니다.



5. 배포 및 유지보수





제품을 출시하기 전에는 철저한 테스트 및 최종 검증이 필수적입니다. 이는 버그, 성능 문제, 사용자 인터페이스의 결함 등을 식별하고 수정하는 과정을 포함합니다. 또한, 시장 출시 전에 마케팅 전략을 수립하고, 사용자 문서 및 자료를 준비하는 것도 중요합니다. 보안 검토 및 준수 사항 확인도 제품 출시 전 필수적인 단계입니다.



성공적인 제품 출시 후에는 지속적인 유지보수가 필요합니다. 이는 정기적인 버그 수정, 성능 최적화, 보안 업데이트를 포함하며, 사용자의 피드백을 기반으로 한 제품 개선도 중요한 부분입니다. 유지보수 계획에는 기술 지원 및 사용자 문제 해결 방안도 포함되어야 합니다. 고객 서비스 및 지원 시스템을 갖추는 것도 사용자 만족도를 높이는 데 중요합니다.



제품의 지속적인 성장과 시장의 변화에 대응하기 위해서는 업데이트 및 확장성 관리가 중요합니다. 이는 제품을 새로운 기능으로 확장하거나, 기술 발전에 맞추어 시스템을 업그레이드하는 것을 포함합니다. 또한, 제품을 다양한 플랫폼이나 기술에 적응할 수 있도록 설계하는 것도 중요한 요소입니다. 사용자의 요구와 시장의 트렌드에 유연하게 대응할 수 있는 확장성 계획을 수립하는 것이 필요합니다.





이렇게 많은분들이 어려워하는 개발 외주 하기 전 알아야 하는 필수 정보에 대해서 알아봤는데요. 만약 궁금한 사항이 있거나 사업을 하고 있는 데 추가적으로 알고 싶은 내용이 있다면 언제든지 편하게 문의해 주시길 바랍니다. 감사합니다.











매거진의 이전글 고객 페르소나 생성기로 쉽고 빠르게 생성하기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari