개발팀 규모, 프로젝트에 몇 명이 적정한가

요약

개발자가 많을수록 빨리 끝날 것 같지만 1975년 브룩스의 법칙이 지금도 유효합니다. 커뮤니케이션 채널은 인원의 제곱으로 늘고, 새 멤버 합류는 한동안 팀 전체를 느리게 합니다. 적정 인원은 프로젝트 단계마다 다릅니다.

프로젝트를 의뢰할 때 가장 많이 받는 질문 중 하나가 "개발자 몇 명이 투입되나요?"입니다. 직관적으로는 개발자가 많을수록 빨리 끝날 것 같지만, 소프트웨어 개발은 그렇게 단순하지 않습니다. 프레데릭 브룩스(Frederick Brooks)는 1975년에 이미 이것을 간파했습니다.

"지연되는 소프트웨어 프로젝트에 인력을 추가하면 프로젝트는 더 늦어진다." 브룩스의 법칙(Brooks's Law)이라 불리는 이 원칙은 50년이 지난 지금도 유효합니다.

커뮤니케이션 오버헤드의 수학

왜 인력을 늘린다고 빨라지지 않을까요? 핵심은 커뮤니케이션 오버헤드입니다. 팀원 간 커뮤니케이션 채널 수는 n(n-1)/2 공식으로 기하급수적으로 증가합니다. 3명이면 3개 채널, 5명이면 10개 채널, 7명이면 21개 채널, 10명이면 45개 채널입니다.

채널이 늘어날수록 회의 시간이 늘고, 코드 리뷰가 복잡해지고, 의사결정이 느려집니다. 또한 소프트웨어 개발은 건축 공사와 다릅니다. 벽돌 쌓기는 10명이 하면 1명보다 10배 빠르지만, 코드는 그렇지 않습니다. 기능 간 의존성, 데이터 구조의 공유, API 인터페이스의 합의 등 병렬화할 수 없는 작업이 상당 부분을 차지합니다.

1명이 4주 걸리는 작업을 4명에게 맡기면 1주가 아니라 2~3주가 걸리는 것이 현실입니다. 나머지 시간은 소통, 조율, 통합 테스트에 소모됩니다.

정보가 전달되는 사슬

커뮤니케이션 오버헤드는 회의 시간만의 문제가 아닙니다. 외주 프로젝트에서는 보통 정보가 다음과 같은 사슬을 따라 흐릅니다. 클라이언트가 PM에게 요구사항을 설명하고, PM이 그 내용을 정리해 개발팀에 전달하고, 개발팀은 다시 프론트엔드·백엔드·iOS·Android 담당자에게 분배합니다. 사슬이 길어질수록 의도와 실제 구현 사이의 간극이 커집니다. 클라이언트가 머릿속에 그렸던 화면이 여러 단계의 전달을 거치면서 살짝 다른 모양으로 만들어지는 일은 흔합니다.

분리된 개발자들 사이의 커뮤니케이션도 만만치 않습니다. 같은 기능에 대해 프론트엔드·백엔드·iOS·Android 담당자가 동일한 수준의 이해도를 갖는 일은 생각보다 어렵습니다. API 한 건의 동작 방식, 에러 처리 정책, 화면 전환 흐름 같은 디테일을 네 명이 같은 결로 맞추려면 회의·문서·메신저 대화가 끝없이 오갑니다. 그중 한 명만 이해가 어긋나도 결합 시점에서 버그가 터집니다.

혼자 다 하면 사슬 자체가 사라진다

이 사슬을 가장 효과적으로 줄이는 방법은 단순합니다. 한 사람이 처음부터 끝까지 책임지는 것입니다. 프론트엔드·백엔드·DB·인프라까지 동일한 사람의 머릿속에 들어 있으면 사이에서 오가야 할 정합 회의가 거의 사라집니다. API 스펙을 두고 줄다리기할 일도, 에러 처리 정책을 다시 협의할 일도 없습니다. 이게 풀스택 개발자가 만들어 내는 가장 큰 가치입니다.

"그게 정말 가능한가" 라는 의문이 드실 수 있습니다. 프로덕트 메이커는 연매출 300억 규모의 쇼핑몰까지 1인 개발로 구축한 경험이 있고, MAU 150만이 사용하는 3D 시스템도 같은 방식으로 만들었습니다. 적정 인원이 항상 "최소 5명"인 것은 아닙니다. 전체 스택을 깊게 다룰 수 있는 한 사람이 있으면, 같은 산출물을 훨씬 적은 커뮤니케이션 비용으로 만들 수 있습니다.

시장에서 흔히 말하는 팀 규모

외주 개발 시장에서 통상적으로 권장되는 팀 규모는 다음과 같습니다. 다만 이는 분업 구조를 전제로 한 기준이고, 풀스택 1인이 흡수하는 구조에서는 실제 인원이 크게 줄어듭니다.

MVP 또는 랜딩 페이지는 개발자 1~2명이 적정이며 기간은 3~8주입니다. 이 규모의 프로젝트에서 3명 이상은 오히려 비효율적입니다. 한 명의 시니어 풀스택 개발자가 프론트엔드와 백엔드를 모두 담당하고, 필요시 한 명이 디자인이나 특정 기능을 병렬로 진행하는 것이 가장 효율적입니다.

일반적인 웹 서비스는 개발자 2~3명과 디자이너 1명으로 2~4개월이 적정합니다. 프론트엔드와 백엔드를 분리하되, API 설계를 초기에 확정하여 병렬 개발이 가능하도록 합니다. 디자이너는 개발보다 1~2주 선행하여 시안을 준비합니다. 이 규모에서 핵심은 팀원 모두가 직접 커뮤니케이션하는 것입니다. 중간 전달자가 있으면 정보 손실이 발생합니다.

복잡한 플랫폼, 예를 들어 이커머스나 SaaS는 개발자 3~5명에 디자이너와 PM을 포함하여 4~8개월이 적정합니다. 이 규모부터는 PM의 역할이 중요해집니다. 기능별로 담당을 명확히 나누고, 주간 단위로 통합 테스트를 진행해야 합니다. 3D 렌더링이나 실시간 처리 같은 특수 영역이 필요하면 해당 전문가를 추가합니다.

대규모 엔터프라이즈 프로젝트는 5~10명 이상이 필요하며, 이 경우 팀 리드를 두고 2~3명 단위의 서브팀으로 나누는 것이 필수적입니다. 각 서브팀이 독립적으로 개발할 수 있도록 마이크로서비스 아키텍처를 고려하고, 팀 간 인터페이스를 초기에 명확히 정의해야 합니다.

프로덕트 메이커는 이 기준에 비해 적은 인원으로 같은 산출물을 만들어 왔습니다.

소규모 팀이 외주 개발에서 이기는 이유

외주 개발에서 소규모 팀이 유리한 이유가 있습니다. 핸드오프 포인트가 적어 정보 손실이 줄어듭니다. 코드 스타일과 품질이 일관됩니다. 의사결정이 빠릅니다. 커뮤니케이션 오버헤드가 낮습니다. 그리고 가장 중요한 것은 대표나 시니어 개발자가 프로젝트에 직접 관여한다는 점입니다. 대형 에이전시에서는 영업 담당이 미팅하고, PM이 전달하고, 주니어 개발자가 구현하는 구조가 일반적이어서 클라이언트의 의도가 왜곡되기 쉽습니다.

경계해야 할 위험 신호

외주 업체를 선정할 때 주의해야 할 위험 신호들이 있습니다. 스타트업 MVP에 10명 이상을 제안하는 회사는 과잉 설계이거나 인원수로 비용을 부풀리고 있을 가능성이 있습니다. 시니어 감독 없이 주니어 위주로 팀을 구성하는 것도 위험합니다. 팀원이 클라이언트와 직접 소통하지 않고 PM만 창구 역할을 하는 것도 경계 대상입니다.

비용 대비 산출물의 현실

마지막으로 숫자로 비교하겠습니다. 실무 경험상 3명 팀이 3개월간 만드는 산출물과 5명 팀이 3개월간 만드는 산출물의 차이는 기대보다 작습니다. 5명이 67% 더 많은 비용이 들지만, 산출물은 30~40% 정도만 더 많습니다. 나머지는 커뮤니케이션과 조율에 소모되기 때문입니다. 적은 인원으로 높은 밀도의 결과물을 만드는 것, 이것이 프로덕트 메이커가 추구하는 효율적인 개발 방식입니다.

다른 포스팅

개발팀 규모, 프로젝트에 몇 명이 적정한가

프로젝트를 의뢰할 때 가장 많이 받는 질문 중 하나가 "개발자 몇 명이 투입되나요?"입니다. 직관적으로는 개발자가 많을수록 빨리 끝날 것 같지만, 소프트웨어 개발은 그렇게 단순하지 않습니다. 프레데릭 브룩스(Frederick Brooks)는 1975년에 이미 이것을 간파했습니다.

"지연되는 소프트웨어 프로젝트에 인력을 추가하면 프로젝트는 더 늦어진다." 브룩스의 법칙(Brooks's Law)이라 불리는 이 원칙은 50년이 지난 지금도 유효합니다.

커뮤니케이션 오버헤드의 수학

왜 인력을 늘린다고 빨라지지 않을까요? 핵심은 커뮤니케이션 오버헤드입니다. 팀원 간 커뮤니케이션 채널 수는 n(n-1)/2 공식으로 기하급수적으로 증가합니다. 3명이면 3개 채널, 5명이면 10개 채널, 7명이면 21개 채널, 10명이면 45개 채널입니다.

채널이 늘어날수록 회의 시간이 늘고, 코드 리뷰가 복잡해지고, 의사결정이 느려집니다. 또한 소프트웨어 개발은 건축 공사와 다릅니다. 벽돌 쌓기는 10명이 하면 1명보다 10배 빠르지만, 코드는 그렇지 않습니다. 기능 간 의존성, 데이터 구조의 공유, API 인터페이스의 합의 등 병렬화할 수 없는 작업이 상당 부분을 차지합니다.

1명이 4주 걸리는 작업을 4명에게 맡기면 1주가 아니라 2~3주가 걸리는 것이 현실입니다. 나머지 시간은 소통, 조율, 통합 테스트에 소모됩니다.

정보가 전달되는 사슬

커뮤니케이션 오버헤드는 회의 시간만의 문제가 아닙니다. 외주 프로젝트에서는 보통 정보가 다음과 같은 사슬을 따라 흐릅니다. 클라이언트가 PM에게 요구사항을 설명하고, PM이 그 내용을 정리해 개발팀에 전달하고, 개발팀은 다시 프론트엔드·백엔드·iOS·Android 담당자에게 분배합니다. 사슬이 길어질수록 의도와 실제 구현 사이의 간극이 커집니다. 클라이언트가 머릿속에 그렸던 화면이 여러 단계의 전달을 거치면서 살짝 다른 모양으로 만들어지는 일은 흔합니다.

분리된 개발자들 사이의 커뮤니케이션도 만만치 않습니다. 같은 기능에 대해 프론트엔드·백엔드·iOS·Android 담당자가 동일한 수준의 이해도를 갖는 일은 생각보다 어렵습니다. API 한 건의 동작 방식, 에러 처리 정책, 화면 전환 흐름 같은 디테일을 네 명이 같은 결로 맞추려면 회의·문서·메신저 대화가 끝없이 오갑니다. 그중 한 명만 이해가 어긋나도 결합 시점에서 버그가 터집니다.

혼자 다 하면 사슬 자체가 사라진다

이 사슬을 가장 효과적으로 줄이는 방법은 단순합니다. 한 사람이 처음부터 끝까지 책임지는 것입니다. 프론트엔드·백엔드·DB·인프라까지 동일한 사람의 머릿속에 들어 있으면 사이에서 오가야 할 정합 회의가 거의 사라집니다. API 스펙을 두고 줄다리기할 일도, 에러 처리 정책을 다시 협의할 일도 없습니다. 이게 풀스택 개발자가 만들어 내는 가장 큰 가치입니다.

"그게 정말 가능한가" 라는 의문이 드실 수 있습니다. 프로덕트 메이커는 연매출 300억 규모의 쇼핑몰까지 1인 개발로 구축한 경험이 있고, MAU 150만이 사용하는 3D 시스템도 같은 방식으로 만들었습니다. 적정 인원이 항상 "최소 5명"인 것은 아닙니다. 전체 스택을 깊게 다룰 수 있는 한 사람이 있으면, 같은 산출물을 훨씬 적은 커뮤니케이션 비용으로 만들 수 있습니다.

시장에서 흔히 말하는 팀 규모

외주 개발 시장에서 통상적으로 권장되는 팀 규모는 다음과 같습니다. 다만 이는 분업 구조를 전제로 한 기준이고, 풀스택 1인이 흡수하는 구조에서는 실제 인원이 크게 줄어듭니다.

MVP 또는 랜딩 페이지는 개발자 1~2명이 적정이며 기간은 3~8주입니다. 이 규모의 프로젝트에서 3명 이상은 오히려 비효율적입니다. 한 명의 시니어 풀스택 개발자가 프론트엔드와 백엔드를 모두 담당하고, 필요시 한 명이 디자인이나 특정 기능을 병렬로 진행하는 것이 가장 효율적입니다.

일반적인 웹 서비스는 개발자 2~3명과 디자이너 1명으로 2~4개월이 적정합니다. 프론트엔드와 백엔드를 분리하되, API 설계를 초기에 확정하여 병렬 개발이 가능하도록 합니다. 디자이너는 개발보다 1~2주 선행하여 시안을 준비합니다. 이 규모에서 핵심은 팀원 모두가 직접 커뮤니케이션하는 것입니다. 중간 전달자가 있으면 정보 손실이 발생합니다.

복잡한 플랫폼, 예를 들어 이커머스나 SaaS는 개발자 3~5명에 디자이너와 PM을 포함하여 4~8개월이 적정합니다. 이 규모부터는 PM의 역할이 중요해집니다. 기능별로 담당을 명확히 나누고, 주간 단위로 통합 테스트를 진행해야 합니다. 3D 렌더링이나 실시간 처리 같은 특수 영역이 필요하면 해당 전문가를 추가합니다.

대규모 엔터프라이즈 프로젝트는 5~10명 이상이 필요하며, 이 경우 팀 리드를 두고 2~3명 단위의 서브팀으로 나누는 것이 필수적입니다. 각 서브팀이 독립적으로 개발할 수 있도록 마이크로서비스 아키텍처를 고려하고, 팀 간 인터페이스를 초기에 명확히 정의해야 합니다.

프로덕트 메이커는 이 기준에 비해 적은 인원으로 같은 산출물을 만들어 왔습니다.

소규모 팀이 외주 개발에서 이기는 이유

외주 개발에서 소규모 팀이 유리한 이유가 있습니다. 핸드오프 포인트가 적어 정보 손실이 줄어듭니다. 코드 스타일과 품질이 일관됩니다. 의사결정이 빠릅니다. 커뮤니케이션 오버헤드가 낮습니다. 그리고 가장 중요한 것은 대표나 시니어 개발자가 프로젝트에 직접 관여한다는 점입니다. 대형 에이전시에서는 영업 담당이 미팅하고, PM이 전달하고, 주니어 개발자가 구현하는 구조가 일반적이어서 클라이언트의 의도가 왜곡되기 쉽습니다.

경계해야 할 위험 신호

외주 업체를 선정할 때 주의해야 할 위험 신호들이 있습니다. 스타트업 MVP에 10명 이상을 제안하는 회사는 과잉 설계이거나 인원수로 비용을 부풀리고 있을 가능성이 있습니다. 시니어 감독 없이 주니어 위주로 팀을 구성하는 것도 위험합니다. 팀원이 클라이언트와 직접 소통하지 않고 PM만 창구 역할을 하는 것도 경계 대상입니다.

비용 대비 산출물의 현실

마지막으로 숫자로 비교하겠습니다. 실무 경험상 3명 팀이 3개월간 만드는 산출물과 5명 팀이 3개월간 만드는 산출물의 차이는 기대보다 작습니다. 5명이 67% 더 많은 비용이 들지만, 산출물은 30~40% 정도만 더 많습니다. 나머지는 커뮤니케이션과 조율에 소모되기 때문입니다. 적은 인원으로 높은 밀도의 결과물을 만드는 것, 이것이 프로덕트 메이커가 추구하는 효율적인 개발 방식입니다.

다른 포스팅