진행 중인 일의 양을 제한하면 왜 팀이 더 빠르고, 더 차분하고, 더 예측 가능해지는지 설명합니다. 이 아이디어는 스크럼이 아니라 칸반과 린에서 왔지만 어떤 팀이든 쓸 수 있습니다. 읽는 데 약 10분이 걸립니다.
WIP 한도는 보드의 열에 적어 두는 숫자입니다. "진행 중: 3"은 그 열에 카드가 많아야 세 장까지만 있을 수 있다는 뜻입니다. 열이 가득 차면 카드 한 장이 다음으로 넘어갈 때까지 아무도 새 일을 시작하지 않습니다. 규칙은 그게 전부입니다. 흥미로운 것은 이렇게 단순한 규칙이 왜 그토록 잘 통하느냐입니다.
스크럼이 아니라 칸반: 스크럼 가이드에는 WIP 한도가 한 번도 나오지 않습니다. WIP 한도는 도요타의 린 생산 방식에서 자라난 칸반 방식에서 왔습니다. 둘이 잘 어울리기 때문에 많은 스크럼 팀이 빌려 씁니다. 보드가 처음이라면 스크럼 가이드의 칸반 보드 부분부터 읽어 보세요.
주방에 요리사 3명이 있습니다. 매니저가 주문 20개를 한꺼번에 받고 요리사마다 7가지 요리를 동시에 시작하면, 모든 요리가 반쯤만 익고 음식은 식고 한참 동안 어느 테이블에도 나가지 않습니다. 요리사가 한 번에 한 요리씩 끝내면 테이블마다 차례대로 음식이 나갑니다.
거꾸로 들립니다. 같은 일을 두 가지 방식으로 해 보겠습니다. A, B, C 세 가지 작업이 있고 각각 일주일 분량입니다.
시작만 한 일로는 아무도 득을 보지 못합니다. 끝난 일에서 득을 봅니다. WIP 한도는 팀의 관심을 시작하기에서 끝내기로 옮겨 줍니다.
리뷰 열을 보세요. 일이 한도인 2를 넘겨 쌓이고 있습니다.
보드가 알려 주는 것: 일이 리뷰를 기다리며 막혀 있습니다. 한도는 "새 일을 시작하지 말고 리뷰하러 가세요!"라고 말해 주는 보드의 방식입니다. 올바른 대응은 진행 중에 카드를 더 가져오는 대신 다 같이 리뷰에 매달리는 것입니다. 눈에 보이는 보드와 한도가 없다면 스프린트가 끝날 때까지 아무도 몰랐을 것입니다.
| "새 카드 시작하기" 대신 이렇게 | 이유 |
|---|---|
| 동료의 작업을 리뷰합니다 | 무언가를 완료로 옮기는 가장 빠른 방법입니다. |
| 이미 진행 중인 카드를 함께 작업합니다 | 어려운 카드는 둘이 머리를 맞대면 더 빨리 끝납니다. |
| 장애물을 없애는 일을 돕습니다 | 막힌 카드는 자리만 차지하고 아무것도 전달하지 못합니다. |
| 테스트하거나 빠진 문서를 씁니다 | 진짜 병목은 흔히 여기에 있습니다. |
| 작은 것을 개선합니다: 도구, 체크리스트, 불안정한 테스트 | 앞으로의 모든 일이 빨라집니다. |
새로 시작할 일이 없는 것은 게으름이 아닙니다. 약간의 여유가 있어야 급한 일이 생겼을 때 팀이 대응할 수 있습니다.
1950년대에 도요타는 아무도 받을 준비가 안 된 부품을 만드는 것이 낭비임을 깨달았습니다. 돈이 묶이고, 결함이 가려지고, 공장 바닥이 가득 찼습니다. 도요타의 답은 "풀(pull)"이었습니다. 다음 공정이 준비되었다고 신호를 보낼 때만 더 만드는 방식이며, 그 신호로 칸반이라는 카드를 썼습니다. 린은 거기서 자라난 생각들의 묶음입니다.
여유가 있든 없든 일을 사람에게 넘깁니다. 대기 줄이 길어지고, 모두가 바쁜데 끝나는 일은 적습니다.
사람들은 여유가 있을 때만 다음 카드를 가져갑니다. 시스템 안의 일의 양이 팀이 실제로 끝낼 수 있는 양에 맞춰집니다. 가져가기를 실제로 작동하게 하는 것이 WIP 한도입니다.
| 원칙 | 쉬운 말로 | WIP 한도가 돕는 방식 |
|---|---|---|
| 낭비를 없앤다 | 고객에게 도움이 되지 않는 일을 그만둡니다. | 반쯤 한 일이 가장 큰 낭비입니다. 비용은 들었지만 아직 가치는 없습니다. |
| 품질을 처음부터 만들어 넣는다 | 결함을 나중에 찾아내지 말고 미리 막습니다. | 집중과 빠른 리뷰가 실수를 생생할 때 잡아냅니다. |
| 지식을 만든다 | 일하면서 배우고, 배운 것을 나눕니다. | 빨리 끝낼수록 빨리 배웁니다. |
| 책임질 수 있는 한 늦게 결정한다 | 충분히 알 때까지 선택지를 열어 둡니다. | 아직 시작하지 않은 일은 비용 없이 바꿀 수 있습니다. |
| 빠르게 전달한다 | 아이디어에서 완료까지의 시간을 짧게 유지합니다. | 진행 중인 항목이 적을수록 각각이 더 빨리 끝납니다. |
| 사람을 존중한다 | 일하는 사람들이 일하는 방식을 정하게 합니다. | 각자 자기 역량에 맞게 일을 가져가므로 누구도 과부하에 걸리지 않습니다. |
| 전체를 최적화한다 | 한 단계만이 아니라 전체 흐름을 개선합니다. | 한도는 빠른 단계 하나가 느린 단계를 일로 뒤덮는 것을 막습니다. |
이 일곱 가지 원칙은 메리 포펜딕과 톰 포펜딕의 린 소프트웨어 개발에서 나왔습니다.
모든 일은 공유 보드 위의 카드입니다.
이 글의 주제입니다.
사람이 얼마나 바쁜지가 아니라 카드가 얼마나 매끄럽게 움직이는지를 봅니다.
각 열의 의미와 카드가 언제 넘어갈 수 있는지를 적어 둡니다.
정기적으로 짧게 모여 보드와 결과를 살펴봅니다.
작은 것 하나를 바꾸고, 결과를 보고, 효과가 있는 것을 남깁니다.
완벽한 숫자는 없습니다. 합리적인 출발점을 고른 다음, 보드가 보여 주는 것을 바탕으로 조정하세요.
| 반론 | 답 |
|---|---|
| "사람들이 할 일 없이 앉아 있게 됩니다." | 그런 일은 드뭅니다. 리뷰할 것, 풀어야 할 장애물, 도울 동료가 거의 언제나 있습니다. 그리고 약간 여유가 있는 사람이 너무 바빠서 아무도 돕지 못하는 사람보다 더 가치 있습니다. |
| "급한 일은 기다릴 수 없습니다." | 진짜 긴급 상황을 위한 "긴급" 레인을 따로 두고 한도를 1로 정하세요. 모든 것이 급하다면 급한 것은 없는 것입니다. |
| "우리는 다릅니다. 멀티태스킹을 할 수밖에 없어요." | 거의 모든 팀이 그렇게 말합니다. 한 달만 한도를 써 보고 완료에 도착한 카드 수를 비교해 보세요. |
| "한도가 자꾸 깨집니다." | 그렇다면 한도가 제 역할을 하는 것입니다. 문제를 보여 주고 있으니까요. 숫자가 아니라 원인을 고치세요. |
| "우리 관리자는 모두가 100% 바쁘기를 원합니다." | 수용량 100%로 꽉 찬 도로는 교통 체증입니다. 흐름에는 빈 공간이 필요합니다. |
스프린트는 이미 일종의 WIP 한도입니다. 팀은 스프린트 안에 끝낼 수 있다고 믿는 만큼만 가져가기 때문입니다. 열 한도는 스프린트 안에 더 촘촘한 두 번째 한도를 더합니다. 첫날 모든 카드를 시작하고 마지막 날 모든 것이 "거의 다 됐어요"인 익숙한 모습을 막아 줍니다.
| 지켜볼 것 | 보고 싶은 모습 |
|---|---|
| 사이클 타임 (카드 한 장이 시작부터 완료까지 걸리는 시간) | 점점 짧아지고 고르게 됨 |
| 처리량 (주당 끝낸 카드 수) | 꾸준하거나 늘어남 |
| 카드 나이 (열린 카드가 열려 있던 기간) | 조용히 오래 묵는 카드가 없음 |
| 이월 (스프린트가 끝날 때 못 끝낸 카드) | 점점 줄어듦 |