← thisisyazid.com아티클 › WIP 한도ENBM한국어
칸반과 린

WIP 한도: 시작은 그만, 끝내기를 시작하세요

진행 중인 일의 양을 제한하면 왜 팀이 더 빠르고, 더 차분하고, 더 예측 가능해지는지 설명합니다. 이 아이디어는 스크럼이 아니라 칸반과 린에서 왔지만 어떤 팀이든 쓸 수 있습니다. 읽는 데 약 10분이 걸립니다.

🚧WIPWork In Progress, 즉 시작했지만 아직 끝나지 않은 모든 일입니다.
🔢WIP 한도보드의 한 열에 동시에 둘 수 있는 카드 수의 최댓값을 팀이 합의한 것입니다.
🎯이유동시에 벌이는 일이 줄면 조각 하나하나가 더 빨리 끝나고 문제가 일찍 드러납니다.
🏭어디서 왔나도요타의 공장에서 시작해 린 사고와 칸반 방식을 거쳐 왔습니다.
1부

WIP 한도란 무엇인가요?

WIP 한도는 보드의 열에 적어 두는 숫자입니다. "진행 중: 3"은 그 열에 카드가 많아야 세 장까지만 있을 수 있다는 뜻입니다. 열이 가득 차면 카드 한 장이 다음으로 넘어갈 때까지 아무도 새 일을 시작하지 않습니다. 규칙은 그게 전부입니다. 흥미로운 것은 이렇게 단순한 규칙이 왜 그토록 잘 통하느냐입니다.

스크럼이 아니라 칸반: 스크럼 가이드에는 WIP 한도가 한 번도 나오지 않습니다. WIP 한도는 도요타의 린 생산 방식에서 자라난 칸반 방식에서 왔습니다. 둘이 잘 어울리기 때문에 많은 스크럼 팀이 빌려 씁니다. 보드가 처음이라면 스크럼 가이드의 칸반 보드 부분부터 읽어 보세요.

주방 이야기

주방에 요리사 3명이 있습니다. 매니저가 주문 20개를 한꺼번에 받고 요리사마다 7가지 요리를 동시에 시작하면, 모든 요리가 반쯤만 익고 음식은 식고 한참 동안 어느 테이블에도 나가지 않습니다. 요리사가 한 번에 한 요리씩 끝내면 테이블마다 차례대로 음식이 나갑니다.

진행 중인 일이 너무 많을 때와 제한할 때의 비교 제한 없음: 모두가 7가지를 동시에 WIP 한도: 한 번에 하나씩 😵 반쯤 익은 요리 20개 · 긴 대기 · 식은 음식 끝난 것이 없으니 전달된 것도 없음 😊 🍝🍲🥗 요리 3개를 만들어 서빙하고 다음 3개로 끝난 일이 꾸준히, 빠르게 나감
더 많이 저글링할수록 각각은 오히려 늦게 끝납니다. 작업을 오가면 집중력이 소모되고, 끝난 일은 리뷰를 기다리며 멈춰 있기 때문입니다.
2부

한 번에 덜 해야 더 많이 끝나는 이유

거꾸로 들립니다. 같은 일을 두 가지 방식으로 해 보겠습니다. A, B, C 세 가지 작업이 있고 각각 일주일 분량입니다.

한 번에 하나씩 하기와 동시에 벌이기 한 번에 하나씩 하면 작업 A는 1주 차 끝에, B는 2주 차 끝에, C는 3주 차 끝에 끝납니다. 세 가지를 동시에 벌이면 작업을 오가느라 시간을 잃고, 3주 차가 지나도록 하나도 끝나지 않습니다. 1주 차2주 차3주 차4주 차 한 번에 하나씩 A B C ✓ A✓ B✓ C 세 가지 동시에 ABCABCABC ✓ A✓ B✓ C 첫 결과: 1주 뒤 첫 결과: 거의 3주 뒤 빈틈은 한 작업에서 다른 작업으로 주의를 옮길 때마다 잃는 시간입니다.
같은 사람, 같은 노력입니다. 한 번에 하나씩 하면 A는 2주 더 일찍 쓰이기 시작하고, 작업을 오가며 잃는 시간이 없으니 마지막 작업마저 더 빨리 끝납니다.
작업을 오가는 데는 비용이 듭니다.이유: 한 작업에서 다른 작업으로 넘어갈 때마다 머리는 어디까지 했는지 다시 불러와야 합니다. 세 가지를 동시에 벌이면 하루의 상당 부분이 일하는 데가 아니라 오가는 데 쓰입니다.
진행 중인 일은 대부분 기다리는 일입니다.이유: "진행 중"인 카드는 보통 무언가를 기다리고 있습니다. 리뷰, 답변, 누군가의 차례 같은 것입니다. 열려 있는 카드가 많을수록 각 카드가 기다리는 시간도 길어집니다.
열린 일이 적을수록 각각이 더 빨리 끝납니다.이유: 간단한 어림 규칙이 있습니다. 끝내는 데 걸리는 평균 시간 = 진행 중인 항목 수 ÷ 주당 끝내는 항목 수. 일주일에 카드 5장을 끝내는 팀에 열린 카드가 20장이면 카드 한 장에 약 4주가 걸립니다. 10장이면 약 2주입니다. 같은 팀, 같은 노력인데 기다림은 절반입니다.
병목이 눈에 보입니다.이유: 어떤 열이 한도에 닿으면 보드가 가장 느린 단계를 가리키는 것입니다. 한도가 없으면 더미는 조용히 커지기만 합니다.
피드백이 더 빨리 옵니다.이유: 끝난 일은 리뷰하고, 테스트하고, 쓸 수 있습니다. 반쯤 한 일에서는 아무것도 배울 수 없습니다.
품질이 올라갑니다.이유: 집중한 사람은 실수를 덜 하고, 당일에 발견한 실수는 금방 고칩니다.
팀이 더 차분해집니다.이유: 열려 있는 일 열 가지는 손대지 않고 있을 때도 마음을 짓누릅니다. 끝낼 수 있는 짧은 목록이 끝낼 수 없는 긴 목록보다 지고 가기 쉽습니다.

