일정 버퍼와 리스크 관리 기초 — 늦어질 것을 전제로 계획 세우기

프로젝트·일정 · 실용 가이드 · 2026. 09. 25 · 작성 rohan

계획대로 끝난 프로젝트를 몇 번이나 보셨나요. 대부분은 늦어지고, 그때마다 "이번엔 예상 못 한 일이 있어서"라고 말합니다. 그런데 예상 못 한 일은 매번 있습니다. 이 글은 일정이 늦어지는 구조적 이유에서 출발해, 버퍼를 어디에 얼마나 두는지, 버퍼 소진율을 신호등으로 읽는 법, 리스크 목록 양식과 대응 4가지, 그리고 리스크가 실제로 터졌을 때 재계획하는 순서를 정리합니다. 마지막에는 3~5명 팀에서 회의 없이 굴릴 수 있는 최소 버전을 붙였습니다. 일정 전체를 짜는 4단계 흐름은 프로젝트 일정 관리 방법, 어떤 작업이 핵심 경로인지 계산하는 법은 크리티컬 패스 계산법에서 다루고, 이 글은 그 일정에 얹는 여유와 위험 대비에만 집중합니다.

왜 일정은 늘 늦어지나 — 세 가지 구조적 원인

일정이 늦어지는 것은 팀이 게을러서가 아닙니다. 계획을 세우는 방식 자체에 늦어질 수밖에 없는 구조가 들어 있습니다. 원인을 알아야 버퍼를 어디에 얼마나 둘지 정할 수 있습니다.

이 세 가지는 없앨 수 없습니다. 그래서 "늦어지지 않게 하자"가 아니라 "늦어질 것을 전제로, 그래도 마감을 지키는 구조"를 만드는 것이 버퍼 관리입니다.

버퍼의 종류 — 작업 버퍼·프로젝트 버퍼·피딩 버퍼

버퍼(buffer)는 계획에 의도적으로 넣어 둔 여유 기간입니다. 어디에 두느냐에 따라 세 종류로 나뉘는데, 이 구분은 핵심 사슬 프로젝트 관리(CCPM, Critical Chain Project Management)에서 정리된 개념입니다. 이론 전체를 몰라도 세 가지 위치만 알면 실무에 충분합니다.

종류위치역할권장 여부
작업 버퍼각 작업 기간 안에 숨어 있음("5일이면 되는데 7일로")담당자 개인의 안전장치없애거나 최소화. 눈에 안 보이고 다 소모됨
피딩 버퍼핵심 경로가 아닌 가지가 핵심 경로에 합류하는 지점곁가지의 지연이 핵심 경로로 번지지 않게 막음합류점마다 작게
프로젝트 버퍼핵심 경로의 끝, 마감 바로 앞프로젝트 전체의 지연을 한 곳에서 흡수반드시. 가장 큰 버퍼

핵심 경로가 무엇인지, 어떤 작업이 곁가지인지는 크리티컬 패스 계산법에서 다뤘습니다. 여기서는 "가장 긴 사슬의 끝에 큰 버퍼 하나, 거기에 합류하는 가지마다 작은 버퍼 하나"로 기억하면 됩니다.

버퍼 크기는 어떻게 정하나 — 세 가지 방법

방법 1. 경로 길이의 비율로

가장 빠른 방법입니다. 작업 기간을 "보통 걸리는 시간"(낙관치가 아닌 50% 확률로 끝나는 시간)으로 잡은 뒤, 그 사슬 길이의 일정 비율을 버퍼로 둡니다. CCPM에서는 흔히 사슬 길이의 절반을 말하지만, 이미 각 작업에 여유가 조금씩 들어 있는 보통의 팀이라면 프로젝트 버퍼 20~30%, 피딩 버퍼 10~15% 정도가 현실적입니다. 핵심 경로가 영업일 40일이면 프로젝트 버퍼 8~12일입니다.

방법 2. 3점 추정으로

