[Agile] Kanban이란 무엇이며 Scrum과의 차이점
Scrum대비 Kanban의 차이 기본적으로 스크럼이 많이 알려진 방법론이지만 현재 업무에서는 칸반을 사용하고 있어 이에 대하여 정리해 보았다.
칸반(Kanban) 이란?
일본어로 간판 이란 뜻이 어원으로 눈에 보이는 기록을 통해 제품을 개발하는 방법을 말한다.
많이 알려진 Scrum(Scrum이란? 참조)에 비해 Kanban은 조금 더 규범적이지 않은(rule이 적은) 개발 방법론이라고 할 수 있다.
칸반과 스크럼의 차이점
차이점 중 대표적인 몇 가지를 정리하면 이렇다.
-
역할을 지정하지 않는다. 스크럼은 일반적으로 제품책임자/개발팀/스크럼 마스터 로 나뉘는데 반해 칸반은 이를 자유롭게 지정할 수 있다. (물론 스크럼도 유연하게 변경 가능하다)
-
기간이 고정된 이터레이션을 사용하지 않는다. 스크럼은 스프린트를 통하여 계획/개선/릴리즈 와 같은 단계를 밟아가며 경험적으로 개선해 나가지만, 칸반의 경우에는 이를 고정하지 않는다. 필요하면 스프린트의 이터레이션을 사용해도 좋고, 필요할 때마다 릴리즈하도록 지정할 수 있다.
-
워크플로우 상태에 기반하여 WIP(work in process)를 제한한다. 앞서 말했듯이 스프린트는 경험에 기반하여 매 스프린트마다 계획하는 일의 양을 조정하며 속도를 측정하지만, 칸반은 이터레이션을 사용하지 않기 때문에 워크플로우 상태에 WIP제한을 지정하여 일의 속도를 조절 및 파악한다. (보드 그림의 상태 이름 아래에 있는 숫자가 WIP를 의미하며 이를 넘는 아이템이 상태로 옮겨질 수 없다는 것을 의미한다)
-
이터레이션 내에서 변경이 가능하다. 스크럼은 변경이 발생할 경우 현재 스프린트의 아이템을 변경하지 않고 다음 스프린트 계획에 포함시키는 것에 비해 칸반은 백로그에 언제든지 아이템을 추가할 수 있다. 다만 이를 다음 상태로 전환할 때 앞서 말했던 WIP제한을 통해 상태별로 할 수 있는 아이템을 제한시켜 우선순위별로 처리될 수 있도록 할 것이다.
-
보드는 초기화되지 않는다. 스크럼은 스프린트마다 새롭게 보드를 구성하며 시작 시에 할일에 대부분, 끝날 때 완료에 대부분 아이템이 위치하는 반면 칸반은 그럴 필요가 없다. 따라서 칸반은 항상 할일/진행 중/완료 에 자유롭게 아이템이 위치하고 있다.
칸반과 스크럼 중 어떤 것을 사용해야 하나?
깊게 들어가면 더 많은 차이점이 있지만 결국 칸반과 스크럼 둘 다 경험적으로 일을 개선하며 릴리즈한다는데 같은 목표가 있다. 음식을 먹을 때 포크와 젓가락 중 무엇을 고르냐는 음식의 종류에 따라 적절한 것을 고르는 것과 같이 제품이나 서비스의 성격에 맞추어 선택하여야 한다. 결국 둘 다 일을 할 때 쓰이는 도구이기 때문에 더 효율적인 도구를 찾아 그 도구를 손에 맞게 변형하여 사용한다고 생각하면 쉬울 것이다.