🚨 이유를 한 줄로

시작만 한 일로는 아무도 득을 보지 못합니다. 끝난 일에서 득을 봅니다. WIP 한도는 팀의 관심을 시작하기에서 끝내기로 옮겨 줍니다.

3부

보드 읽기: 막힌 열 찾아내기

리뷰 열을 보세요. 일이 한도인 2를 넘겨 쌓이고 있습니다.

보드가 알려 주는 것: 일이 리뷰를 기다리며 막혀 있습니다. 한도는 "새 일을 시작하지 말고 리뷰하러 가세요!"라고 말해 주는 보드의 방식입니다. 올바른 대응은 진행 중에 카드를 더 가져오는 대신 다 같이 리뷰에 매달리는 것입니다. 눈에 보이는 보드와 한도가 없다면 스프린트가 끝날 때까지 아무도 몰랐을 것입니다.

내 열이 가득 찼을 때 할 일

"새 카드 시작하기" 대신 이렇게이유
동료의 작업을 리뷰합니다무언가를 완료로 옮기는 가장 빠른 방법입니다.
이미 진행 중인 카드를 함께 작업합니다어려운 카드는 둘이 머리를 맞대면 더 빨리 끝납니다.
장애물을 없애는 일을 돕습니다막힌 카드는 자리만 차지하고 아무것도 전달하지 못합니다.
테스트하거나 빠진 문서를 씁니다진짜 병목은 흔히 여기에 있습니다.
작은 것을 개선합니다: 도구, 체크리스트, 불안정한 테스트앞으로의 모든 일이 빨라집니다.

새로 시작할 일이 없는 것은 게으름이 아닙니다. 약간의 여유가 있어야 급한 일이 생겼을 때 팀이 대응할 수 있습니다.

4부

어디서 왔나: 쉬운 말로 풀어 본 린 사고

1950년대에 도요타는 아무도 받을 준비가 안 된 부품을 만드는 것이 낭비임을 깨달았습니다. 돈이 묶이고, 결함이 가려지고, 공장 바닥이 가득 찼습니다. 도요타의 답은 "풀(pull)"이었습니다. 다음 공정이 준비되었다고 신호를 보낼 때만 더 만드는 방식이며, 그 신호로 칸반이라는 카드를 썼습니다. 린은 거기서 자라난 생각들의 묶음입니다.

밀어 넣기와 가져가기

📥
밀어 넣기 (Push)

여유가 있든 없든 일을 사람에게 넘깁니다. 대기 줄이 길어지고, 모두가 바쁜데 끝나는 일은 적습니다.

🤲
가져가기 (Pull)

사람들은 여유가 있을 때만 다음 카드를 가져갑니다. 시스템 안의 일의 양이 팀이 실제로 끝낼 수 있는 양에 맞춰집니다. 가져가기를 실제로 작동하게 하는 것이 WIP 한도입니다.

린의 일곱 가지 원칙과 WIP 한도의 역할

원칙쉬운 말로WIP 한도가 돕는 방식
낭비를 없앤다고객에게 도움이 되지 않는 일을 그만둡니다.반쯤 한 일이 가장 큰 낭비입니다. 비용은 들었지만 아직 가치는 없습니다.
품질을 처음부터 만들어 넣는다결함을 나중에 찾아내지 말고 미리 막습니다.집중과 빠른 리뷰가 실수를 생생할 때 잡아냅니다.
지식을 만든다일하면서 배우고, 배운 것을 나눕니다.빨리 끝낼수록 빨리 배웁니다.
책임질 수 있는 한 늦게 결정한다충분히 알 때까지 선택지를 열어 둡니다.아직 시작하지 않은 일은 비용 없이 바꿀 수 있습니다.
빠르게 전달한다아이디어에서 완료까지의 시간을 짧게 유지합니다.진행 중인 항목이 적을수록 각각이 더 빨리 끝납니다.
사람을 존중한다일하는 사람들이 일하는 방식을 정하게 합니다.각자 자기 역량에 맞게 일을 가져가므로 누구도 과부하에 걸리지 않습니다.
전체를 최적화한다한 단계만이 아니라 전체 흐름을 개선합니다.한도는 빠른 단계 하나가 느린 단계를 일로 뒤덮는 것을 막습니다.

