- 태국에서 웹사이트와 앱을 만들어 주는 곳은 프리랜서, 소규모 에이전시, 소프트웨어 하우스의 세 가지입니다. 각각 맞는 일의 규모가 다릅니다.
- 어느 업체든 같은 질문으로 평가합니다. 실적, 프로세스, 계약, 적합성, 경고 신호의 5개 항목입니다.
- 먼저 물어볼 것은 세 가지입니다. 실제로 코드를 쓰는 사람은 누구인지, 코드와 모든 계정은 누구 소유인지, 실제 작업물을 얼마나 자주 볼 수 있는지.
- 경고 신호가 하나라도 나오면 총점이 높더라도 그 업체는 일단 보류합니다.
세 가지 개발 업체와 모두에게 공정한 비교법
웹사이트 제작 업체를 고르는 일은 회사 차를 맡길 단골 정비소를 고르는 일과 비슷합니다. 고친 차가 지금도 잘 달리는지 보고 싶고, 어느 정비사가 작업하는지 알고 싶고, 견적은 서면으로 분명하게 받고 싶고, 차량 등록증은 직접 보관하고 싶습니다. 소프트웨어도 같습니다. 여기서 등록증에 해당하는 것이 소스 코드, 도메인, 시스템의 모든 계정입니다.
태국 시장에는 세 가지 유형이 있습니다. 프리랜서는 혼자 또는 둘이 일하며 범위가 분명한 작은 일에 맞습니다. 소규모 에이전시는 대개 디자인과 마케팅에 강하고, 기성 플랫폼으로 회사 웹사이트나 온라인 쇼핑몰을 빠르게 만듭니다. 소프트웨어 하우스는 전담 엔지니어 팀과 테스트 절차, 납품 후 유지보수 체계를 갖추고 있어 사내 데이터와 연결되거나 여러 해 써야 하는 시스템에 맞습니다. 어느 유형에나 좋은 업체와 피해야 할 업체가 있습니다. 그래서 이 글은 업체 순위를 매기지 않습니다. 저희를 포함해 어느 업체에나 쓸 수 있는 질문만 담았습니다.
항목 1. 실적: 직접 열어 볼 수 있는 결과물과 실제로 코드를 쓰는 사람
좋은 실적은 귀사가 직접 열어서 써 볼 수 있는 결과물입니다. 지금도 운영 중인 웹사이트 링크나 스토어에 있는 앱 이름을 받아 귀사의 휴대폰으로 써 보십시오. 속도와 태국어 화면을 봅니다. 슬라이드 속 스크린숏은 그 일이 한때 있었다는 사실만 알려 줍니다. 이어서 이전 고객 두 곳의 연락처를 받아, 일정대로 끝났는지, 납품 후 문제가 생겼을 때 얼마나 빨리 답을 받았는지, 다시 맡길 생각이 있는지 물어봅니다.
흔히 잊는 질문은 실제로 코드를 쓰는 사람이 누구인가입니다. 제안하러 오는 사람은 영업 담당인 경우가 많습니다. 계약 전에 한 번은 귀사의 일을 맡을 엔지니어를 만나게 해 달라고 하십시오. 어느 부분을 외부에 넘기는지, 핵심 인력이 중간에 그만두면 누가 이어받는지 솔직하게 물어봅니다. 자체 팀이 있는 업체라면 그 자리에서 답할 수 있습니다.
항목 2. 프로세스: 프로토타입, 데모, 테스트, 코드 리뷰
좋은 프로세스에는 밖에서도 확인할 수 있는 네 가지가 있습니다. 첫째는 프로토타입, 실제 코드를 쓰기 전에 눌러 볼 수 있는 화면입니다. 완성된 시스템을 고치는 것보다 시안을 고치는 편이 훨씬 쌉니다. 둘째는 데모 주기입니다. 실제 작업물을 매주 보는지, 납품 때 처음 보는지 확인합니다. 데모와 데모 사이의 기간은 오해가 아무도 모르게 쌓이는 기간입니다.
셋째는 테스트입니다. 누가 테스트하는지, 운영 시스템과 분리된 시험용 시스템인 스테이징 환경이 있어 공개 전에 귀사 팀이 써 볼 수 있는지 확인합니다. 고객 데이터를 다루는 시스템이라면 바이브 코딩 앱의 사이버 보안의 점검 항목도 보십시오. 넷째는 코드 리뷰입니다. "다 쓴 코드는 운영에 올리기 전에 누가 검토합니까"라고 물어봅니다. 좋은 답은 시니어 엔지니어의 이름입니다.
항목 3. 계약: 범위, 가격, 지급 단계, 소스 코드, 모든 계정
좋은 계약은 목록으로 쓴 범위에서 시작합니다. 시스템이 무엇을 하는지, 무엇이 포함되지 않는지, 중간에 추가를 요청하면 어떻게 계산하는지. 범위를 고정한 정액제는 요구가 분명할 때 맞고, 쓴 시간만큼 내는 방식은 아직 답을 찾는 중인 일에 맞습니다. 둘 다 괜찮지만 어느 쪽인지 계약에 분명히 적어야 합니다. 지급은 달력의 날짜보다 인수 기준에 따라 검수한 작업물에 연결합니다.
천천히 읽어야 할 조항은 소스 코드 소유권입니다. 대금을 모두 치르면 소스 코드, 데이터베이스, 시스템 문서, 디자인이 귀사 소유가 되고 다른 팀에 넘겨 계속 개발할 수 있다고 계약에 적혀 있어야 합니다. 업체가 자체 권리를 가진 구성 요소를 쓴다면 귀사가 어떤 조건으로 계속 쓸 수 있는지도 밝혀 두어야 합니다.
작아 보이지만 중요한 것이 계정입니다. 도메인, 호스팅, 클라우드, App Store와 Google Play 개발자 계정, LINE 공식 계정, 광고 계정. 모두 귀사 명의로 만들고 회사 카드로 결제한 뒤 업체에는 작업 권한을 주는 방식이어야 합니다. 업체 명의의 계정은 유지보수 담당을 바꾸고 싶은 날 옮기기 어렵습니다. 이것이 코드 밖에 있는 벤더 종속입니다.
이 항목에는 네 가지가 더 있습니다. 하자 보증 기간, 즉 결함을 몇 달 동안 고쳐 주는지. 보증이 끝난 뒤의 유지보수 계획과 SLA로 적은 응답 시간. 태국 개인정보보호법(PDPA)에 따른 조항, 즉 업체가 귀사 고객 데이터에 어디까지 접근하고 프로젝트가 끝난 뒤 언제 삭제하는지. 그리고 세금 서류입니다. 부가가치세(VAT) 등록 업체는 세금계산서를 발행할 수 있고 e-Tax Invoice로 발행하는 곳도 있지만, 등록하지 않은 프리랜서는 영수증만 발행할 수 있습니다. 법인 등록 상태는 태국 상무부 사업개발국(DBD)에서 확인할 수 있습니다.
항목 4. 적합성: 팀 규모, 언어, 업종, 거절할 줄 아는 태도
팀 규모는 일에 맞아야 합니다. 귀사 일에 몇 명이 붙는지, 각자 동시에 다른 일을 몇 개나 맡고 있는지 물어봅니다. 언어를 보면, 사용자가 태국 직원이라면 화면과 매뉴얼은 읽기 쉬운 태국어여야 합니다. 대표나 본사가 해외에 있다면 시스템 문서와 진행 보고서에 영어도 필요합니다. 팀에서 누가 두 언어로 소통할 수 있는지, 매일 누가 귀사에 답할지 물어봅니다.
귀사와 같은 업종을 해 본 적이 없다면 첫 회의에서 충분히 깊이 질문하는지 봅니다. 마지막은 거절할 줄 아는 태도입니다. 좋은 업체는 요청한 기능을 아직 만들지 않는 편이 낫거나, 직접 만드는 것보다 기성 시스템이 더 이득일 때 그렇게 말해 줍니다. 첫 회의에서 모든 요청을 받아들이는 업체는 나중에 추가 비용을 청구하는 경우가 많습니다.
| 항목 | 물어볼 것 | 좋은 답 | 경고 신호 |
|---|---|---|---|
| 실적 | 지금 운영 중인 결과물 링크를 받을 수 있습니까 | 링크나 앱 이름을 보내 직접 써 보게 함 | 슬라이드 속 이미지뿐 |
| 실적 | 이 일의 코드는 누가 씁니까 | 계약 전에 엔지니어와 만나게 하고 어느 부분을 직접 만드는지 밝힘 | 이름 없이 "팀에서 합니다"라고만 답함 |
| 프로세스 | 실제 작업물은 얼마나 자주 봅니까, 코드는 누가 검토합니까 | 매 회차 날짜가 정해진 데모, 시니어 엔지니어가 코드 검토 | 납품 때 처음 봄 |
| 계약 | 대금을 모두 치르면 소스 코드는 누구 소유입니까 | 귀사 소유, 계약서에 명시 | "끝나고 이야기합시다" |
| 계약 | 도메인과 스토어 계정은 누구 명의입니까 | 귀사 명의, 업체는 작업 권한만 | 업체 명의 |
| 계약 | 지급은 무엇에 연결됩니까 | 단계별로 검수한 작업물 | 착수 전 큰 금액 선지급 |
| 적합성 | 자사 요구 중 아직 만들지 말아야 할 것은 무엇입니까 | 이유와 함께 하나 이상 짚어 줌 | 모두 받아들임 |
가상 사례
나콘빠톰의 종이 포장재 공장(회사명과 세부 내용은 가상입니다)이 거래처가 직접 재주문하고 세금계산서를 내려받을 수 있는 웹 앱을 원했습니다. 두 업체의 견적은 비슷했습니다. 첫 번째 업체는 실적을 슬라이드 이미지로 보여 주고, 회의마다 영업 담당을 보냈으며, 도메인과 호스팅을 "편의를 위해" 자기 명의로 만들겠다고 했습니다. 두 번째 업체는 이전 고객이 쓰는 시스템 링크를 보내 직접 써 보게 하고, 회의에 엔지니어를 데려왔으며, 코드를 쓰기 전에 눌러 볼 수 있는 프로토타입을 제안했습니다.
공장장과 회계 책임자는 5개 항목 표로 따로 점수를 매겼습니다. 첫 번째 업체는 적합성 점수가 좋았지만 경고 신호가 두 개 있었습니다. 업체 명의의 계정, 그리고 소스 코드에 대해 "별도 협의"라고만 적은 계약서입니다. 첫 번째 업체가 이 두 가지를 고치지 않아 공장은 두 번째 업체를 골랐습니다.
5개 항목을 30분 안에 채점하는 법
위의 표를 채점표로 쓰고, 업체 한 곳마다 열 하나를 씁니다.
5개 항목 채점표
- 1단계: 질문을 미리 보내기. 모든 업체에 같은 질문을 보내고 근거와 함께 답해 달라고 합니다.
- 2단계: 0~2점으로 채점하기. 0점은 답하지 못하거나 얼버무린 답, 1점은 답은 있지만 근거가 없는 답, 2점은 링크, 사람 이름, 계약서 초안 같은 근거가 있는 답입니다.
- 3단계: 경고 신호는 점수와 따로 보기. 다음 목록에 하나라도 해당하는 업체는 고칠 때까지 보류합니다.
- 4단계: 두 사람이 따로 채점하기. 그다음 점수가 다른 항목만 함께 논의합니다.
- 5단계: 점수가 비슷할 때 정하기. 실제로 코드를 쓰는 사람과 이야기해 더 빨리 같은 이해에 이른 업체를 고릅니다.
AI가 들어가는 일이라면 모델, 데이터, AI 에이전트 권한에 관한 질문은 AI 개발사와 계약하기 전에 무엇을 준비해야 할까에 정리해 두었습니다.
항목 5. 멈춰야 할 경고 신호
- 귀사 사업에 대해 묻지도 않고 바로 견적을 냄
- 검수에 연결된 지급 단계 없이 착수 전에 큰 금액을 요구함
- 실제로 코드를 쓸 사람을 만나게 해 주지 않음
- 계약서에 소스 코드 이야기가 없거나 업체 소유라고 적혀 있음
- 도메인, 호스팅, 스토어 계정을 자기 명의로 만들겠다고 고집함
- 서면으로 된 범위가 없음
- 납품 후 유지보수를 물으면 "언제든 연락하세요"라고만 하고 응답 시간을 밝히지 않음
개발팀 참고 · 코드를 넘겨받을 때 확인할 것
리포지토리는 첫날부터 고객의 조직 계정에 두고 커밋 이력을 모두 남깁니다. README에는 새 장비에 설치해 실행되기까지의 방법이 있고, 코드를 쓰지 않은 사람도 그대로 따라 할 수 있습니다. .env.example 파일이 있고, 실제 비밀 값은 코드와 분리된 시크릿 관리 시스템에 둡니다. 데이터베이스 마이그레이션 스크립트는 리포지토리에 있습니다. CI/CD 파이프라인이 자동 테스트를 실행합니다. 개발, 스테이징, 운영 환경이 분리되어 있습니다. 백업은 예약 실행되고 실제로 복구 훈련을 해 보았습니다. 외부 서비스 계정 목록과 소유자, 라이브러리 라이선스 목록이 있습니다. 복구 훈련은 판매가 몰릴 때 시스템이 멈춘다면에서 이어 읽을 수 있습니다.
저희는 이 체크리스트에 이렇게 답합니다
견적 전에 DNA Maker는 시스템을 실제로 쓸 사람, 즉 영업, 회계, 창고, 매장 담당자와 이야기하게 해 달라고 요청합니다. 그다음 읽으면 그림이 그려지는 목록으로 범위를 쓰고, 첫 단계에서 아직 만들지 않는 편이 나은 것도 솔직하게 말씀드립니다. 위 표의 질문은 모두 저희에게도 물어보실 수 있고, 저희는 결과물 링크와 계약서 초안으로 답합니다.
귀사의 일을 맡는 팀은 DNA Maker의 자체 팀이며 하도급은 없습니다. 코드를 쓰기 전에 프로토타입을 써 보시고, 매주 실제 데이터로 데모를 보시며, 운영에 올리기 전에 시니어 엔지니어가 코드를 검토합니다. 범위와 금액은 착수 전에 고정합니다. 소스 코드와 시스템 문서는 범위에 따라 넘겨 드립니다. 태국의 은행, 병원, 대기업 그룹과도 이렇게 일합니다. 자세한 내용은 프로덕션급 개발 표준과 태국 맞춤형 소프트웨어 개발에서 보시거나 채팅 페이지의 Dream에게 물어보십시오.
SOFTWARE ENGINEERING GLOSSARY
소프트웨어 엔지니어링 용어집
| 용어 | 의미 | 쉬운 예시 | 개발팀에 물어봐야 할 질문 |
|---|---|---|---|
| 범위(Scope) | 시스템이 무엇을 하고 무엇을 포함하지 않는지 적은 목록 | "재주문은 포함, 포인트 기능은 2단계" | 중간에 추가하면 금액은 어떻게 계산합니까 |
| 프로토타입(Prototype) | 실제 코드를 쓰기 전에 눌러 볼 수 있는 화면 | 시스템을 만들기 전에 거래처가 주문 화면을 눌러 봄 | 프로토타입은 언제 써 볼 수 있습니까 |
| 소스 코드 소유권(Source Code Ownership) | 납품 후 코드와 문서가 누구 소유인지에 대한 약정 | 대금을 모두 치르면 귀사 소유라고 계약서에 적음 | 업체 권리로 남는 부분은 어디입니까 |
| 벤더 종속(Vendor Lock-in) | 코드나 계정이 지금 업체에 묶여 유지보수 담당을 바꿀 수 없는 상태 | 도메인이 업체 명의라 옮길 수 없음 | 내년에 개발팀을 바꾸면 옮길 수 없는 것은 무엇입니까 |
| 인수인계(Handover) | 코드, 문서, 계정, 지식을 이어받을 팀에 넘기는 일 | 새 팀이 문서만 보고 시스템을 설치함 | 문서대로 설치되는지 누가 시험했습니까 |
