2025년 11월 12일 수요일

개발팀이 알아야 할 WBS: 프로젝트 혼돈에서 질서를 찾는 마법

"우리 프로젝트 언제 끝나요?"

PM이 묻는 이 질문에, 개발자인 당신은 자신 있게 답할 수 있나요?

이 질문에 명확하게 답하는 팀은 손에 꼽을 정도입니다. 대부분은 "거의 다 됐습니다"라는 애매한 대답만 반복하죠.

문제는 개발자의 능력이 아닙니다. 작업을 보는 관점의 차이입니다.

두 가지 전형적인 시나리오

개발팀은 보통 두 가지 패턴 중 하나를 따릅니다.

시나리오 A: 추정 없이 시작하는 팀

월요일 아침 회의
PM: "로그인 기능 진행률이 어떻게 되나요?"
개발자: "음... 한 70%쯤?"
PM: "정확히 며칠 남았나요?"
개발자: "글쎄요... 일주일?"

(2주 후)
PM: "아직도 안 끝났어요?"
개발자: "거의 다 됐는데... 생각보다 복잡해서..."

(다시 1주 후)
PM: "..." (포기한 표정)
개발자: "..." (미안한 표정)

업계 데이터를 보면, 이런 방식으로 진행되는 프로젝트의 65%가 예정보다 지연됩니다.

시나리오 B: WBS를 적용한 팀

월요일 아침 회의
PM: "로그인 기능 진행률이 어떻게 되나요?"
개발자: "전체 12개 Task 중 7개 완료했습니다.
         UI 100% 완료, 백엔드 API 80% 진행 중,
         테스트는 금요일부터 시작 예정입니다."
PM: "예상 완료일은?"
개발자: "다음 주 수요일 오후 3시입니다. 신뢰도 90%."
PM: (놀란 표정) "오, 구체적이네요!"

연구에 따르면, WBS를 제대로 적용한 프로젝트는 일정 예측 정확도가 65%에서 90%로 향상됩니다.

WBS란 무엇인가?

WBS(Work Breakdown Structure, 작업 분해 구조)는 거대한 프로젝트를 관리 가능한 작은 조각으로 나누는 기법입니다.

제가 책 『소프트웨어 개발의 모든 것』에서 강조했던 핵심 원칙이기도 하죠.

코끼리를 냉장고에 넣는 방법

어릴 때 들었던 수수께끼를 기억하시나요?

  1. 냉장고 문을 연다
  2. 코끼리를 작게 자른다 ← WBS의 핵심!
  3. 조각을 하나씩 넣는다
  4. 문을 닫는다

농담 같지만, 이것이 바로 WBS의 본질입니다. 불가능해 보이는 일도 충분히 작게 나누면 가능해집니다.

왜 작게 나누면 정확해질까?

30년간 수십 개 프로젝트를 관리하며 발견한 패턴입니다.

# 인간의 추정 능력
def estimate_accuracy(task_size):
    if task_size > 40:  # 40시간 이상
        return "오차 ±150%"  # 매우 부정확
    elif task_size > 8:  # 8-40시간
        return "오차 ±50%"   # 보통
    else:  # 8시간 이하
        return "오차 ±20%"   # 정확!

# 큰 작업
"백엔드 개발" → 추정: 2주 → 실제: 5(250% 오차)

# 작은 작업들
"API 설계" → 추정: 2일 → 실제: 2일 ✓
"DB 구현" → 추정: 3일 → 실제: 4일 ✓
"인증 구현" → 추정: 2일 → 실제: 2일 ✓
"테스트" → 추정: 3일 → 실제: 3일 ✓
# 합계: 추정 10일 → 실제 11일 (10% 오차!)

WBS가 해결하는 5가지 고질병

"왜 우리 프로젝트는 항상 지연될까요?"

대부분 다음 5가지 문제 중 하나입니다.

1. "90% 완료" 증후군

증상: 3주째 "거의 다 됐어요"

이런 상황, 경험해보셨나요? "90% 완료"는 대부분 착각입니다. 의도적인 거짓말이 아니라, 본인도 모르는 착각이죠.

