스크럼
Scrum
방법
고정 길이의 주기를 끊어 두고 그 안에서 열 회의와 맡을 역할을 미리 정해 둔, 팀 하나가 애자일을 굴리는 규칙 한 벌입니다.
등장 배경
예전에는 만들 것을 먼저 다 적고 그다음에 만들었습니다. 몇 달에 걸쳐 요구사항 문서를 완성하고, 승인을 받고, 그 문서대로 반년쯤 개발한 뒤 한 번에 내보내는 방식입니다. 문서를 쓰는 동안 시장이 가만히 있어 준다면 나쁘지 않은 순서였습니다.
가만히 있어 주지 않았습니다. 반년 뒤에 나온 것이 그사이 바뀐 상황에 맞지 않는 일이 반복됐고, 잘못됐다는 사실은 늘 마지막에 드러났습니다. 중간에 확인할 자리가 없었기 때문입니다. 개발이 다 끝나고 시연하는 날에야 "이건 우리가 생각한 게 아닌데요" 가 나오는데, 그때는 고칠 시간도 예산도 남아 있지 않습니다.
그래서 계획을 한 번에 확정하지 않고 짧게 만들어 내보인 뒤 방향을 고치자는 쪽으로 무게가 옮겨 갔습니다. 다만 이 생각은 태도까지만 정해 줍니다. 팀이 모여 "우리도 이제 그렇게 갑시다" 라고 합의해도 다음 주 월요일 아침에 무엇이 달라지는지는 아무도 모릅니다. 짧게라면 얼마나 짧은지, 방향을 고치는 자리는 언제 여는지, 무엇을 먼저 할지는 누가 정하는지가 전부 비어 있습니다. 비어 있으면 결국 예전 습관대로 돌아갑니다. 회의는 필요할 때 잡고, 우선순위는 그때그때 가장 목소리가 큰 쪽이 가져갑니다.
스크럼은 그 빈칸을 이름까지 채워 넣은 규칙 한 벌입니다. 주기는 며칠짜리인지, 주기 앞뒤에 어떤 회의를 여는지, 그 회의에 누가 들어와 무엇을 정하는지가 정해져 있습니다. 정해 둔 것이 많다는 점이 이 방식의 약점으로 지적되기도 하지만, 처음 시작하는 팀에는 그게 장점입니다. 무엇을 할지 스스로 설계하지 않고 일단 그대로 따라 해 볼 수 있기 때문입니다.
분야 구성
스크럼 아래 묶인 용어는 다섯 갈래입니다. 언제 무엇을 하는지(이벤트), 그 결과로 무엇이 남는지(산출물), 누가 만드는지(역할), 잘 돌고 있는지를 무엇으로 보는지(지표), 그리고 어디서 어긋나는지(위험)입니다. 갈래를 순서대로 따라가면 한 주기가 실제로 어떻게 굴러가는지가 그대로 나옵니다.
이벤트는 정해진 때에 여는 자리입니다. 다섯 가지이고, 첫 번째가 나머지를 담는 그릇입니다.
- 스프린트 — 1주에서 4주 사이로 고른 고정 길이의 주기입니다. 한 번 정하면 계속 같은 길이로 돌립니다. 길이를 매번 바꾸면 지난 주기의 실적을 다음 계획에 쓸 수 없기 때문입니다. 2주가 가장 흔합니다.
- 스프린트 플래닝 — 주기 첫날에 이번에 무엇을 할지 고르는 회의입니다. 우선순위가 매겨진 전체 목록에서 위에서부터 가져오되, 팀이 소화할 수 있는 만큼에서 멈춥니다. 2주짜리 주기면 보통 두 시간에서 네 시간을 씁니다.
- 데일리 스크럼 — 매일 같은 시각에 15분 동안 진행 상황과 막힌 곳을 나누는 자리입니다. 보고하는 자리가 아니라 오늘 하루를 서로 맞추는 자리라서, 막힌 것이 나오면 그 자리에서 풀지 않고 누가 언제 따로 볼지만 정하고 넘어갑니다.
- 스프린트 리뷰 — 주기 마지막 날에 만든 것을 실제로 돌려 보이고 의견을 받는 자리입니다. 문서나 화면 캡처가 아니라 작동하는 것을 보여 주는 것이 규칙이고, 이 자리에서 나온 의견이 다음 주기의 목록으로 들어갑니다.
- 회고 — 같은 날 리뷰 뒤에 여는, 만든 것이 아니라 만든 방식을 돌아보는 자리입니다. 무엇이 잘 됐고 무엇이 걸렸는지를 꺼내 다음 주기에 바꿀 것 한두 개를 정합니다. 바쁘면 가장 먼저 생략되는 자리인데, 이것을 빼면 같은 문제가 매 주기 반복됩니다.
산출물은 주기를 돌린 결과로 손에 남는 것입니다. 둘이 있습니다. 스프린트 백로그는 플래닝에서 이번 주기에 하기로 뽑아 둔 작업 묶음입니다. 주기가 시작되면 밖에서 여기에 끼워 넣지 않는 것이 원칙이고, 그 원칙이 팀에게 2주치 집중을 보장합니다. 인크리먼트는 주기가 끝났을 때 실제로 쓸 수 있는 상태로 더해진 결과물입니다. 절반쯤 만든 기능은 여기 들어가지 않습니다. 매 주기 끝에 쓸 수 있는 무언가가 남아야 언제든 멈춰도 그때까지 만든 것이 쓸모를 갖기 때문입니다. 무엇을 쓸 수 있는 상태로 볼지는 팀이 미리 적어 둡니다. 보통 코드 리뷰를 통과하고 테스트가 돌고 운영 환경에 올라간 상태까지를 말하는데, 이 기준이 팀마다 다른 것은 괜찮아도 한 팀 안에서 사람마다 다르면 주기 끝에 무엇이 끝난 것인지를 두고 매번 다투게 됩니다.
역할은 누가 무엇을 맡는지입니다. 개발팀은 인크리먼트를 실제로 만들어 내는 구성원 전체를 가리킵니다. 개발자만 세는 말이 아니라 디자이너와 테스트를 맡은 사람까지 포함하고, 한 사람이 하나만 한다고 나누지 않습니다. 인원은 대여섯에서 아홉 명 정도를 권합니다. 더 적으면 필요한 기술이 모이지 않고, 더 많으면 데일리 스크럼 15분에 모두가 말할 수 없습니다. 이 갈래에는 원래 두 자리가 더 있습니다. 무엇을 먼저 만들지 정하는 사람과 규칙이 제 기능을 하도록 돌보는 사람인데, 둘 다 스크럼만 쓰는 말이 아니라 이 지도에서는 다른 자리에 두었습니다. 구성원이 열 명 남짓인 회사에서는 세 자리를 따로 두지 않고 한두 사람이 겸하는 일이 흔합니다.
지표는 주기가 계획대로 가고 있는지를 보는 눈입니다. 셋이 있습니다. 벨로시티는 한 주기에 팀이 끝낸 작업량의 평균이고, 다음 주기에 얼마나 담을지 가늠하는 데 씁니다. 번다운 차트는 남은 일이 줄어드는 모습을 날짜별로 그린 그래프라 주기 중간에 속도가 처지는 것이 눈에 띕니다. 번업 차트는 끝낸 일이 쌓이는 모습과 함께 전체 범위가 늘었는지를 같이 그립니다. 일정이 밀렸을 때 팀이 느린 것인지 할 일이 늘어난 것인지를 가르려면 이쪽이 필요합니다.
위험은 어긋나는 자리를 모아 둔 갈래입니다. 스필오버는 끝내지 못해 다음 주기로 넘어간 작업입니다. 한두 건은 흔한 일이지만 매 주기 반복되면 신호로 읽습니다. 담는 양이 실적보다 많거나, 완료의 기준이 팀 안에서 서로 다르거나, 주기 중간에 다른 일이 계속 끼어들었다는 뜻입니다. 셋 다 회고에서 다룰 거리입니다.
다섯 갈래는 한 바퀴로 이어집니다. 플래닝에서 스프린트 백로그를 만들고, 매일 데일리 스크럼으로 맞추고, 주기 끝에 인크리먼트를 리뷰에서 보이고, 회고에서 방식을 고치고, 그 결과가 다음 플래닝으로 들어갑니다. 지표는 이 바퀴가 같은 속도로 도는지를 보여 주고, 스필오버는 바퀴가 헛도는 자리를 알려 줍니다. 회의 다섯 개를 각각 떼어 놓고 보면 그냥 회의가 많은 것처럼 보이는데, 실제로는 한 바퀴를 이루는 마디들이라 하나를 빼면 다음 마디가 근거를 잃습니다.
실무 용례
"그건 이번 스프린트엔 못 넣습니다. 다음 플래닝에서 우선순위 보고 정하시죠."
주기가 시작된 뒤에는 범위를 바꾸지 않는다는 원칙을 들어 요청을 다음 주기로 미루는 말입니다.
"데일리에서 사흘째 같은 블로커가 나오는데요. 끝나고 관련된 사람만 남아서 봅시다."
막힌 것이 반복해서 보고되고 있으니 회의 밖에서 따로 풀자는 제안입니다.
"이번에 스필오버가 세 건입니다. 왜 그랬는지는 회고에서 보죠."
넘어간 작업이 평소보다 많으니 원인을 방식 쪽에서 찾자는 뜻입니다.
페이지덱의 제품 팀은 2주짜리 주기를 화요일에 시작합니다. 화요일인 이유는 월요일에 시작하면 지난 주말에 들어온 문의 때문에 플래닝이 늘 어수선해지기 때문입니다. 첫날 오전 두 시간이 플래닝이고, 지현이 우선순위 목록을 훑어 주면 태오와 민서가 이번 주기에 담을 것을 고릅니다.
지난 분기에 이 팀은 매 주기 스필오버가 서너 건씩 났습니다. 회고에서 원인을 찾아보니 담는 양이 문제가 아니었습니다. 디자인이 아직 안 나온 항목을 플래닝에서 함께 담아 두고 있었던 것입니다. 민서가 화면을 넘기는 시점이 주기 중반이니 개발은 남은 절반 안에 끝내야 했고, 그게 밀리면 그대로 넘어갔습니다.
팀은 규칙 하나를 바꿨습니다. 디자인이 끝난 항목만 플래닝에 올리기로 한 것입니다. 민서는 한 주기 앞서 화면을 만들고, 개발은 항상 준비된 것만 가져갑니다. 다음 주기부터 스필오버는 한 건 아래로 내려갔습니다. 바꾼 것은 일하는 속도가 아니라 무엇을 담을 수 있다고 볼지의 기준입니다.
흔한 오해
스프린트라는 이름 때문에 전력 질주하는 기간으로 읽는 경우가 가장 많습니다. 육상에서 가져온 말이니 자연스러운 오해이고, 실제로 주기 마지막 며칠에 야근이 몰리는 팀이 많다는 점이 그 인상을 굳힙니다. 규칙이 정한 것은 속도가 아니라 길이입니다. 2주라는 칸을 끊어 두고 그 안에 소화할 수 있는 만큼만 담으라는 쪽에 가깝고, 담는 양을 실적에 맞추라는 것이 벨로시티를 재는 이유이기도 합니다. 질주로 읽은 팀은 매 주기 소화할 수 있는 양보다 많이 담고, 마지막 사흘을 야근으로 메우고, 그렇게 채운 숫자가 다음 주기의 기준이 됩니다. 반년쯤 지나면 사람이 먼저 지칩니다.
두 번째는 회의 다섯 개를 캘린더에 넣으면 스크럼을 하는 것이라는 생각입니다. 눈에 보이는 것이 회의뿐이고 도입했다고 말하기에도 회의가 가장 쉬운 증거라서 그렇게 여기기 쉽습니다. 회의는 그릇이고 실제로 방식을 바꾸는 것은 그 안에서 팀이 무엇을 정할 수 있느냐입니다. 플래닝을 열어 두고 담을 양을 밖에서 정해 주면 그 회의는 통보를 받아 적는 자리가 되고, 회고에서 나온 개선 사항이 다음 주기에 한 번도 반영되지 않으면 그 자리는 불평을 모으는 시간이 됩니다. 이런 상태로 석 달쯤 지나면 팀은 회의만 늘고 달라진 것은 없다는 결론에 이릅니다. 실제로 빠진 것은 회의가 아니라 그 회의가 내린 결정이 지켜진다는 전제입니다.
자주 헷갈리는 용어
| 용어 | 무엇인가 | 스크럼과의 차이 |
|---|---|---|
| 애자일 | 계획을 한 번에 고정하지 않고 짧게 반복하며 방향을 고쳐 가는 접근 | 층이 다릅니다. 애자일은 무엇을 옳다고 볼지 정하는 태도고, 스크럼은 그 태도를 주기와 회의와 역할이라는 이름 붙은 규칙으로 옮긴 한 벌입니다. 애자일하게 일하는 방법은 스크럼 말고도 여럿입니다 |
| 칸반 | 흐름을 보드에 드러내고 동시에 붙드는 일의 개수를 제한하는 방식 | 시간을 끊느냐 흐름을 관리하느냐가 갈립니다. 스크럼은 주기 앞에서 담을 것을 정하고 중간 변경을 막지만, 칸반은 주기를 두지 않고 상한이 허락하는 만큼 계속 당겨 갑니다. 예고 없이 들어오는 일이 많은 팀에는 뒤쪽이 맞습니다 |
같이 보면 좋은 페이지
하위 용어
마지막 업데이트 2026-09-16