불확실한 작업은 낙관치(O)·최빈치(M)·비관치(P) 세 값을 받아 (O + 4M + P) ÷ 6으로 기대 기간을 구합니다. 예를 들어 "잘되면 3일, 보통 5일, 꼬이면 12일"이면 (3+20+12)÷6 ≈ 5.8일입니다. 이때 (P − O) ÷ 6이 그 작업의 표준편차(≈1.5일)인데, 경로 위 작업들의 편차를 제곱해서 더한 뒤 제곱근을 내면 경로 전체의 편차가 나옵니다. 그 값의 1~2배를 버퍼로 둡니다. 계산이 부담스러우면 각 작업의 (P − M)을 모아 그 합의 절반을 버퍼로 잡는 약식도 씁니다.

방법 3. 과거 데이터로

가장 정확한 방법입니다. 지난 프로젝트에서 계획 대비 실제 기간의 비율을 작업 유형별로 기록해 둡니다. "외부 검토는 평균 1.6배, 개발은 1.3배, 문서 작업은 1.1배"처럼 나오면, 그 유형의 작업 사슬에 (비율 − 1)만큼 버퍼를 둡니다. 데이터가 없으면 이번 프로젝트부터 마일스톤별 계획일과 실제일을 기록하는 것으로 시작합니다. 세 번만 쌓여도 감이 크게 달라집니다.

📌 세 방법 중 무엇을 쓰든, 버퍼는 작업 기간을 먼저 낙관치 가까이로 깎은 뒤에 붙여야 의미가 있습니다. 여유가 든 7일짜리 작업에 또 30% 버퍼를 얹으면 일정이 두 배로 부풀고, 부푼 일정은 파킨슨 법칙대로 결국 다 쓰게 됩니다.

버퍼는 어디에 두나 — 숨기지 말고 끝에 모아서

실무에서 가장 흔한 실패는 담당자마다 자기 작업에 버퍼를 몰래 넣는 것입니다. 이러면 세 가지 일이 벌어집니다. 첫째, 버퍼가 얼마인지 아무도 모릅니다. 둘째, 학생 증후군(마감 직전에 시작)과 파킨슨 법칙(주어진 시간을 다 씀) 때문에 버퍼는 그냥 소진됩니다. 셋째, 일찍 끝나도 다음 담당자가 준비가 안 돼 이득이 사라집니다.

대신 이렇게 둡니다.

  1. 작업 기간은 "보통 걸리는 시간"으로 잡고, 담당자에게 "이 기간은 50% 확률로 끝나는 시간이고 늦어도 책임을 묻지 않는다, 대신 버퍼를 따로 둔다"고 명시적으로 말합니다. 이 합의가 없으면 아무도 낙관치를 내놓지 않습니다.
  2. 간트차트에 "프로젝트 버퍼"라는 이름의 행을 마감 직전에 넣습니다. 이 사이트의 WBS·간트차트 도구에서는 마지막 단계의 마지막 하위 행으로 '버퍼(영업일 8일)'처럼 넣으면 막대로 보이고, 전체 기간에도 자동 반영됩니다.
  3. 핵심 경로에 합류하는 가지 끝에도 "피딩 버퍼" 행을 작게 둡니다. 예를 들어 '디자인 → 개발 합류' 지점에 2일.
  4. 버퍼가 얼마나 소진됐는지는 버퍼 행의 비고 칸에 "소진 3/8일"처럼 적습니다. 진행율 칸에 소진 비율을 넣고 싶어지지만, 이 도구는 버퍼 행도 일반 작업처럼 업무량(영업일)에 합산하고 진행율 가중평균에 넣기 때문에, 버퍼를 많이 쓸수록 단계와 전체 진행율이 좋아 보이는 역효과가 납니다.

같은 이유로 버퍼 행의 날짜가 지나가면 진행율을 100%로 바꿔 두세요. 종료일이 지났는데 100% 미만인 행은 자동으로 "지연" 상태가 되어, 실제로는 문제가 없는데 지연 건수에 잡힙니다. 버퍼를 전부 쓰지 않고 끝났다면 남은 일수만큼 버퍼 행의 종료일을 당겨 마감을 앞당길지 팀이 판단하면 됩니다.

버퍼를 눈에 보이게 두면 "그 8일 있으니 기능 하나 더 넣자"는 요청이 반드시 옵니다. 그때 답은 정해져 있습니다. 버퍼는 이미 예상되는 지연을 위해 쓰인 시간이지 남는 시간이 아니라는 것입니다. 단계별 버퍼 배분 예시는 프로젝트 일정 관리 방법에도 있습니다.

