본문으로 건너뛰기

프로그램 개발 비용, 공수는 어떻게 세나

개발 비용은 화면 수가 아니라 공수로 정해집니다. 같은 화면인데 손이 서너 배로 벌어지는 이유, 견적서를 일곱 항목으로 나눠 받는 법, 기간이 늘어날 때 금액이 함께 늘어나는 자리와 오픈 뒤 매달 나가는 줄을 정리했습니다.

프로그램 개발 비용, 공수는 어떻게 세나 — 식스원 블로그

개발 비용은 화면 수가 아니라 공수로 정해집니다. 공수 — 그 일을 끝내는 데 사람이 며칠 붙어야 하는지를 센 값입니다. 견적서의 금액은 이 공수에 등급별 단가를 곱하고 라이선스 · 인프라 같은 실비를 더한 결과입니다. 그래서 금액을 낮추려 할 때 물어볼 것은 단가가 아니라, 지금 무엇이 공수를 키우고 있는가입니다.

같은 화면인데 왜 공수가 다른가요

목록만 보면 열 개는 열 개입니다. 그런데 화면은 종류에 따라 손이 서너 배까지 벌어집니다. 아래 세 종류로 갈라 세면 목록의 숫자가 실제 일의 양으로 바뀝니다.

화면 종류하는 일공수를 키우는 것
보여 주는 화면정해진 내용을 그려 줍니다화면 크기 대응 · 다국어
입력받는 화면값을 받아 저장합니다검증 규칙 · 권한 · 오류 처리
연동되는 화면바깥 시스템과 값을 주고받습니다연동처 개수 · 실패했을 때 처리

공수를 크게 키우는 것은 화면이 아니라 규칙입니다. 권한이 세 단계면 화면마다 세 번씩 확인하는 일이 생기고, 결제나 문서 발행이 걸리면 실패했을 때의 처리까지 만들어야 합니다. 요구사항에 「관리자만」 한 줄이 들어가면 그 한 줄이 전체 화면에 붙습니다.

화면에 보이지 않는 조건도 공수를 만듭니다. 동시에 몇 명이 쓰는지 · 자료를 몇 년 보관하는지 · 누가 무엇을 봤는지 기록을 남기는지가 여기에 들어갑니다. 요구사항에 없으면 견적에도 없고, 오픈한 뒤에 필요해지면 이미 만든 부분을 다시 손봅니다.

견적서는 어떤 항목으로 나뉘나요

한 줄로 온 금액은 조건을 바꿔도 어디가 움직였는지 알 수 없습니다. 아래 항목으로 나눠 받으면 범위를 조정할 때 어느 줄이 줄어드는지 바로 보입니다.

항목포함되는 일
분석 · 설계요구사항 정리 · 화면 설계 · 데이터 구조
디자인 · 퍼블리싱화면 디자인 · 브라우저 대응
개발화면 동작 · 서버 · 데이터베이스
연동외부 시스템 · 결제 · 인증
테스트 · 이관점검 · 데이터 이전 · 사용 교육
하자 대응오픈 뒤 몇 개월 · 어디까지
실비도메인 · 인증서 · 유료 서비스 사용료

항목별로 나눠 받으면 무엇이 얇은지도 함께 보입니다. 테스트와 이관은 견적에서 짧게 잡히기 쉬운 자리인데 실제로는 오픈 직전 2~3주를 쓰는 구간입니다. 데이터 이전이 있으면 옮길 자료의 양과 형식을 먼저 적어 두어야 이 줄의 공수가 잡힙니다.

단가는 사람 등급에 따라 다르고, 해마다 갱신되는 공표 자료가 따로 있습니다. 견적서에 등급별 인원과 투입 개월이 적혀 있으면 그 자료를 옆에 놓고 구성이 어떻게 짜였는지 읽을 수 있습니다. 숫자를 외울 필요는 없고 어느 등급이 몇 명 몇 개월인지만 확인하면 됩니다.

