WIP(Work In Progress)란?

WIP는 진행 중인 작업을 뜻합니다. Kanban에서 WIP 제한을 설정하여 효율성을 높이고 병목현상을 줄이는 방법을 알아보세요.

WIP(Work In Progress)란?

WIP(Work In Progress) 는 "진행 중인 작업"을 의미하는 용어로, 시작되었지만 아직 완료되지 않은 모든 작업 항목을 가리킵니다. 소프트웨어 개발, 제조업, 프로젝트 관리 등 다양한 분야에서 핵심 지표로 활용됩니다.

WIP를 효과적으로 관리하는 것은 팀의 생산성과 품질을 동시에 높이는 핵심 전략입니다. 칸반 방법론에서 WIP 관리는 가장 근본적인 원칙 중 하나이며, 리틀의 법칙(Little's Law)에 따라 WIP를 줄이면 리드 타임이 감소합니다.

WIP가 중요한 이유

리틀의 법칙 (Little's Law)

대기열 이론의 기본 공식으로, WIP와 리드 타임의 관계를 설명합니다:

리드 타임 = WIP / 처리량(Throughput)

이 공식이 의미하는 바:

  • WIP가 증가하면 → 리드 타임이 증가
  • WIP가 감소하면 → 리드 타임이 감소
  • 처리량이 일정할 때, WIP를 절반으로 줄이면 리드 타임도 절반으로 줄어듬

멀티태스킹의 비용

Gerald Weinberg의 연구에 따르면, 동시에 진행하는 프로젝트 수에 따른 생산성 손실:

동시 프로젝트 수 컨텍스트 스위칭 비용 실제 생산적 시간
1개 0% 100%
2개 20% 80%
3개 40% 60%
4개 60% 40%
5개 이상 75%+ 25% 미만

한국 IT 기업, 특히 SI(시스템 통합) 업계에서는 개발자가 여러 프로젝트를 동시에 진행하는 경우가 많아, WIP 관리의 중요성이 더욱 큽니다. 카카오와 네이버 같은 테크 기업에서는 이런 컨텍스트 스위칭 비용을 줄이기 위해 팀 전용 프로젝트 배정을 강조합니다.

소프트웨어 개발에서의 WIP

코드 레벨 WIP

개발자 개인의 WIP 관리:

  • 열린 브랜치 수: 동시에 작업 중인 기능 브랜치
  • 미완성 Pull Request: 리뷰 대기 중인 PR
  • 진행 중 커밋: 로컬에서 완성되지 않은 변경사항

팀 레벨 WIP

팀 전체의 WIP 관리:

  • 칸반 보드 항목: 각 열(Column)의 작업 수
  • 스프린트 내 진행 중 스토리: 스프린트에서 시작했지만 완료하지 못한 항목
  • 병렬 기능 개발: 동시에 진행 중인 기능

조직 레벨 WIP

조직 전체의 WIP 관리:

  • 진행 중인 프로젝트 수: 동시에 활성화된 프로젝트
  • 병렬 이니셔티브: 전략적으로 추진 중인 주요 계획
  • 포트폴리오 WIP: 포트폴리오 수준의 작업량

WIP 제한 (WIP Limits)

WIP 제한이란?

WIP Limit은 작업 흐름의 각 단계에서 동시에 진행할 수 있는 최대 작업 수를 제한하는 것입니다. "시작을 멈추고, 완료를 시작하라(Stop Starting, Start Finishing)"는 원칙을 실현합니다.

WIP 제한 설정 방법

1단계: 현재 상태 파악

2단계: 초기 WIP 제한 설정

  • 팀원 수의 1.5배 정도로 시작 (예: 5명 팀 → WIP 제한 7-8)
  • 또는 현재 평균 WIP의 80%로 설정

3단계: 실험과 조정

  • 2-4주 간격으로 데이터를 기반으로 조정
  • WIP 제한이 너무 높으면: 효과 미미, 병목 미발견
  • WIP 제한이 너무 낮으면: 유휴 시간 증가, 팀 불만

WIP 제한의 효과

David Anderson의 칸반 도입 사례 연구에 따르면:

  • 리드 타임 50% 감소: 작업이 더 빨리 완료됨
  • 품질 37% 향상: 집중도가 높아져 버그 감소
  • 예측 가능성 향상: 납기 준수율 개선
  • 팀 스트레스 감소: 업무 과부하 방지

WIP 시각화

칸반 보드

칸반 보드는 WIP를 시각화하는 가장 효과적인 도구입니다:

| Backlog | 분석 (2) | 개발 (3) | 리뷰 (2) | 테스트 (2) | 완료 | |---------|----------|----------|----------|-----------|------| | 항목 F | 항목 A | 항목 B | 항목 D | 항목 E | ... | | 항목 G | 항목 C | 항목 H | | | | | ... | | 항목 I | | | |

각 열 상단의 숫자가 WIP 제한입니다. 개발 단계에서 WIP 제한(3)을 초과하면, 팀은 새 작업을 시작하기 전에 기존 작업을 완료해야 합니다.

누적 흐름 다이어그램 (CFD)

CFD는 시간에 따른 WIP 변화를 시각화합니다:

  • 각 상태의 작업 수를 누적 영역 차트로 표시
  • 영역 간 수직 거리 = 해당 상태의 WIP
  • 영역이 넓어지면 WIP 증가, 좁아지면 WIP 감소
  • 병목 현상을 시각적으로 즉시 식별 가능

제조업에서의 WIP

도요타 생산 시스템 (TPS)

WIP 관리의 원조인 도요타 생산 시스템에서:

  • Just-In-Time(JIT): 필요한 것을, 필요할 때, 필요한 만큼만 생산
  • 칸반 카드: 물리적 카드로 WIP를 제한하고 Pull 시스템 구현
  • 평준화 생산(Heijunka): 수요 변동에 맞춰 생산량 조절

삼성전자의 반도체 생산 라인이나 현대자동차의 조립 라인에서도 WIP 관리는 생산 효율성의 핵심입니다. 삼성전자는 린 제조 원칙을 적극 도입하여 반도체 생산 리드 타임을 지속적으로 단축하고 있습니다.

재고 비용

WIP가 과도하면 다음과 같은 비용이 발생합니다:

  • 보관 비용: 미완성 제품을 보관하는 물리적/디지털 공간
  • 기회 비용: 묶여 있는 자원이 다른 곳에 활용되지 못함
  • 품질 리스크: 오래된 WIP는 요구사항 변경으로 무효화될 수 있음
  • 관리 비용: 많은 WIP를 추적하고 관리하는 오버헤드

WIP와 관련된 메트릭

주요 측정 지표

  • 평균 WIP: 일정 기간 동안의 평균 진행 중 작업 수
  • WIP 나이(Age): 각 작업 항목이 진행 중인 상태로 머문 시간
  • 처리량: 단위 시간당 완료된 작업 수
  • 사이클 타임: 작업이 시작에서 완료까지 걸린 시간
  • 리드 타임: 요청에서 전달까지의 전체 시간

WIP 나이 차트

각 진행 중 항목이 현재 상태에 머문 시간을 보여주는 차트입니다. 오래된 항목은 블로커나 문제가 있을 수 있으므로 주의가 필요합니다.

WIP 관리 모범 사례

"시작을 멈추고, 완료를 시작하라"

가장 중요한 원칙입니다. 새 작업을 시작하고 싶은 유혹을 참고, 이미 시작한 작업을 완료하는 데 집중하세요.

WIP 제한 위반 시 대응

WIP 제한에 도달했을 때:

  1. 기존 작업 완료에 집중: 가장 완료에 가까운 작업 우선
  2. 스워밍: 팀원들이 병목 작업에 집중 투입
  3. 페어 프로그래밍: 페어 프로그래밍으로 리뷰와 개발 동시 진행
  4. 블로커 해결: 블로커가 있는 항목의 장애물 제거

정기적 검토

  • 스프린트 회고에서 WIP 관리 효과 논의
  • 데이터 기반으로 WIP 제한 조정
  • 팀의 역량 변화에 맞춰 유연하게 대응

자주 묻는 질문

WIP와 백로그의 차이는 무엇인가요?

백로그는 아직 시작하지 않은 모든 작업 항목의 목록이고, WIP는 이미 시작되었지만 아직 완료되지 않은 작업을 의미합니다.

WIP 제한을 팀원 수와 같게 설정해야 하나요?

반드시 그럴 필요는 없습니다. 팀원 수는 참고값이며, 실제 WIP 제한은 실험을 통해 최적값을 찾아야 합니다. 협업이 많은 팀은 팀원 수보다 낮게, 독립적 작업이 많은 팀은 비슷하게 설정할 수 있습니다.

WIP 제한이 유휴 시간을 만들면 어떻게 하나요?

WIP 제한으로 인해 새 작업을 시작할 수 없을 때, 이는 시스템의 병목을 드러내는 긍정적 신호입니다. 유휴 시간을 병목 해소, 기술 부채 해소, 학습, 페어 프로그래밍 등에 활용하세요.

스크럼에서도 WIP 제한을 적용할 수 있나요?

네. 스크럼에서도 스프린트 보드에 WIP 제한을 적용하면 흐름이 개선됩니다. 스크럼반은 스크럼과 칸반의 WIP 제한을 결합한 하이브리드 접근법입니다.

관련 용어

🍄

더 알고 싶으신가요?

WIP에 대해 더 깊이 알아보고 싶거나 이런 교육을 팀에 도입하고 싶으시다면, 이야기 나눠요. 저는 팀이 이러한 개념을 이해하고 적용할 수 있도록 돕고 있습니다. 연락 주시면 정말 기쁘겠습니다!