버퍼 소진율 모니터링 — 진행 % 대비 소진 % 신호등

버퍼를 끝에 모아 두면 프로젝트의 건강을 숫자 하나로 볼 수 있습니다. 핵심 경로가 얼마나 진행됐는지(진행 %)와 버퍼가 얼마나 소진됐는지(소진 %)를 비교하는 것입니다. 소진 %는 "핵심 경로의 지연 누적 일수 ÷ 버퍼 총 일수"입니다.

상태기준예(버퍼 10일)행동
초록소진 % < 진행 %진행 50%, 지연 누적 3일(소진 30%)정상. 그냥 둠
노랑소진 % ≥ 진행 %, 그러나 100% 미만진행 50%, 지연 누적 6일(소진 60%)회복 계획 준비. 원인 작업 파악, 자원 재배치 검토
빨강소진 % ≥ 100%, 또는 남은 진행률보다 남은 버퍼가 훨씬 적음진행 50%, 지연 누적 10일 이상즉시 실행. 범위 축소·마감 협상·인력 투입 중 하나를 결정

이 표의 좋은 점은 초반 지연에 과민반응하지 않게 해 준다는 것입니다. 진행 20%에 버퍼 15%를 썼다면 초록입니다. 반대로 진행 80%에 버퍼 40%만 썼어도 안심할 수는 있지만, 마지막 20%에 통합·테스트가 몰려 있다면 남은 버퍼 60%가 순식간에 사라지기도 합니다. 그래서 신호등은 매주 같은 요일에 기록해 추세를 봅니다. 3주 연속 소진 %가 진행 %보다 빠르게 오르면 색과 무관하게 노랑으로 취급합니다.

진행 %는 핵심 경로 작업들의 업무량 가중 진행율로 계산합니다. 도구의 대시보드에서 단계별 진행율을 읽어 쓰면 되고, 진행율을 매기는 규칙은 프로젝트 진행율 계산법을 따릅니다.

리스크 목록 양식과 대응 4가지

리스크 목록 — 다섯 열이면 충분하다

버퍼는 "무언가 늦어질 것"에 대한 일반적 대비이고, 리스크 관리는 "무엇이 늦출 것인가"를 구체적으로 적어 두는 것입니다. 둘은 짝입니다. 리스크 목록이 있어야 버퍼 크기의 근거가 생기고, 버퍼가 있어야 리스크가 터졌을 때 대응할 시간이 있습니다. 양식은 다섯 열입니다.

리스크확률영향대응담당
PG사 테스트 계정 발급 지연중(3)상(3) — 결제 연동 1주 지연완화: 착수 2주 전 신청, 모의 서버로 병행 개발백엔드 리더
핵심 개발자 1명 이탈하(1)상(3) — 4주 지연완화: 코드 리뷰로 지식 공유, 문서화 주 1회PM
고객 요구사항 변경상(3)중(2) — 화면 재작업회피: 요구사항 동결 마일스톤 후 변경은 다음 버전으로PO
디자인 외주 납품 지연중(2)중(2)전가: 계약에 지연 시 감액 조항, 중간 납품 2회디자인 리더
추석 연휴 전후 생산성 저하상(3)하(1)수용: 연휴 주간 업무량 50%로 계획PM

확률과 영향은 상·중·하 3단계(또는 1~3점)면 충분합니다. 5단계로 나누면 정밀해지는 게 아니라 논쟁만 늘어납니다. 확률 × 영향이 6 이상(상×중 이상)인 항목만 매주 보고서에 올리고, 나머지는 목록에만 둡니다. 리스크는 보통 5~15개 사이가 관리 가능한 개수이고, 프로젝트 시작 때 팀이 30분 브레인스토밍으로 뽑은 뒤 격주로 갱신합니다.

리스크 대응 4가지 — 회피·완화·전가·수용

대응 열에 이 네 단어 중 하나를 먼저 쓰고 구체 행동을 붙이면(위 표처럼), 팀이 그 리스크를 어떤 태도로 보는지가 분명해집니다.

리스크가 현실이 됐을 때 — 재계획 순서