이 일곱 가지 원칙은 메리 포펜딕과 톰 포펜딕의 린 소프트웨어 개발에서 나왔습니다.

칸반 방식의 여섯 가지 실천

1. 일을 눈에 보이게 한다

모든 일은 공유 보드 위의 카드입니다.

2. 진행 중인 일을 제한한다

이 글의 주제입니다.

3. 흐름을 관리한다

사람이 얼마나 바쁜지가 아니라 카드가 얼마나 매끄럽게 움직이는지를 봅니다.

4. 규칙을 명시한다

각 열의 의미와 카드가 언제 넘어갈 수 있는지를 적어 둡니다.

5. 피드백 루프를 만든다

정기적으로 짧게 모여 보드와 결과를 살펴봅니다.

6. 실험하며 함께 개선한다

작은 것 하나를 바꾸고, 결과를 보고, 효과가 있는 것을 남깁니다.

5부

WIP 한도를 정하는 법

완벽한 숫자는 없습니다. 합리적인 출발점을 고른 다음, 보드가 보여 주는 것을 바탕으로 조정하세요.

지금 있는 곳에서 시작하세요.오늘 각 열에 있는 카드를 세어 보세요. 그 숫자 또는 그보다 하나 적은 숫자를 한도로 정합니다. 이유: 첫 번째 목표는 더미가 더 커지지 않게 하는 것뿐입니다.
팀 인원을 기준으로 삼으세요.진행 중 열의 흔한 출발점은 팀원 수 또는 그보다 하나 적은 수입니다. 이유: 하나 적게 잡으면 사람들이 짝을 지어 서로 끝내도록 돕게 됩니다.
기다리는 열에도 한도를 두세요.리뷰와 테스트 열은 진행 중 열보다 한도가 더 필요합니다. 이유: 아무도 모르게 일이 쌓이는 곳이 바로 거기입니다.
막힌 카드도 세세요.막힌 카드도 여전히 자리 하나를 차지합니다. 이유: 돌아가는 방법을 찾는 대신 장애물을 해결하도록 압력을 유지해 줍니다.
가득 찬 열을 신호로 받아들이세요.한도에 닿으면 데일리 스탠드업에서 이야기하세요. 이유: 그 대화를 시작하게 하는 것이 한도가 하는 일의 전부입니다.
회고에서 조정하세요.일이 여전히 기다리며 멈춰 있다면 한도를 낮추세요. 사람들이 쓸모 있는 할 일 없이 남는 일이 잦다면 높이세요. 이유: 알맞은 숫자는 계산이 아니라 실험으로 찾습니다.

자주 나오는 반론

반론답
"사람들이 할 일 없이 앉아 있게 됩니다."그런 일은 드뭅니다. 리뷰할 것, 풀어야 할 장애물, 도울 동료가 거의 언제나 있습니다. 그리고 약간 여유가 있는 사람이 너무 바빠서 아무도 돕지 못하는 사람보다 더 가치 있습니다.
"급한 일은 기다릴 수 없습니다."진짜 긴급 상황을 위한 "긴급" 레인을 따로 두고 한도를 1로 정하세요. 모든 것이 급하다면 급한 것은 없는 것입니다.
"우리는 다릅니다. 멀티태스킹을 할 수밖에 없어요."거의 모든 팀이 그렇게 말합니다. 한 달만 한도를 써 보고 완료에 도착한 카드 수를 비교해 보세요.
"한도가 자꾸 깨집니다."그렇다면 한도가 제 역할을 하는 것입니다. 문제를 보여 주고 있으니까요. 숫자가 아니라 원인을 고치세요.
"우리 관리자는 모두가 100% 바쁘기를 원합니다."수용량 100%로 꽉 찬 도로는 교통 체증입니다. 흐름에는 빈 공간이 필요합니다.

스크럼 팀 안에서의 WIP 한도

스프린트는 이미 일종의 WIP 한도입니다. 팀은 스프린트 안에 끝낼 수 있다고 믿는 만큼만 가져가기 때문입니다. 열 한도는 스프린트 안에 더 촘촘한 두 번째 한도를 더합니다. 첫날 모든 카드를 시작하고 마지막 날 모든 것이 "거의 다 됐어요"인 익숙한 모습을 막아 줍니다.

잘되고 있는지 알아보는 법

지켜볼 것보고 싶은 모습
사이클 타임 (카드 한 장이 시작부터 완료까지 걸리는 시간)점점 짧아지고 고르게 됨
처리량 (주당 끝낸 카드 수)꾸준하거나 늘어남
카드 나이 (열린 카드가 열려 있던 기간)조용히 오래 묵는 카드가 없음
이월 (스프린트가 끝날 때 못 끝낸 카드)점점 줄어듦

이어서 읽기

모든 아티클 보기 →