만약 창업이나 신사업 아이템을 위해 어드민, 백오피스, 관리자 페이지를 어떻게 만들지, 외주를 해야 할지 아직 고민 중이라면 “어드민 개발 외주 전, 꼭 알아야 하는 4가지”를 읽어보세요.
아이스 브레이킹을 위해 어드민의 필요성이나, 중요도에 대해서 언급하지는 않겠습니다. 제목에서 아실 수 있듯, 이 글은 개발 외주를 하실 때 확인할만한 짧은 체크리스트 또는 플레이북을 적어 내려가겠습니다.
이 글을 읽어야 하는 사람
- 외주 계약을 위해 무엇을 어떻게 준비할지 모르는 사람
- 어떤 업체를 선택하고, 어떤 계약을 해야 하는지 모르는 사람
- 어드민 외주에는 어떤 것을 추가로 고려해야 하는지 모르는 사람
성공적인 어드민 개발 외주에 필요한 4가지
- 자세한 개발 요구사항 정의서
- 좋은 외주 업체 선택
- 꼭 합의해야 하는 계약 조건
- 커뮤니케이션의 확실한 검증
자세한 개발 요구사항 정의서
요구사항 정의서를 적는 것은 계약의 시작과 끝입니다.
내가 어떤 페이지가 필요하고 무슨 기능을 필요로 하는지, 누가 어디서 어떤 정보에 접근 가능/불가능 해야 하는지 등을 명확히 하는 작업입니다.
결론부터 말하자면 요구사항 정의서에 정답은 없고, 완벽하게 적는다는 것은 어렵습니다.
서비스의 BM과 경쟁사와의 차별점이 적힌 정의서도 보았고, UX 플로우차트까지 그려진 정의서도 보았습니다. 이렇게 다 적혀 있는데 정작 데이터가 전부 스프레드시트에 있으며 DB를 새로 구축해서 데이터를 옮겨야 한다는 것이 안 적혀 있던 경우도 있습니다!
요구사항 정의서라고 검색하시면 많은 템플릿이 있을 텐데, 그중 가장 적합하다고 생각되는 템플릿을 사용해서 적으시면 됩니다.
요구사항 정의서는 외주 업체가 만들어야 하는 어드민을 이해하고 약속하는 용도로 쓰입니다. 따라서 결국 요구사항 정의서는 업체와의 미팅을 통해 완성됩니다만, 미리 만들지 않으면 여러 업체 간의 비교 견적을 내는데 품이 많이 들고 놓치는 게 생길 수도 있습니다.
가장 중요한건 꼭 필요한 기능과 페이지를 놓치지 않는 것인데, 여기서 팁은 실제 사용자에게 리뷰를 받는 것입니다. 실제 사용자가 없거나 애매하다면 가상의 누군가를 상상하고, 로그인부터 시작하여 여러 상황을 해결할때까지 어떤 버튼을 누르고 어떤 페이지로 이동할지 상상해보세요.
다 적으셨다면 마지막으로 자문하거나 조언을 구해보세요.
“이것을 우리가 직접 만들면 얼마나 비용이 필요할까?” 또는 “이것을 만들고 나서 나중에 무슨 기능이 더 추가되어야 할까? 그때도 외주를 맡기면 비용이 얼마나 더 필요할까?”
“어드민 개발 외주 전, 꼭 알아야 하는 4가지”에서 말했듯이, 가장 좋은 어드민 개발 방법은 자체 개발입니다. 우리 회사의 컨텍스트를 계속 들고 있고, 급하거나 큰 문제가 생길 때 가장 적극적으로 대응가능한 사람이 필요합니다.
그럼에도 불구하고 외주를 맡기기로 하셨다면, 다음 스텝은 ‘좋은 외주 업체’를 찾는 것입니다.
좋은 외주 업체 선택
일반적으로 좋은 것을 찾는 방법은 가장 유명하거나 비싼 것을 찾는 것입니다. 다만 외주 업체 중에서 그런 곳은 정말 매우 비싸거나 대기업과 같은 커다란 일감 위주로 수주를 받습니다.
다음 방법은 비교하고 선택하는 것인데, 명심해야 하는 것이 몇 가지 있습니다.
- 모든 외주 업체가 모든 어드민을 잘 만들 수 있는 것은 아닙니다.
웹 또는 앱 개발만 가능할 수도 있고, 익숙지 않은 개발 스택/인프라/외부 서비스 연동이 더 많기 마련입니다. 내가 만들고자 하는 어드민에 적합한 외주 업체는 따로 있습니다. - 개발 경험, 포트폴리오, 업력이 있는 업체를 찾아야 합니다.
개발자 경력, 정확한 일정/비용 산출, 다루어본 어드민 수, 문제 대처 능력, 계약의 신뢰성, 유지 보수 추가 계약 등등, 경력 있는 업체와의 계약은 필수입니다. 추정 오류와 역량 부족으로 일정이 밀리거나, 추가 기능/유지 보수를 위해 연락하니 폐업했을 때는 이미 늦습니다. - 꼭 비교하고 선택하세요. 선택했다면 다시 비교해보세요.
큰 비용과 많은 시간이 필요하기에 아무리 비교해도 부족함이 없습니다. 포트폴리오가 있다면 포트폴리오를, 평판이 있다면 평판을 꼭 보세요. 그렇게 여러 업체를 선택한 후, 미팅하고 견적을 받아본 다음에 다시 비교해보세요.
좋은 외주 업체를 선택하는 것은 좋은 수산물을 사는 것과 같습니다.
광고용 사진이나 평판도 중요하지만, 실제 물건과 리뷰를 확인하고 직접 미팅을 통해 다양한 조건에 따른 자세한 견적을 확인해야 합니다.
한 가지 더 팁을 드리자면, 외주 업체의 포트폴리오, 또는 고객 중에서 내 아이템/어드민과 비슷한 케이스가 있는 편이 좋습니다. 잠재적으로 발생할 수 있는 문제를 이미 해결해보았을 수도 있고, 요구사항에 대한 더 좋은 조언을 받을 수도 있습니다.
꼭 합의해야 하는 계약 조건
계약 시에 확인해보아야 하는 조건은 여러 가지가 있습니다.
비용, 일정, 페이지 및 기능 명세, 유지 보수, 보안, 하자로 보는 범위, 담당자, 납기 지연에 따른 배상, 별도 비용 청구, 보수 지급 방법 및 일정, 비밀유지의무, 결과물에 대한 지식재산권 등 수없이 많은 조건이 있습니다.
대부분의 경우 원활한 계약 이행이 이루어지면 문제가 안 되지만, 문제가 생길 수 밖에 없거나 미리 꼭 합의해야 하는 조건이 있는데 바로 추가 요구사항에 따른 비용과 일정, 그리고 유지 보수입니다.
추가 요구사항에 따른 비용과 일정
얼마나 적절한 선에서 비용과 일정을 합의했는지는 의외로 큰 문제가 되지 않습니다. 충분히 비교하고 선택하셨다면 적절하게 계약을 합의했을 것이기도 하지만, 중간에 나타나는 문제가 더 크고 빈번하며 민감하기 때문입니다.
대부분 문제는 개발 중 또는 완료 후의 추가 요구사항에서 나타납니다. 정확히는 요구사항에 따르는 비용과 일정이 문제인데요. 미처 발견하지 못했거나, 너무 당연해 적지 않았거나, 알고 보니 필요했거나 등. 단언컨대 거의 100%의 확률로 추가 요구 사항은 생깁니다.
작은 사항들은 업체에서 알아서 해결하지만, 큰 요구사항을 마주하면 업체는 세 가지 중 하나를 선택해야 합니다. 추가로 비용을 요구하거나, 납기의 지연을 요구하거나, 예상치 못한 손해를 감수하거나. 그리고 추가 비용과 일정이 나타나는 순간 의견 차이가 벌어지고는 합니다.
때문에 일차적으로는 이런 문제가 많이 생기지 않도록 요구사항 정의서를 잘 적고, 그다음으로는 만약을 대비해 약간의 추가 예산과 일정을 확보하셔야 합니다. 그리고 이런 상황에 어떻게 합의할 것인지 사전에 합의해두시는 편이 좋습니다.
유지 보수
관리하는 것도, 새로 기능을 붙이는 것도 만들던 사람이 만드는 것이 좋습니다.
데이터 구조와 흐름, 어드민 페이지 구조, 코드에 대한 이해 등 다른 사람이 유지 보수를 하는 순간 추가로 요구되는 시간도 이유지만, 하자가 발생했을 때 확실하게 대응할 수 있는 사람이 만들던 사람이기 때문입니다.
그 때문에 미리 유지 보수와 추가 구현 관련 조건을 계약에 포함하시나 확인 및 구두 합의해두는 것이 좋습니다. 별도 계약 없이 문제나 요구사항이 생길 때마다 계약하기도 하지만 그렇지 못할 수도 있기 때문입니다.
저렴한 비용이라서 맡겼는데 알고 보니 대학생/사회 초년생이라서 (의외로 빈번한 사례입니다.) 제때 유지보수를 못할 수도 있고 폐업했을 수도 있습니다. 최초 계약 때보다 조건을 지나치게 세게 부를 수도 있고, 추가 요구사항의 대응을 최초 계약 때보다 매우 느리게 대응할 수도 있습니다.
때문에 앞서 좋은 외주 업체 선택 방법에서 말했듯이 그저 저렴한 업체를 찾는 것이 아니라 포트폴리오와 업력, 평판을 확인하고 비교해야 합니다.
커뮤니케이션의 확실한 검증
요즘의 외주 커뮤니케이션 방식은 일반적으로 카카오톡 같은 SMS, 채팅 서비스(슬랙, 디스코드), 전화, 이메일을 통해 이루어집니다.
여러개의 외주를 동시에 진행하는 외주의 특성상 이런 커뮤니케이션 창구는 하나나 두 개로 통일되어 있는 경우가 많은데, 계약 이전에 해당 창구의 종류를 확인하거나 다른 창구를 사용할 수 없는지 먼저 사전에 확인하는 것이 좋습니다.
그리고 해당 창구를 통한 요청의 응답을 어느 시간 내에 보장하는지 확인해두어야 합니다. 외주 결과물에 대한 피드백, 유지 보수, 문제 해결 등이 어떻게 이루어지는지도 확인해야 하죠.
또한 어드민의 규모가 크지 않아 2주 정도의 짧은 개발 일정인 경우는 크게 문제가 없지만, 그보다 긴 일정은 클라이언트도 중간 결과물을 지속해서 확인하는 것이 좋습니다. 짧은 요구 사항과 미팅만으로는 요구사항이 정확히 전달되지 않아 잘못 만들어지고 있을 수도 있고, 생각보다 전체적인 일정이 지연되고 있을 수 있기 때문입니다.
체크리스트
- 자세한 개발 요구사항 정의서
- 어드민에 필요한 모든 기능과 페이지가 나열되었는가?
- 실제 사용 흐름을 상상하고 빠진 항목이 없는지 확인했는가?
- 좋은 외주 업체 선택
- 경험과 포트폴리오가 있는 경력 업체를 선택했는가?
- 여러 업체들을 확인하고 비교해보았는가?
- 꼭 합의해야 하는 계약 조건
- 추가 요구사항이 생겼을 때, 어떻게 할지 합의했는가?
- 개발 외주가 끝나고 나서 유지 보수를 어떻게 할지 이야기 했는가?
- 커뮤니케이션의 확실한 검증
- 어떻게 의사 소통할 것이며, 언제쯤 응답이 가능한지 확인했는가?
- 프로젝트가 크다면, 중간중간에 검수할 수 있는 방법을 만들었는가?
마치며
이 외에도 투입되는 인원에 대한 보장, 어드민에 들어가는 고객 데이터에 대한 보안 관리, 어드민 개발 결과물에 대한 소유권, 개발 완료 후 결과물에 대한 검수, 외부 상황에 따른 일정 지연 대처(결제 PG사나 모바일 앱의 경우 타사의 검수/계약 일정에 따라 강제로 지연될 수도 있습니다.), 사용자가 많아지며 생기는 인프라 확장 등 여러 고려사항이 있습니다.
그 중에서 제가 가장 중요하다고 생각하는 성공적인 어드민 개발 외주에 필요한 4가지를 적어보았습니다. 성공적인 어드민 개발 외주를 위해서는 외주 업체뿐만이 아니라 클라이언트가 준비하고 알아야 합니다. 결국 클라이언트가 사용하고 돈을 지불하는 사람이기 때문입니다.
잘 준비하고 잘 선택하세요.