기간이 늘어나면 금액도 늘어나나요

공수가 같아도 기간이 늘어나면 금액이 함께 늘어나는 자리가 있습니다. 투입된 사람이 그 기간 동안 붙어 있어야 하기 때문입니다. 반대로 사람을 두 배로 넣는다고 기간이 절반이 되지도 않습니다 — 서로 맞춰야 하는 부분이 늘어 확인하는 시간이 같이 늘기 때문입니다.

기간을 늘리는 것은 대개 결정이 밀리는 자리입니다. 화면에 들어갈 문구 · 정책 · 담당자 확인이 늦어지면 개발은 멈추고 그 기간의 인건비는 그대로 나갑니다. 견적서에 회신 기한이 적혀 있다면 그 줄이 이 계산과 이어져 있습니다.

재작업도 같은 자리입니다. 설계 단계에서 바꾸면 문서를 고치면 되지만, 개발이 끝난 뒤 바꾸면 화면 · 서버 · 데이터가 함께 움직입니다. 그래서 견적에는 「언제까지 무엇을 확정한다」를 함께 적어 두어야 그 금액대로 끝납니다.

매달 나가는 돈은 어디에 적혀 있나요

개발비는 한 번 내고 끝나지만 만들어진 업무 시스템은 계속 돌아갑니다. 아래 항목은 오픈한 달부터 매달 또는 매년 나갑니다. 견적서에 이 줄이 없으면 예산 밖에서 나가게 됩니다.

계속 나가는 항목확인할 것
서버 · 저장 공간사용량이 늘면 어떻게 오르나
도메인 · 인증서갱신 주기와 갱신일
유료 외부 서비스건당인지 월정액인지
유지보수범위와 연락 가능한 시간

요청하는 방법은 간단합니다. 견적을 받을 때 「오픈 후 12개월 동안 매달 나가는 금액」을 한 줄 더 적어 달라고 합니다. 사용량에 따라 달라지는 항목은 예상 사용량을 함께 적어 보내면 그 기준으로 계산해 옵니다.

유지보수는 범위를 적어야 금액이 정해집니다. 오류를 고치는 일까지인지 · 화면 문구를 바꾸는 일까지인지 · 기능을 더하는 일까지인지 세 단계로 나눠 적으면 됩니다. 기능을 더하는 일은 대개 별도이므로 그때의 계산 방식을 한 줄 넣어 두면 매번 다시 정하지 않습니다.

예산이 정해져 있으면 무엇부터 줄이나요

줄이는 순서는 범위 → 자동화 → 디자인입니다. 1차 오픈에서 뺄 화면을 먼저 정합니다. 다음은 사람이 손으로 해도 되는 일을 자동으로 만들지 않는 것입니다 — 하루 몇 건뿐인 작업은 관리자가 직접 처리하고 나중에 붙입니다. 디자인은 화면 종류별 기본형을 정해 재사용하면 줄어듭니다.

범위를 줄일 때는 화면을 통째로 빼는 편이 낫습니다. 한 화면 안에서 기능을 반만 남기면 나중에 나머지를 붙이는 일이 처음부터 만드는 것과 비슷해집니다.

줄이지 않는 것도 정해 둡니다. 데이터 구조 · 권한 · 기록은 나중에 바꾸면 이미 만든 화면을 다시 손봐야 합니다. 여기서 아낀 금액은 다음 단계에서 더 큰 공수로 돌아옵니다.

오늘 할 일

가지고 있는 화면 목록을 열고 각 줄 옆에 보여 주는 · 입력받는 · 연동되는 셋 중 하나를 적습니다. 연동되는 화면 옆에는 어디와 연동하는지도 적습니다. 30분이면 끝나고, 이 표를 그대로 보내면 돌아오는 견적서가 한 줄이 아니라 항목별로 옵니다.

FacebookX
24시간 내 견적 받기
카카오톡 상담식스원 고객센터 카카오톡 채널 (새 창)