간트 차트는 언제 쓰나요?
간트 차트(Gantt chart)는 작업마다 시작일부터 종료일까지를 가로 막대로 그려, 어떤 일이 언제 겹치고 언제 이어지는지 한 화면에 보여주는 일정표입니다. 인테리어 공사, 행사 준비, 앱 출시, 논문 제출처럼 "여러 작업이 날짜 위에 걸쳐 있는" 일에 쓰기 좋고, 하루짜리 할 일 목록에는 어울리지 않습니다. 목록으로는 보이지 않는 겹침(같은 주에 세 작업이 몰리는 구간)과 빈 구간(아무도 일하지 않는 주)이 막대의 위치만 봐도 드러난다는 것이 가장 큰 장점입니다. 간트 차트라는 이름은 이 형식을 정리해 보급한 헨리 간트(Henry Gantt)에서 왔다고 알려져 있습니다.
이 도구에서 막대가 그려지는 방식
등록된 작업 중 가장 이른 시작일과 가장 늦은 종료일을 찾아 그 사이를 전체 폭(100%)으로 삼습니다. 종료일 당일도 작업일에 포함하므로 전체 일수 = 마지막 종료일 - 첫 시작일 + 1입니다. 각 막대는왼쪽 위치 = (작업 시작일 - 첫 시작일) ÷ 전체 일수, 폭 = 작업 일수 ÷ 전체 일수로 계산합니다. 하루짜리 작업이 너무 가늘어 보이지 않도록 폭은 최소 3%로 보정합니다. 날짜는 브라우저의 로컬 날짜(자정 기준)로 계산하므로 한국에서 쓰면 한국 날짜 그대로 맞습니다. 오늘이 전체 기간 안에 있으면 빨간 점선이 표시되고, 기간 밖이면 표시되지 않습니다.
이 계산은 달력 일수 기준입니다. 주말과 공휴일을 제외한 영업일 기준 일정이 필요하면 아래 두 번째 표처럼 종료일을 먼저 정한 뒤 입력하거나, 영업일 계산기로 날짜를 구해 오세요.
참고표 1. 예시 일정이 막대 좌표로 바뀌는 과정
카페 리뉴얼 공사를 가정한 다섯 작업입니다(2026년 3월 2일 월요일 시작). 첫 시작일이 3/2, 마지막 종료일이 4/3이므로 전체 일수는 33일입니다. 아래 표는 이 도구와 같은 식으로 계산한 값입니다.
| 작업 | 기간 | 달력 일수 | 평일 수 | 왼쪽 위치 | 막대 폭 |
|---|---|---|---|---|---|
| 철거·정리 | 3/2(월) ~ 3/6(금) | 5일 | 5일 | 0.0% | 15.2% |
| 전기·배관 | 3/4(수) ~ 3/13(금) | 10일 | 8일 | 6.1% | 30.3% |
| 바닥·벽 마감 | 3/11(수) ~ 3/24(화) | 14일 | 10일 | 27.3% | 42.4% |
| 가구 설치 | 3/23(월) ~ 3/27(금) | 5일 | 5일 | 63.6% | 15.2% |
| 시범 운영 | 3/30(월) ~ 4/3(금) | 5일 | 5일 | 84.8% | 15.2% |
'바닥·벽 마감'(3/11~3/24)은 달력으로 14일이지만 주말 4일이 끼어 있어 실제 평일은 10일입니다. 막대는 14일 길이로 그려지므로 "막대가 길다 = 인력이 많이 든다"로 읽으면 안 됩니다. 또 '전기·배관'과 '바닥·벽 마감'이 3/11~3/13에 겹치는 것이 막대의 겹침으로 바로 보이는데, 이런 구간이 담당자 충돌이 생기는 곳입니다.
참고표 2. 평일 N일 작업은 달력으로 며칠인가
월요일(3/2)에 시작해 주말을 쉬는 작업을 입력할 때 종료일을 정하는 기준입니다.
| 평일 작업일 | 종료일 | 막대 길이(달력 일수) |
|---|---|---|
| 3일 | 3/4(수) | 3일 |
| 5일 | 3/6(금) | 5일 |
| 6일 | 3/9(월) | 8일 |
| 10일 | 3/13(금) | 12일 |
| 15일 | 3/20(금) | 19일 |
| 20일 | 3/27(금) | 26일 |
5일 작업은 금요일에 끝나 막대가 5일이지만, 6일 작업은 다음 주 월요일까지 걸쳐 8일 막대가 됩니다. 주말을 하루도 쉬지 않는 일이면 달력 일수와 작업일이 같으니 표 대신 그대로 입력하면 됩니다.
단계별 사용법
- 큰 단위로 작업 5~15개를 나눕니다. 하루 단위 할 일까지 넣으면 막대가 빽빽해져 읽을 수 없습니다.
- 작업마다 이름, 시작일, 종료일을 넣고 추가합니다. 입력 오류가 있으면 입력칸 아래에 안내가 표시됩니다.
- 시작일이 이른 순으로 자동 정렬됩니다. 위에서 아래로 막대가 계단처럼 내려가는 모양이 이상적입니다.
- 위쪽 요약 칩에서 전체 기간, 작업 수, 가장 긴 작업을 확인합니다.
- 필요하면 "일정 텍스트 복사"로 작업별 날짜 목록을 복사해 메신저나 문서에 붙여 넣습니다.
이 페이지만의 읽기 예시: 일정이 밀렸을 때
위 예시에서 '바닥·벽 마감'이 3/24 대신 3/31에 끝난다고 가정해 봅니다. 다음 작업인 '가구 설치'는 3/23에 시작하도록 잡혀 있었으므로, 막대를 다시 그리면 두 막대의 겹침이 2일(3/23~3/24)에서 5일(가구 설치 전체)로 늘어납니다. 이 도구는 의존 관계를 자동으로 밀어 주지 않으므로 사람이 가구 설치 시작일을 3/31 이후로 옮기고 시범 운영 날짜까지 연쇄적으로 고쳐야 합니다. 막대가 계단 모양에서 벗어나 아래 작업이 위 작업과 겹치기 시작하면 "선행 작업이 끝나기 전에 다음 작업을 시작하는 계획"이라는 신호로 읽으면 됩니다.
참고표 3. 하루짜리 작업은 왜 일정 길이보다 굵게 보이나
막대 폭은 작업 일수 ÷ 전체 일수이지만 화면에서는 3% 아래로 줄지 않도록 보정합니다. 전체 기간이 길수록 하루짜리 작업이 실제보다 굵게 그려지므로, 막대 길이를 일수의 비례로 읽으면 안 되는 경계를 아래에서 확인하세요. 마지막 열은 3% 보정 없이 정확한 비율로 그려지기 시작하는 최소 작업 일수입니다.
| 전체 기간(일) | 하루짜리의 실제 비율 | 화면 표시 폭 | 정확한 비율이 되는 최소 작업 일수 |
|---|---|---|---|
| 14일 | 7.14% | 7.14% | 1일 |
| 30일 | 3.33% | 3.33% | 1일 |
| 60일 | 1.67% | 3.00% | 2일 |
| 90일 | 1.11% | 3.00% | 3일 |
| 180일 | 0.56% | 3.00% | 6일 |
| 365일 | 0.27% | 3.00% | 11일 |
전체가 365일인 연간 계획에서 1일짜리 마감일은 0.27%여야 하지만 3%로 그려져 실제의 약 11배입니다. 이런 점 같은 이벤트는 막대의 길이가 아니라 위치만 읽고, 일수는 라벨 옆 숫자(예: 1일)로 확인하세요. 또 마지막 날에 끝나는 하루짜리 작업은 보정 폭이 트랙 오른쪽 끝을 조금 넘겨 보일 수 있습니다. 위치는 시작일 기준이라 날짜 해석에는 영향이 없습니다.
시나리오 1. 6주 앱 출시 계획 (2026년 5월 4일 시작)
소규모 팀이 앱을 출시하는 계획입니다. 첫 시작일이 5/4, 마지막 종료일이 6/26이므로 전체 일수는 54일입니다. 디자인과 개발이 일부러 겹치도록(5/18~5/22) 잡았다는 점이 핵심입니다.
| 작업 | 기간 | 달력 일수 | 평일 수 | 왼쪽 위치 | 막대 폭 |
|---|---|---|---|---|---|
| 요구사항 정리 | 5/4(월) ~ 5/8(금) | 5일 | 5일 | 0.0% | 9.3% |
| 디자인 | 5/11(월) ~ 5/22(금) | 12일 | 10일 | 13.0% | 22.2% |
| 개발 | 5/18(월) ~ 6/12(금) | 26일 | 20일 | 25.9% | 48.1% |
| QA | 6/8(월) ~ 6/19(금) | 12일 | 10일 | 64.8% | 22.2% |
| 출시 준비 | 6/22(월) ~ 6/26(금) | 5일 | 5일 | 90.7% | 9.3% |
개발은 26일(평일 20일)로 전체의 48.1%를 차지하는 가장 긴 막대입니다. 디자인과 개발이 겹치는 5일, 개발과 QA가 겹치는 6/8~6/12 5일은 "앞 작업이 완전히 끝나기 전에 뒤 작업을 시작하는" 구간이라 팀원이 같은 사람이면 불가능한 계획입니다. 차트에서 이 겹침이 보이면 담당자가 다른지부터 확인하세요. 출시 준비 막대가 마지막 5일뿐이라 QA에서 문제가 발견되어 일정이 밀리면 흡수할 여유가 없다는 점도 막대 배치만 보고 알 수 있습니다.
시나리오 2. 선행 작업이 밀리면 후속 작업을 어떻게 옮기나
앞의 공사 예시에서 '바닥·벽 마감'이 3/31까지 늘어나 '가구 설치'를 4/1(수)부터 시작해야 한다고 가정해 보겠습니다. 이 도구는 의존 관계를 자동으로 밀지 않으므로 직접 입력을 고쳐야 합니다. 가구 설치의 시작을 3/23에서 4/1로 9일 미루면 같은 달력 일수를 유지한 채 가구 설치는 4/1(수)~4/5(일), 시범 운영은 3/30에서 4/8(수)로 9일 밀려 4/8(수)~4/12(일)이 됩니다. 전체 기간은 33일에서 42일로 늘어납니다. 다만 4/5와 4/12가 일요일이므로 평일에만 일하는 공사라면 이 날짜를 그대로 쓰지 말고 다음 영업일로 다시 정해야 합니다. 이렇게 한 작업의 지연이 전체 종료일에 얼마나 반영되는지 숫자로 확인하는 것이 일정 재조정의 첫 단계입니다.
시나리오 3. 논문·보고서 제출처럼 마감이 정해진 일
마감일이 고정된 일은 막대를 마감에서 거꾸로 배치합니다. 마지막 막대를 마감 2~3일 전에 끝나도록 두고, 그 앞에 검토·수정 막대를 먼저 놓은 뒤 자료 조사와 초안 막대를 앞으로 채우는 순서입니다. 학생 개인의 일은 담당자가 모두 한 명이므로 막대가 겹치는 구간이 곧 "하루에 두 가지를 해야 하는 날"입니다. 겹침이 길면 하나를 앞당기거나 기간을 줄이세요. 종료일 직전 며칠을 비워 두면 차트에서 마지막 막대 뒤에 빈 구간으로 보이므로 계획에 여유가 있다는 시각적 확인이 됩니다.
입력값과 경계 사례
- 작업이 하나뿐일 때: 전체 일수가 그 작업의 일수와 같아 막대가 트랙 전체를 채웁니다. 작업이 둘 이상일 때부터 비교가 의미 있습니다.
- 종료일이 시작일보다 이른 입력: 두 날짜를 맞바꿔 저장하고 안내를 보여 줍니다. 오타인지 의도인지 확인 후 다르면 삭제하고 다시 입력하세요.
- 날짜 입력 형식: 연-월-일(YYYY-MM-DD) 형식의 날짜만 받습니다. 연도를 5자리 이상으로 입력하는 등 형식이 어긋나면 안내 문구가 나옵니다.
- 같은 이름의 작업: 허용됩니다. 이름이 같아도 삭제는 각 행의 ✕로 개별 처리되며 색은 등록 순서(6색 반복)로 정해집니다.
- 이름이 긴 경우: 왼쪽 라벨 폭이 제한되어 있어 여러 줄로 줄바꿈됩니다. 막대 위치에는 영향이 없지만 가독성을 위해 12~16자 이내를 권합니다.
- 오늘 위치 선: 오늘이 첫 시작일 이전이거나 마지막 종료일 이후면 표시되지 않고 범례에 그 이유가 적힙니다.
일정표를 팀과 공유할 때
이 도구의 차트는 화면에서 보는 용도이므로 팀에 공유할 때는 "일정 텍스트 복사"로 작업명: 시작일 ~ 종료일 (일수) 형식의 목록을 붙여 넣고, 화면 캡처를 함께 첨부하는 방식이 가장 간단합니다. 텍스트에는 달력 일수가 적혀 있으니 받는 사람이 평일 기준과 혼동하지 않도록 "달력 일수 기준"이라고 한 줄 덧붙이세요. 일정이 바뀌면 이전 캡처와 날짜를 구분할 수 있게 파일 이름에 작성일을 넣어 두면 어떤 버전을 보고 있는지 혼동이 줄어듭니다.
흔한 실수와 한계
- 작업을 너무 잘게 쪼갬: 일정표가 길어지면 관리 자체가 일이 됩니다. 일주일 이상 걸리는 덩어리 위주로 나누세요.
- 여유 기간 없음: 모든 막대가 빈틈없이 이어진 계획은 한 작업만 밀려도 전체가 밀립니다. 마지막에 예비 기간 막대를 하나 두는 방법이 있습니다.
- 종료일 포함 여부 혼동: 이 도구는 종료일 당일까지 작업하는 것으로 계산합니다. 3/2 시작, 3/6 종료는 5일입니다.
- 의존 관계·진척률·담당자 미지원: 선행 작업 화살표, 완료율 표시, 자원 배분 기능은 없습니다. 작업명에 "(김OO)"처럼 담당자를 적어 두는 정도로 보완하세요.
- 이미지·인쇄용 출력 미지원: 화면 캡처나 브라우저 인쇄로 저장하고, 공식 프로젝트 문서에는 전용 도구를 쓰는 편이 안전합니다.
결과 활용법
완성된 차트에서 먼저 볼 것은 세 가지입니다. 첫째, 같은 시기에 막대가 3개 이상 겹치는 주가 있는지(담당자가 겹치면 사실상 불가능한 계획일 수 있음). 둘째, 막대가 하나도 없는 빈 구간이 있는지(일정이 비는 이유가 합리적인지). 셋째, 마지막 막대의 종료일이 실제 마감 전에 끝나는지입니다. 마감일에서 거꾸로 일정을 짜고 싶다면 마감 역산 플래너가 시작점을 잡는 데 도움이 되고, 팀의 반복 작업 속도를 재려면 스프린트 속도 추적 도구를 쓰세요. 작업을 카드 상태로 관리하는 데는 칸반보드 도구가 맞습니다.
관련 도구: 영업일 계산기, 마감 역산 플래너,칸반보드 도구, 스프린트 속도 추적 도구
저장 위치와 삭제 방법
입력한 작업은 서버로 전송되지 않고 이 브라우저의 localStorage(키 이름 pib-gantt-chart-maker-v1)에만 저장됩니다. 다른 기기나 다른 브라우저와는 동기화되지 않으며, 같은 기기라도 시크릿 창이나 사이트 데이터 삭제 후에는 사라질 수 있습니다. 개별 작업은 막대 오른쪽의 ✕로, 전체는 "전체 초기화"로 지울 수 있고, 중요한 일정은 "일정 텍스트 복사"로 따로 보관해 두세요.
자주 묻는 질문
종료일을 시작일보다 이전으로 입력하면 어떻게 되나요?
두 날짜를 자동으로 바꿔 저장하고, 바뀌었다는 안내를 입력칸 아래에 표시합니다. 일정이 의도와 다르면 해당 작업을 삭제하고 다시 입력하세요.
작업 간 의존 관계(선행 작업)도 표시할 수 있나요?
작업별 기간만 막대로 표시하며 화살표 연결은 지원하지 않습니다. 작업명에 "도장 완료 후"처럼 메모를 적고, 막대가 겹치는지 눈으로 확인하는 방식으로 대신하세요.
주말·공휴일을 빼고 계산할 수 있나요?
막대는 달력 일수로 그려집니다. 영업일 기준 종료일은 참고표 2나 영업일 계산기로 구해 입력하세요.
작업을 수정하려면 어떻게 하나요?
수정 기능은 없습니다. 해당 작업을 ✕로 삭제한 뒤 다시 추가하면 되고, 막대 색은 등록 순서에 따라 정해집니다.
작업 수에 제한이 있나요?
코드상 제한은 없지만 15개를 넘으면 한 화면에서 읽기 어려워집니다. 큰 프로젝트는 단계별로 차트를 나누어 쓰는 것이 좋습니다.
막대 색깔에 의미가 있나요?
색은 등록 순서에 따라 6가지가 돌아가며 붙을 뿐 중요도나 담당자를 뜻하지 않습니다. 구분이 필요하면 작업명에 담당자나 단계를 적으세요.
작업을 순서대로 입력하지 않아도 되나요?
입력 순서와 상관없이 화면에서는 시작일이 이른 순으로 정렬됩니다. 다만 색은 입력 순서로 정해지고 삭제 위치도 원래 순서를 기준으로 처리됩니다.
하루에 끝나는 작업은 시작일과 종료일을 같게 넣나요?
그렇습니다. 종료일 당일도 포함하므로 같은 날짜를 넣으면 1일짜리 작업으로 계산됩니다. 막대 폭은 참고표 3처럼 최소 3%로 보정됩니다.
공휴일이 낀 일정은 어떻게 입력하나요?
공휴일은 따로 인식하지 않습니다. 쉬는 날 때문에 작업이 늘어난다면 종료일을 그만큼 뒤로 잡아 입력하세요. 공휴일은 해마다 달라지는 대체공휴일 등이 있으므로 해당 연도의 공식 달력을 확인하세요.