WBS 처방:

  • 모든 작업을 8시간 이하로 분해
  • 0% 또는 100% 규칙 엄격히 적용
  • "완료"의 정의 = 테스트까지 끝난 상태

업계 연구에 따르면, 이 규칙을 적용한 팀은 프로젝트 지연율이 65%에서 15%로 감소했습니다.

2. 스코프 크립 (Scope Creep)

증상: "아, 그것도 추가해주세요"가 계속 발생

혹시 이런 말 들어본 적 있으신가요? "이것만 하나 더 추가하면 되잖아요?"

그 "이것만"이 쌓이고 쌓여서 프로젝트가 산으로 갑니다. PMI(Project Management Institute) 연구에 따르면, 프로젝트 실패 원인의 52%가 스코프 크립입니다.

WBS 백신:

✅ Phase 1 (확정, 변경 불가)
- 사용자 인증
- 상품 관리
- 주문 처리

❌ Phase 2 (다음 버전에서)
- 소셜 로그인
- 추천 시스템
- 실시간 채팅

WBS로 스코프를 명확히 정의해두면, "이것만 추가"라는 말에 단호하게 "다음 Phase에서 하겠습니다"라고 말할 수 있습니다.

3. 리소스 블랙홀

증상: 시니어 개발자만 죽어나는 현상

당신의 팀은 어떤가요? 실력 있는 개발자 한 명에게 모든 일이 몰리고, 나머지는 한가한 상황 아닌가요?

이것은 개인의 문제가 아니라 작업 분배의 문제입니다.

WBS 솔루션:

// Before
const tasks = {
  시니어A: ['핵심기능', '복잡한것', '중요한것', '긴급한것'], // 200시간
  주니어B: ['간단한것'], // 40시간
  주니어C: ['문서작성'], // 40시간
};

// After (WBS 적용)
const balanced_tasks = {
  시니어A: ['설계', '코드리뷰'], // 80시간
  주니어B: ['구현1', '테스트1'], // 80시간
  주니어C: ['구현2', '테스트2'], // 80시간
  페어작업: ['복잡한 부분 함께'], // 40시간
};

4. 데드라인 공포증

증상: 마감일이 다가올수록 패닉

WBS 치료법: 매일 번다운 차트로 건강 체크

  • 정상: 계획선과 실제선이 비슷
  • 주의: 실제선이 계획보다 위
  • 위험: 격차가 벌어지는 중

5. 커뮤니케이션 단절

증상: "그거 누가 하기로 했죠?"

WBS RACI 매트릭스:

작업개발자A개발자BPMQA
API 개발RACI
UI 개발ARCI
테스트CCIR
  • R: 실행 책임
  • A: 최종 책임
  • C: 협의 필요
  • I: 정보 공유

AI 시대에도 WBS가 필요한 이유

요즘 자주 듣는 질문입니다. "AI가 코딩하는데 계획이 필요해요?"

솔직히 말하면, 처음에는 저도 의문이었습니다. ChatGPT가 코드를 척척 만들어주는데, WBS가 무슨 소용일까?

하지만 Plexo를 개발하며 깨달았습니다. AI 시대에 WBS가 오히려 더 중요합니다.

왜냐하면 AI는 명확한 지시를 따를 뿐, 프로젝트 전체를 이해하지 못하기 때문입니다.

# 모호한 요청 → AI 실패
prompt_bad = "로그인 만들어줘"
ai_result = "기본 로그인 폼... 보안 없음... 50% 완성"
# 결과: 다시 만들어야 함

# WBS 기반 명확한 요청 → AI 성공
prompt_good = """
Task 2.1.3: JWT 기반 로그인 API 구현
- Endpoint: POST /api/auth/login
- 입력: { email: string, password: string }
- 패스워드: bcrypt 해싱 (salt rounds: 10)
- 토큰: JWT 발급 (만료 1시간, refresh token 7일)
- 보안: Rate limiting 5회/분, IP 기록
- 에러: 401 (인증 실패), 429 (Too Many Requests)
- 테스트: Jest 유닛 테스트 포함
"""
ai_result = "완벽한 보안 로그인 구현... 95% 완성!"
# 결과: 바로 사용 가능

