칸반

기술노트

📊 칸반 (Kanban)

칸반은 일본 도요타 자동차에서 시작된 생산 관리 시스템으로, 소프트웨어 개발에서는 작업의 흐름(Workflow)을 시각화하고, 진행 중인 작업(WIP, Work In Progress)의 수를 제한하여, 팀의 작업 처리량을 극대화하는 것을 목표로 하는 애자일 개발 방법론입니다.

'칸반(看板)'은 일본어로 '간판' 또는 '게시판'을 의미하며, 이름처럼 시각적인 보드를 사용하는 것이 특징입니다.


🧱 칸반 보드의 구성 요소

칸반 보드는 작업의 흐름을 나타내는 여러 개의 열(Column)로 구성됩니다.

  • 작업 항목 (Work Item) : 수행해야 할 각각의 작업을 나타내는 카드.
  • 열 (Column) : 작업의 각 단계를 나타냅니다. 가장 단순한 형태는 `To Do(할 일)`, `In Progress(진행 중)`, `Done(완료)` 세 개의 열로 구성됩니다.
  • WIP 제한 (WIP Limit) : 각 열, 특히 `In Progress` 열에 동시에 존재할 수 있는 작업 카드의 최대 개수를 제한하는 것입니다. 칸반의 가장 핵심적인 규칙입니다.

🤔 WIP 제한은 왜 중요한가?

개발자들이 여러 작업을 동시에 진행하면, 잦은 문맥 교환(Context Switching)으로 인해 오히려 효율이 떨어지고, 작업 완료 시간은 더 길어집니다. WIP 제한은 팀이 한 번에 너무 많은 작업을 벌이는 것을 막고, 진행 중인 작업을 마무리하는 데 집중하도록 유도합니다.

이를 통해, 병목 현상이 어디서 발생하는지 쉽게 파악하고, 작업이 멈춤 없이 부드럽게 흘러가도록 하여, 전체적인 리드 타임(작업 시작부터 완료까지 걸리는 시간)을 단축시킬 수 있습니다.


🆚 스크럼과의 비교

칸반과 스크럼은 모두 애자일 방법론이지만, 몇 가지 차이점이 있습니다.

  • 반복 주기 : 스크럼은 '스프린트'라는 고정된 길이의 주기를 가지지만, 칸반은 별도의 반복 주기가 없습니다.
  • 변경 : 스크럼은 스프린트 도중에 작업을 추가하는 것을 엄격히 제한하지만, 칸반은 WIP 제한을 넘지 않는 선에서 새로운 작업을 비교적 유연하게 추가할 수 있습니다.
  • 역할 : 스크럼은 PO, SM 등 정해진 역할이 있지만, 칸반은 별도의 역할을 요구하지 않습니다.

칸반은 유지보수 팀이나 예측 불가능한 요청이 잦은 업무에, 스크럼은 새로운 제품을 개발하는 프로젝트에 더 적합할 수 있습니다.


💡 기술사 핵심 Point

  • 칸반의 핵심 목표는 작업 흐름의 시각화WIP 제한을 통한 프로세스 최적화입니다.
  • 칸반은 팀이 현재의 프로세스를 바꾸지 않고도 바로 적용할 수 있는 매우 유연한 방법론입니다. "지금 하는 방식 그대로 시작하라"는 것이 칸반의 원칙 중 하나입니다.
  • 칸반은 리드 타임사이클 타임과 같은 지표를 통해 팀의 작업 처리량을 측정하고, 이를 기반으로 프로세스를 지속적으로 개선해 나갑니다.