개발 견적을 낼 때 어려운 일 중 하나는 ‘인건비 산정’입니다. 개발자마다 경력&실력이 다르고, 프로젝트마다 필요한 개발 인력이 다르기 때문입니다. 이때, 개발 견적 인건비는 주로 ‘맨먼스(man/month)’를 이용해 산출합니다. 쉽게 말하면 투입되는 인원과 기간을 비례적으로 계산해서 비용을 산정해 내는 방식이죠. 가장 대중적이기도 한 이 방식에는 몇 가지 주의해야 할 점들도 있습니다.
어플개발비용을 예상 중인 예비 클라이언트들이라면 아래 내용을 꼭 참고하세요.
✍️ 이 글의 순서
• 보편적인 개발 견적의 기준, ‘맨먼스(man/month)’
• 맨먼스 선정 시 유의사항 5가지
• 맨먼스 계산, 어렵다면 위시켓과 함께.
맨먼스는 소프트웨어 개발에서 작업량을 나타내는 단위입니다. “한 사람이 한 달 동안 개발할 수 있는 작업의 양”으로 정의할 수 있습니다. 표기는 ‘M/M’과 같이 하며, 1M/M은 ‘개발자 1명이 1달 동안 작업하는 양’을 의미합니다.
유의할 점은 맨먼스가 ‘사람’이 아니라 ‘작업량’을 기준으로 정해진 다는 것입니다. 다시 말해, 1M/M이라고 반드시 개발자 1명이라고 생각할 필요는 없습니다. 예를 들어 쇼핑몰 앱을 개발하는 데 필요한 맨먼스가 2M/M이라면, ① 1명의 개발자가 2개월 동안 개발할 수도 있고, ② 2명의 개발자가 1개월 동안 개발할 수도 있으며, ③ 4명의 개발자가 2주 만에 개발할 수도 있습니다. 단, 한 달 단위는 30일이 아니라 영업일(22일)을 기준으로 한다는 사실도 염두에 두어야 합니다.
맨먼스보다 조금 더 세부적인 개념이 활용되는 경우도 있습니다. ‘맨데이(man/day)’와 ‘맨아워(man/hour)’가 그 주인공인데요. 감이 조금 오실 텐데, 맨데이는 “개발자 1인이 1일 동안 개발할 수 있는 작업량”을, 맨아워는 “개발자 1인이 1시간 동안 개발할 수 있는 작업량”을 의미합니다. 따라서 세부적인 견적이 필요하다면 맨데이나 맨아워까지 고려하게 됩니다.
🔖 맨먼스, 맨아워, 맨데이 구분
구분표기설명맨먼스(man/month)M/M개발자 1인이 1개월(22일) 동안 개발할 수 있는 작업량맨데이(man/day)M/D개발자 1인이 1일 동안 개발할 수 있는 작업량맨아워(man/hour)M/H개발자 1인이 1시간 동안 개발할 수 있는 작업량
맨먼스는 개발 인력 견적을 낼 때 매우 유용하지만, 아무래도 ‘사람의 작업량’을 기준으로 하는 것이다 보니 공장 기계만큼 정확하지도 않고, 주의해야 할 점들도 있습니다. 맨먼스를 선정할 때는 다음과 같은 점을 고려해 보세요.
먼저 기본적인 이해부터 안내해 드립니다. 맨먼스는 앞서 말했듯이 ‘작업량’이 기준입니다. 그래서 자연스럽게 인원이 늘어나면, 즉 ‘기간’이 줄어들면 그만큼 비용이 늘어나는 구조를 갖고 있습니다. 아래 간단한 예시를 들어 설명드립니다.
5M/M이 필요한 앱 개발 프로젝트의 견적을 낸다고 가정해 봅시다. 개발자 5명이 투입된다면 1개월 만에 끝나는 프로젝트입니다. 이 경우, 개발자 1명당 100만 원의 인건비가 발생한다고 하면 총 500만 원이 필요합니다.
🔖 5M/M = 5명 x 100만 원 x 1개월 = 500만 원
반면, 개발자 1명이 투입되어 5개월 동안 개발한다면 어떨까요? 이번에는 기간이 늘어났지만, 총비용은 동일하게 500만 원이 듭니다. 1명에게 매달 100만 원씩 5개월 동안 지급하게 되는 것이죠.
🔖 5M/M = 1명 x 100만 원 x 5개월 = 500만 원
이처럼 맨먼스는 ‘기간’과 ‘비용’이 밀접한 관계를 갖고 있습니다. 개발 인원을 늘리면 기간을 줄일 수 있지만, 그에 따라 비용은 증가합니다. 반대로 인원을 줄이면 기간은 길어지지만, 총비용은 동일하게 유지됩니다. 개발자의 작업량을 얼마나 투입하느냐에 따라 기간과 비용이 달라질 수 있다는 점을 기억해 두세요.
맨먼스는 ‘작업량’을 기준으로 하지만, 이 작업량은 다소 추상적인 개념입니다. 프로젝트에 투입되는 인력의 ‘숫자’는 표기할 수 있지만, ‘퀄리티’를 나타내기란 불가능하기 때문이죠. 예를 들어 ‘중간 수준의 개발자 2M/M’이 필요한 프로젝트의 경우, ‘중간 수준’은 무엇을 나타낼까요? 경력으로 따져야 할지, 아니면 맡은 역할(직급)로 따져야 할지 곤란합니다.
그래서 소프트웨어 산업협회에서는 ‘초급, 중급, 고급, 특급’으로 개발 등급을 매기고, 각각의 평균임금을 고시하고 있습니다. 단계가 올라갈수록 비용이 더 올라가는 체계입니다. 이렇듯 경력이나 기술 자격증 등으로 등급을 매기고는 있지만, 역시 등급이 곧 개발 퀄리티를 객관적으로 보장해 주는 건 아니므로 주의해야 합니다.
* 브룩스의 법칙
“늦어진 프로젝트에 인력을 추가하면 더 늦어진다.”
흔히 개발 인력을 늘리면 시간이 줄어든다고 생각하기 쉽지만, 항상 그런 것은 아닙니다. 사람은 기계처럼 병렬적으로 연결되지 않기 때문입니다. 프로젝트에 인력을 추가하려면 적응 시간도 필요하고, 교육도 필요하고, 의사소통 시간도 필요하고, 선행 작업도 필요합니다. 정리하자면, 개발에 필요한 인력을 구성할 때는 ‘무조건 많이’보다 ‘적정한’ 인원을 구성하는 것이 더 중요합니다.
동일한 개발 업무라도 어떤 작업은 단순 반복 노동인 반면 어떤 작업은 고도의 문제 해결력과 창의력을 요할 수 있습니다. 따라서 각 업무의 특성을 고려하여 맨먼스를 측정해야 합니다.
동일한 업무라고 해도 성격에 따라 요구되는 기술과 역량이 크게 다를 수 있습니다. 단순히 데이터를 입력하거나 기존 코드를 수정하는 작업과, 새로운 기능을 처음부터 설계하고 복잡한 이슈를 해결하는 작업이 같을 수는 없습니다. 후자의 경우 작업을 완수하는 데 더 많은 시간과 노력이 필요하고 실제 예상치 못한 문제들이 발생할 가능성도 큽니다.
그래서 맨먼스는 획일적으로 측정하기보다 일의 성격과 복잡성에 맞게 적절한 시간을 할당해야 합니다. 각 업무의 특성을 고려하지 않고 단순히 전체 작업량만으로 맨먼스를 산출하게 되면, 결과적으로는 예상보다 더 많은 시간과 비용이 소요될 수 있음을 반드시 이해해야 합니다.
모든 개발 프로젝트에는 ‘제경비’가 붙습니다. 제경비란 외주 업체의 운영을 위해 필요한 비용으로, 보통 직접인건비의 110~120% 정도로 책정합니다. 또, 업체가 보유한 기술을 사용할 경우 추가적인 기술료가 책정될 수 있으니, 개발 비용은 예상보다 조금 넉넉하게 잡아두는 편이 프로젝트 진행 중 발생할 수 있는 재정적 리스크를 최소화하는 방안입니다.
🔖 참고 : ‘인건비, 제경비, 기술료’ 해설 가이드
단순해 보이는 ‘맨먼스’ 계산이지만, 제대로 따지기 시작하면 머리가 은근히 복잡해지는 영역입니다. 위의 나열한 사항 외에도 실무에서 상충되는 현실적인 문제들과 복합적으로 연결되는 난제들도 얽히고설키게 되죠.
그래서 위시켓에서 이런 현실적인 문제까지 들여다보고 도움을 드리는 중입니다. 진행되는 프로젝트마다 1:1로 전담 매니저를 배정하는 이유가 여기에 있습니다. 위시켓 매니저는 프로젝트 초기 요구사항을 정리하는 것부터 업체 모집과 견적서 비교, 일정 조율, 심지어 미팅에 참석하기도 해 무언가 불안한 클라이언트의 부족한 경험을 메워드리고 있습니다. 자세한 내용은 아래 배너를 참고하세요.
🔖 함께 보면 도움되는 글
앱개발 비용 예상, 계산할 때 자주 빼먹는 비용 4가지