실제로 Plexo 개발 과정에서 저는 약 99%의 코드를 AI가 작성하도록 했습니다. 하지만 그 과정은 철저히 WBS 기반이었죠.

제가 한 일은:

  1. 프로젝트를 작은 Task로 분해 (WBS)
  2. 각 Task를 명확하게 정의
  3. AI에게 정확한 지시
  4. 결과 리뷰 및 승인

AI는 훌륭한 개발자지만, 무엇을 만들어야 할지는 인간이 정해야 합니다. 그리고 그 "무엇"을 정의하는 최고의 방법이 바로 WBS입니다.

WBS의 실제 효과 (숫자로 증명)

const before_wbs = {
  프로젝트_지연율: '65%',
  예측_오차: '±40%',
  팀_만족도: '5/10',
  야근_빈도: '주 3회',
};

const after_wbs = {
  프로젝트_지연율: '15%', // 77% 개선!
  예측_오차: '±10%', // 75% 개선!
  팀_만족도: '8/10', // 60% 상승!
  야근_빈도: '주 0.5회', // 83% 감소!
};

const roi = {
  투자: '주 2시간 WBS 관리',
  수익: '프로젝트당 2주 단축',
  투자대비수익: '1:16', // 1시간 투자로 16시간 절약
};

오늘부터 시작하는 WBS

10분 스타터 가이드

## 월요일 아침 루틴 (10분)

1. **이번 주 큰 목표 정하기** (2분)
   예: "사용자 인증 모듈 완성"

2. **작업 쪼개기** (3분)

   - 로그인 API (8h)
   - 회원가입 API (6h)
   - 패스워드 재설정 (4h)
   - JWT 미들웨어 (4h)
   - 테스트 작성 (6h)

3. **우선순위 정하기** (2분)
   1순위: 로그인 API (블로커)
   2순위: JWT 미들웨어
   3순위: 나머지

4. **팀에 공유** (3분)
   Slack/Jira에 붙여넣기

첫 번째 WBS 템플릿

프로젝트: 로그인 기능
총 시간: 40시간
기간: 1주

작업분해:
  1. 백엔드 (20h): 1.1 DB 스키마 설계 (2h)
    1.2 API 개발 (12h)
    - POST /login (4h)
    - POST /signup (4h)
    - POST /reset-password (4h)
    1.3 인증 미들웨어 (6h)

  2. 프론트엔드 (12h): 2.1 로그인 폼 (4h)
    2.2 회원가입 폼 (4h)
    2.3 상태 관리 (4h)

  3. 테스트 (8h): 3.1 단위 테스트 (4h)
    3.2 통합 테스트 (4h)

마무리: 선택의 순간

"복잡한 것을 단순하게 만드는 것이 진정한 기술이다" - 스티브 잡스

"WBS는 단순한 도구가 아니라, 프로젝트의 GPS다"

지도 없이 등산을 하면 길을 잃습니다. GPS 없이 운전하면 목적지에 도착하기 어렵습니다. 마찬가지로 WBS 없이 프로젝트를 진행하면, 어디로 가고 있는지 알 수 없게 됩니다.

책 『소프트웨어 개발의 모든 것』에서도 강조했지만, 프로젝트 성공의 핵심은 **"보이지 않는 것을 보이게 만드는 것"**입니다. WBS가 바로 그 도구입니다.

오늘 당장 시작하세요

이론은 이제 충분합니다. 실천만 남았습니다.

  1. 지금 하고 있는 작업 하나를 선택하세요
  2. 5개 서브태스크로 분해하세요
  3. 각각에 시간을 추정하세요
  4. 팀과 공유하세요

단 10분이면 됩니다. 하지만 그 10분이 프로젝트의 운명을 바꿀 수 있습니다.

한번 명확함을 경험하면, 다시는 혼돈으로 돌아갈 수 없습니다.

내일은 어제보다 더 명확한 하루가 될 겁니다.


체계적인 WBS 관리 도구가 필요하신가요? 실시간 협업, 자동 일정 계산, 리스크 조기 경고까지 제공하는 Plexo를 확인해보세요.

#WBS #프로젝트관리 #개발팀 #애자일 #소프트웨어공학