리스크가 터지면 첫 반응은 대개 "일단 더 열심히"입니다. 그러나 야근으로 메울 수 있는 지연은 2~3일까지입니다. 그 이상이면 계획을 다시 세워야 하고, 순서가 있습니다.

  1. 영향 범위를 숫자로 확정합니다. 어떤 작업이 며칠 밀리는지, 그 작업이 핵심 경로인지 확인합니다. 핵심 경로가 아니면 여유시간 안에서 흡수되고 끝납니다.
  2. 버퍼 소진율을 갱신합니다. 지연 일수를 프로젝트 버퍼에서 차감하고 신호등 색을 다시 봅니다. 초록이면 재계획 없이 버퍼만 씁니다.
  3. 노랑·빨강이면 범위 → 자원 → 일정 순으로 조정 수단을 검토합니다. 먼저 이번 마일스톤에서 뺄 수 있는 범위가 있는지, 다음으로 사람을 옮기거나 병행할 수 있는지(패스트트래킹), 마지막으로 마감을 옮길지 순입니다. 마감을 먼저 옮기는 것은 가장 쉽고 가장 나쁜 선택입니다.
  4. 조정 결과를 간트차트에 반영하고 뒤따르는 작업의 시작일을 다시 계산합니다. 이 사이트 도구에서는 밀린 작업의 종료일을 고치면 영업일 기준 업무량과 상위 그룹의 기간은 다시 계산되지만, 의존 관계 기능이 없어 후행 작업의 날짜는 자동으로 밀리지 않습니다. 비고 칸에 적어 둔 선행 관계를 따라 뒤 작업을 한 줄씩 옮기고, 마지막으로 프로젝트 버퍼 행이 얼마나 줄었는지 확인합니다.
  5. 이해관계자에게 알립니다. 무엇이 왜 바뀌었고 마감에 영향이 있는지 없는지를 한 문단으로. 이 단계를 빼면 다음에 리스크를 미리 말할 때 아무도 믿지 않습니다.
  6. 리스크 목록에 "현실화됨"으로 표시하고 대응이 효과가 있었는지 한 줄 기록합니다. 다음 프로젝트의 버퍼 산정 데이터가 됩니다.

재계획의 세부 절차와 예시는 프로젝트 일정 관리 방법의 '변경이 생겼을 때 재계획 순서'를 함께 보세요.

외부 의존에는 유독 큰 버퍼를 두는 이유

승인·심사·납품·발급처럼 우리가 통제하지 못하는 작업은 다른 작업과 성격이 다릅니다. 내부 작업은 늦으면 야근·인력 추가·범위 조정 같은 수단이 있지만, 외부 작업은 기다리는 것 외에 할 수 있는 게 거의 없습니다. 게다가 외부의 "3영업일"은 그쪽 기준의 정상 상황에서의 3일이고, 서류 미비나 담당자 부재가 끼면 쉽게 두 배가 됩니다.

작은 팀을 위한 최소 버전

3~5명 팀에서 CCPM 용어를 다 쓸 필요는 없습니다. 아래 다섯 가지만 지켜도 효과의 대부분을 얻습니다.

  1. 작업 기간은 "보통 걸리는 시간"으로 잡고, 팀에 "늦어도 괜찮다, 버퍼가 따로 있다"고 말한다.
  2. 간트차트 맨 끝에 "버퍼" 행 하나를 전체 기간의 20% 크기로 둔다. 외부 의존이 있으면 그 앞에 하나 더.
  3. 리스크는 5개만 적는다. 리스크·확률·영향·대응·담당 다섯 열. 격주로 5분 갱신.
  4. 매주 금요일 "진행 % / 버퍼 소진 %" 두 숫자를 적고 초록·노랑·빨강을 표시한다.
  5. 노랑이 2주 연속이면 범위를 먼저 줄인다. 마감을 옮기는 것은 마지막이다.

이 최소 버전은 회의 없이도 굴러갑니다. 핵심은 버퍼가 눈에 보이는 곳에 있고, 소진 여부를 매주 숫자로 확인한다는 두 가지입니다. 이 둘이 없으면 어떤 정교한 방법도 "이번엔 정말 열심히 하자"로 돌아갑니다.

