"백엔드 개발 4주면 충분하죠?"
이 말을 들으면 등골이 서늘해집니다.
"백엔드 개발"이 대체 뭔가요?
최근 한 스타트업의 WBS를 검토하다가 발견한 내용입니다:
프로젝트 일정 (3개월)
├── 기획 (2주)
├── 디자인 (2주)
├── 백엔드 개발 (4주) ← ???
├── 프론트엔드 개발 (4주) ← ???
└── 테스트 및 배포 (2주)
각자에게 "백엔드 개발"이 뭔지 물어봤습니다:
- PM: "API 몇 개 만드는 거 아닌가요?"
- 개발자 A: "DB 설계부터 API, 인증, 결제까지 다요"
- 개발자 B: "일단 시작하면서 정하죠"
- CTO: "클라우드 인프라 구축도 포함이죠"
4명이 4가지 다른 생각을 하고 있었습니다.
God Object WBS: 프로젝트 관리의 안티패턴
소프트웨어 개발에 God Object라는 안티패턴이 있습니다. 하나의 클래스가 너무 많은 일을 하는 거죠.
프로젝트 관리에도 똑같은 문제가 있습니다: God Task.
God Task의 특징
❌ God Task 예시:
- "백엔드 개발" (160시간)
- "프론트엔드 구현" (120시간)
- "시스템 통합" (80시간)
- "버그 수정" (??시간)
이런 작업들의 공통점:
- 구체적으로 뭘 하는지 모호함
- 진행률 측정 불가능
- 완료 기준 불명확
- 여러 사람이 다르게 이해
2시간 룰: 마법의 숫자
수많은 프로젝트를 분석한 결과, 하나의 패턴을 발견했습니다.
성공하는 프로젝트의 평균 태스크 크기: 1-2시간
왜 2시간일까요?
심리학적 이유
# 인간의 집중력 한계
focus_duration = {
"깊은 집중": 90분, # 울트라디언 리듬
"일반 집중": 45분, # 포모도로 2세션
"휴식 필요": 15분
}
# 이상적인 작업 단위
ideal_task = focus_duration["깊은 집중"] + focus_duration["휴식 필요"]
# = 105분 ≈ 2시간
실무적 이유
- 오전/오후 단위: 하루를 4개 블록으로 나누기 좋음
- 진행률 체감: 매일 2-3개 작업 완료 → 성취감
- 리뷰 가능: 2시간 작업은 30분이면 리뷰 가능
- 수정 용이: 잘못되어도 2시간만 날림
실제 사례: 결제 시스템 구현
Before: God Task 방식
결제 시스템 구현 (40시간)
└── (뭘 해야 하지...?)
결과:
- 2주 후: "진행률 50%입니다" (정말?)
- 3주 후: "거의 다 됐어요" (얼마나?)
- 4주 후: "조금만 더..." (언제까지?)
- 6주 후: 완료 (예정보다 2주 지연)
After: 2시간 룰 적용
결제 시스템 구현 (40시간)
├── 1. 결제 프로세스 설계 (4시간)
│ ├── 1.1 결제 플로우 다이어그램 (2시간)
│ └── 1.2 예외 상황 정의 (2시간)
├── 2. Stripe 연동 (8시간)
│ ├── 2.1 Stripe 계정 설정 (1시간)
│ ├── 2.2 Customer 생성 API (2시간)
│ ├── 2.3 Payment Intent API (2시간)
│ ├── 2.4 Webhook 처리 (2시간)
│ └── 2.5 에러 핸들링 (1시간)
├── 3. 데이터베이스 (6시간)
│ ├── 3.1 결제 테이블 설계 (2시간)
│ ├── 3.2 마이그레이션 작성 (2시간)
│ └── 3.3 트랜잭션 처리 (2시간)
├── 4. 비즈니스 로직 (10시간)
│ ├── 4.1 결제 검증 로직 (2시간)
│ ├── 4.2 재시도 로직 (2시간)
│ ├── 4.3 환불 처리 (2시간)
│ ├── 4.4 구독 관리 (2시간)
│ └── 4.5 알림 발송 (2시간)
├── 5. 프론트엔드 (8시간)
│ ├── 5.1 결제 폼 UI (2시간)
│ ├── 5.2 카드 정보 검증 (2시간)
│ ├── 5.3 3D Secure 처리 (2시간)
│ └── 5.4 결제 상태 표시 (2시간)
└── 6. 테스트 (4시간)
├── 6.1 단위 테스트 (2시간)
└── 6.2 E2E 테스트 (2시간)
결과:
- 매일: "오늘 2.1, 2.2 완료했습니다" (명확)
- 1주 후: "20개 중 10개 완료" (정확한 50%)
- 2주 후: "18개 완료, 2개 남음" (거의 완료)
- 2.5주: 완료 (예정보다 빠름!)
작업 크기별 실패 확률
실제 데이터 분석 결과:
작업 크기 vs 지연 확률:
1시간: 5% 지연
2시간: 8% 지연
4시간: 25% 지연
8시간: 45% 지연
16시간: 70% 지연
40시간+: 95% 지연
8시간을 넘으면 반 이상이 늦어집니다.
큰 작업을 쪼개는 기술
1. 동사로 시작하기
❌ "사용자 관리"
✅ "사용자 생성 API 구현"
✅ "사용자 조회 API 구현"
✅ "사용자 수정 API 구현"
2. CRUD로 나누기
"상품 관리 기능" →
- Create: 상품 등록 (2시간)
- Read: 상품 조회 (1시간)
- Update: 상품 수정 (2시간)
- Delete: 상품 삭제 (1시간)
3. 레이어별로 나누기
"로그인 기능" →
- DB: 사용자 테이블 생성 (1시간)
- Model: User 모델 정의 (1시간)
- Service: 인증 로직 구현 (2시간)
- Controller: API 엔드포인트 (1시간)
- View: 로그인 폼 UI (2시간)
4. 시나리오별로 나누기
"결제 처리" →
- Happy Path: 정상 결제 (2시간)
- 잔액 부족 처리 (1시간)
- 카드 거절 처리 (1시간)
- 네트워크 오류 처리 (2시간)
2시간 룰 체크리스트
작업을 만들 때 확인하세요:
- 2시간 안에 끝낼 수 있는가?
- 구체적인 산출물이 있는가?
- 완료 기준이 명확한가?
- 한 사람이 할 수 있는가?
- 테스트 가능한가?
하나라도 "아니오"면 더 쪼개야 합니다.
실전 적용: 일일 계획
오전 (4시간)
09:00-11:00: Task 1 (2시간)
11:00-11:15: 휴식
11:15-13:00: Task 2 (1시간 45분)
오후 (4시간)
14:00-16:00: Task 3 (2시간)
16:00-16:15: 휴식
16:15-18:00: Task 4 (1시간 45분)
하루 4개 작업 = 명확한 진척
팀 적용 사례
사례 1: 스타트업 A팀
Before:
- 평균 작업 크기: 16시간
- 프로젝트 지연율: 80%
- 팀 만족도: 낮음
After (2시간 룰 적용):
- 평균 작업 크기: 2.5시간
- 프로젝트 지연율: 15%
- 팀 만족도: 높음
사례 2: 대기업 B팀
변화 과정:
- 1주차: "너무 잘게 나누는 거 아니에요?"
- 2주차: "생각보다 명확하네요"
- 3주차: "진행 상황이 눈에 보여요!"
- 4주차: "왜 이제야 이렇게 했을까요?"
도구와 자동화
WBS 자동 분할 스크립트
def split_large_task(task, max_hours=2):
"""큰 작업을 자동으로 분할"""
if task.estimated_hours <= max_hours:
return [task]
# CRUD 패턴으로 분할
subtasks = []
operations = ['Create', 'Read', 'Update', 'Delete']
for op in operations:
subtask = Task(
name=f"{op} {task.name}",
hours=task.estimated_hours / len(operations)
)
if subtask.hours <= max_hours:
subtasks.append(subtask)
else:
# 더 작게 분할
subtasks.extend(split_by_components(subtask))
return subtasks
흔한 반론과 답변
"관리 오버헤드가 너무 커요"
답: 처음엔 그렇게 느껴지지만, 명확한 진행률과 예측 가능성이 주는 이익이 훨씬 큽니다.
"창의적 작업은 시간 예측이 안 돼요"
답: 창의적 작업도 "아이디어 도출 2시간", "프로토타입 2시간" 등으로 나눌 수 있습니다.
"긴급 작업이 자주 들어와요"
답: 2시간 단위로 일하면 긴급 작업에도 빠르게 대응할 수 있습니다.
마무리: 작게 나누면 크게 이긴다
"Divide and Conquer"는 알고리즘만의 이야기가 아닙니다.
작업을 2시간으로 나누면:
- 진행률이 명확해집니다
- 일정 예측이 정확해집니다
- 팀원들이 행복해집니다
- 프로젝트가 성공합니다
다음 프로젝트에서 꼭 시도해보세요.
"백엔드 개발 4주" 대신 "API 20개 × 2시간"으로.
놀라운 변화를 경험하실 겁니다.
2시간 룰로 체계적인 WBS 관리가 필요하신가요? Plexo를 확인해보세요.