2025년 11월 11일 화요일

돌아오며 — 왜 Plexo를 만들었나

오랜만에 블로그로 돌아왔습니다. 예전엔 Excel WBS로 일정을 프로젝트 예측하고 지켰고, 이제는 그 경험을 바탕으로 "예측 가능한 일정, 지키는 프로젝트"를 위한 웹서비스 Plexo를 만들었습니다.

나는 누구인가

"소프트웨어 개발의 모든것"이라는 책을 썼던 전규현입니다. 책에서 일정 관리 시 Excel WBS로 정확하게 예측하고 관리하는 방법을 소개했었죠.
참고: 소프트웨어 개발의 모든것 (YES24)

지난 수십년간 실무에서 수십 개 프로젝트를 운영하면서, Excel WBS의 강점과 한계를 몸소 체감했습니다.

1년 반 만의 복귀

솔직히 말하면 지난 1년 반, 블로그는 거의 방치했습니다. 글은 거의 안 쓰고, 개발에만 몰두했어요.
주말과 짬 나는 시간마다 무언가를 만들었고, 그 결과물이 바로 Plexo라는 프로젝트 관리 도구입니다. 이번에 정식으로 공개하게 되었습니다.

Excel WBS, 좋았지만 한계가 있었다

내가 사랑했던 Excel WBS의 핵심은 간단합니다.
"작업을 충분히 잘게 나눠서, 근거 있는 일정 추정을 만들고, 매일 그 오차를 줄여나간다."

이론적으로는 완벽하죠. 실제로도 잘 작동했습니다. 그런데 실무에서는 다음 제약을 피하기 어려웠어요.

  • 실시간 협업의 어려움: 버전 충돌, 메일 첨부, 공용 드라이브에서 "누가 최종본이지?" 싸움
  • 여러 프로젝트 동시 운영: A 프로젝트와 B 프로젝트의 리소스 충돌, 가시성 부족
  • 이력/통계 축적의 어려움: 일정 편차, 지연 패턴, 반복되는 리스크를 체계적으로 분석하기 힘듦

그래서 만든 Plexo

Plexo는 "엑셀의 편리함은 유지하고, 협업과 자동화를 더한" 프로젝트 관리 도구입니다.

  • 리소스 캘린더 기반 일정 예측: 담당자별 가용시간을 반영해 현실적인 마감일 산출
  • 지연 위험 자동 감지: 계획 대비 실행 편차를 조기에 경고
  • 실시간 동시 편집: Google Docs처럼 WBS를 팀이 함께 편집
  • 포트폴리오 관리: 여러 프로젝트의 진행 상황과 리소스를 한눈에
  • 가격: FREE 플랜(3 프로젝트/3 사용자/300 작업), Professional $29/월(14일 무료 체험)

어떻게 만들었나 — AI가 코드를 쓰고, 나는 리뷰했다

이번 프로젝트는 "AI-first 개발 프로세스"로 진행했습니다.

사양서(스펙)도 약 99%를 AI가 작성했어요. 나는 방향만 제시하고 리뷰하고 승인했습니다.
구현은 프롬프트 기반 반복 루프로 빠르게 진행했죠. (요구 사항 제시 → 스펙 작성 -> 코드 생성 → 테스트 → 리뷰 → 수정)

앞으로 연재할 글들

이 글을 시작으로, 매주 월요일과 목요일에 프로젝트 관리 이야기를 이어갑니다.
이미 6개 글을 준비해뒀으니, 다음 글들을 기대해주세요.

  1. 개발팀이 알아야 할 WBS: 프로젝트 혼돈에서 질서를 찾는 마법
  2. 5단계로 완성하는 개발 프로젝트 WBS 실전 가이드
  3. Excel WBS의 종말: 현대적 협업 도구로 갈아타기
  4. AI + 스펙 + WBS = 프로젝트 성공의 황금 조합
  5. WBS 작성할 때 90%가 하는 실수 5가지
  6. 프로젝트가 망하는 5가지 신호와 WBS로 막는 법

한번 써보세요

피드백과 질문은 언제든 환영합니다.
다음 글에서 뵙겠습니다.