자주 묻는 질문

버퍼를 두면 팀이 그만큼 느슨해지지 않나요?

각 작업 안에 버퍼를 숨겨 두면 그렇게 됩니다. 마감 직전에 시작하는 학생 증후군과 주어진 시간을 다 쓰는 파킨슨 법칙 때문입니다. 그래서 작업 기간은 보통 걸리는 시간으로 짧게 잡고, 버퍼는 프로젝트 끝에 '버퍼'라는 이름의 행으로 모아 둡니다. 개별 작업은 빠듯하게 움직이고 지연은 공용 버퍼에서 흡수하므로, 오히려 팀은 긴장을 유지하면서도 마감을 지킬 수 있습니다.

버퍼 크기는 몇 %가 적당한가요?

작업 기간을 낙관치에 가깝게 잡았다는 전제에서 프로젝트 버퍼는 핵심 경로 길이의 20~30%, 피딩 버퍼는 가지 길이의 10~15%가 현실적인 출발점입니다. 승인·납품 같은 외부 의존 작업은 약속 기간의 50~100%를 얹습니다. 정확한 값은 지난 프로젝트의 계획 대비 실제 기간 비율을 작업 유형별로 기록해 두면 얻을 수 있으니, 이번 프로젝트부터 마일스톤별 계획일과 실제일을 남기세요.

버퍼 소진율은 어떻게 계산하고 언제 위험한가요?

핵심 경로의 지연 누적 일수를 버퍼 총 일수로 나눈 값이 소진율입니다. 이를 핵심 경로의 진행율과 비교해, 소진율이 진행율보다 낮으면 초록, 진행율 이상이면 노랑, 100%에 이르렀거나 남은 진행분에 비해 남은 버퍼가 훨씬 적으면 빨강입니다. 매주 같은 요일에 기록해 추세를 보고, 3주 연속 소진율이 진행율보다 빠르게 오르면 색과 무관하게 노랑으로 다룹니다.

리스크 대응 4가지(회피·완화·전가·수용)는 어떻게 고르나요?

원인을 계획에서 아예 없앨 수 있으면 회피, 확률이나 영향을 줄이는 행동이 가능하면 완화, 계약이나 보험으로 영향을 다른 쪽이 지게 할 수 있으면 전가, 확률이 낮거나 대응 비용이 영향보다 크면 수용입니다. 실무에서는 완화가 가장 많고, 수용은 아무것도 하지 않기로 '결정'한 것이므로 터졌을 때 쓸 버퍼를 확보해 두어야 합니다. 대응 열에 네 단어 중 하나를 먼저 쓰고 구체 행동을 붙이면 팀의 태도가 분명해집니다.

정리

일정은 낙관 편향·의존성·인터럽트 때문에 구조적으로 늦어집니다. 그래서 작업 기간은 보통 걸리는 시간으로 잡고, 여유는 각 작업에 숨기지 말고 프로젝트 끝의 프로젝트 버퍼와 합류점의 피딩 버퍼로 모아 눈에 보이게 둡니다. 크기는 경로 길이의 20~30%에서 시작해 3점 추정과 과거 데이터로 다듬고, 외부 의존 작업에는 50~100%를 얹습니다. 매주 진행 % 대비 버퍼 소진 %를 신호등으로 기록하고, 리스크는 다섯 열 양식에 5~15개만 적어 회피·완화·전가·수용 중 하나로 대응을 정합니다. 리스크가 터지면 범위 → 자원 → 일정 순으로 조정하고 이해관계자에게 알립니다. 작은 팀이라면 버퍼 행 하나, 리스크 5개, 금요일 숫자 두 개로 시작해도 충분합니다.

버퍼를 '버퍼' 이름의 행으로 눈에 보이게 넣고, 소진 일수는 비고 칸에 적어 두세요. 영업일은 주말과 등록한 공휴일을 빼고 자동으로 계산되고, 대시보드에서 단계별 진행율과 지연 건수를 한 화면에 볼 수 있습니다.

WBS·간트차트 도구 열기

→ 크리티컬 패스 계산법 · → 프로젝트 일정 관리 방법 · → 주간 업무 보고서 쓰는 법