다음을 통해 공유


Kanban이란?

Kanban 은 간판 또는 광고판을 의미하는 일본어 용어입니다. 오노 타이이치라는 산업 엔지니어가 도요타 자동차 회사에서 칸반을 개발하여 제조 효율성을 개선했습니다.

Kanban은 제조를 위해 만들어졌지만 소프트웨어 개발은 흐름 및 처리량 증가와 같은 많은 동일한 목표를 공유합니다. 소프트웨어 개발 팀은 Kanban 지침 원칙 및 방법을 사용하여 효율성을 개선하고 사용자에게 더 빠르게 가치를 제공할 수 있습니다.

Image that shows people using Kanban boards.

Kanban 원칙

Kanban을 채택하려면 팀의 이전 방법과 다를 수 있는 몇 가지 기본 사례를 준수해야 합니다.

작업 시각화

개발 팀 상태 및 작업 진행 상황을 이해하는 것은 어려울 수 있습니다. 작업 진행률 및 현재 상태는 작업 항목 또는 문서 목록보다는 시각적으로 표시될 때 더 쉽게 이해할 수 있습니다.

작업의 시각화는 Kanban이 주로 Kanban 보드를 통해 해결하는 핵심 원칙입니다. 이러한 보드는 진행률별로 구성된 카드 사용하여 전반적인 상태 전달합니다. 보드에서 카드 작업을 시각화하면 프로젝트가 현재 있는 위치에 대한 큰 그림을 쉽게 볼 수 있을 뿐만 아니라 생산성에 영향을 줄 수 있는 잠재적인 병목 상태를 식별하는 데 도움이 됩니다.

Diagram showing a Kanban board.

끌어오기 모델 사용

지금까지 이해 관계자는 작업 시간을 개발 팀에 푸시하여 기능을 요청했으며, 최종 기한이 촉박한 경우가 많습니다. 팀이 기간 내에 기능을 제공하기 위해 바로 가기를 수행해야 하는 경우 품질이 저하되었습니다.

Kanban은 기본 작업을 고려하기 전에 충족해야 하는 합의된 품질 수준을 달성하는 데 중점을 둡니다. 이 모델을 지원하기 위해 관련자는 이미 용량에서 작업 중인 팀에서 작업을 푸시하지 않습니다. 대신 관련자는 용량을 사용할 수 있게 되면 팀이 워크플로에 끌어오는 요청을 백로그에 추가합니다.

WIP 제한 적용

한 번에 너무 많은 작업을 시도하는 팀은 빈번하고 비용이 많이 드는 컨텍스트 전환으로 인해 생산성이 저하될 수 있습니다. 팀은 바쁘지만 작업이 완료되지 않아 리드 타임이 허용할 수 없을 정도로 높습니다. 팀이 한 번에 작업할 수 있는 백로그 항목 수를 제한하면 컨텍스트 전환을 줄이면서 포커스를 늘리는 데 도움이 됩니다. 팀이 현재 작업 중인 항목을 WIP(진행 중인 작업)라고 합니다.

팀은 WIP 제한 또는 한 번에 작업할 수 있는 최대 항목 수를 결정합니다. 잘 훈련된 팀은 WIP 제한을 초과하지 않도록 합니다. 팀이 WIP 제한을 초과하는 경우 이유를 조사하고 근본 원인을 해결하기 위해 노력합니다.

지속적인 개선 측정

지속적인 개선을 연습하기 위해 개발 팀은 효율성과 처리량을 측정하는 방법이 필요합니다. Kanban 보드는 워크플로의 작업 상태에 대한 동적 보기를 제공하므로 팀은 프로세스를 실험하고 워크플로에 미치는 영향을 보다 쉽게 평가할 수 있습니다. 지속적인 개선을 위해 Kanban을 수용하는 팀은 리드 타임 및 주기 시간과 같은 측정값을 사용합니다.

Kanban 보드

Kanban 보드는 팀이 Kanban 사례를 구현하는 데 사용하는 도구 중 하나입니다. Kanban 보드는 열로 정렬된 카드 표시하는 물리적 보드 또는 소프트웨어 애플리케이션일 수 있습니다. 일반적인 열 이름은 할 일, 수행 및 완료이지만 팀은 워크플로 상태와 일치하도록 이름을 사용자 지정할 수 있습니다. 예를 들어 팀은 New, Development, Testing, UATDone을 사용하는 것을 선호할 수 있습니다.

소프트웨어 개발 기반 Kanban 보드는 제품 백로그 항목에 해당하는 카드 표시합니다. 카드 작업 및 테스트 사례와 같은 다른 항목에 대한 링크가 포함됩니다. Teams는 프로세스와 관련된 정보를 포함하도록 카드 사용자 지정할 수 있습니다.

Screenshot of a software development Kanban board.

Kanban 보드에서 WIP 제한은 진행 중인 모든 열에 적용됩니다. WIP 제한은 첫 번째 열과 마지막 열에 적용되지 않습니다. 이러한 열은 시작되지 않았거나 완료된 작업을 나타내기 때문입니다. Kanban 보드는 한도를 초과하는 열에 주의를 기울여 팀이 WIP 한도 내에서 유지되도록 도와줍니다. 그러면 팀에서 병목 상태를 제거하기 위한 작업 과정을 결정할 수 있습니다.

누적 흐름 다이어그램

소프트웨어 개발 기반 Kanban 보드에 일반적인 추가는 CFD(누적 흐름 다이어그램)라는 차트입니다. CFD는 일반적으로 몇 주에 걸쳐 시간 경과에 따른 각 상태의 항목 수를 보여 줍니다. 가로 축은 타임라인 표시하고 세로 축은 제품 백로그 항목 수를 표시합니다. 색이 지정된 영역은 카드 현재 있는 상태 또는 열을 나타냅니다.

CFD는 병목 상태 및 진행 속도에 대한 기타 중단을 포함하여 시간에 따른 추세를 식별하는 데 특히 유용합니다. 좋은 CFD는 팀이 프로젝트를 진행하는 동안 일관된 상승 추세를 보여줍니다. 팀이 WIP 제한 내에서 작업하는 경우 차트 전체의 색이 지정된 영역은 대략 병렬이어야 합니다.

Image showing a cumulative flow diagram.

하나 이상의 색이 지정된 영역의 부푼 것은 일반적으로 팀 흐름의 병목 상태 또는 장애를 나타냅니다. 다음 CFD에서는 녹색으로 완성된 작업이 평평하고 파란색의 테스트 상태가 병목 현상으로 인해 증가하고 있습니다.

Image showing a bottleneck in a cumulative flow diagram.

Agile 개발의 Kanban 및 스크럼

Agile 개발우산 아래에 광범위하게 맞추는 동안 스크럼과 칸반은 매우 다릅니다.

  • 스크럼은 고정 길이 스프린트에 중점을 두고 Kanban은 연속 흐름 모델입니다.
  • 스크럼은 역할을 정의했으며 Kanban은 팀 역할을 정의하지 않습니다.
  • 스크럼은 속도를 주요 메트릭으로 사용하고 Kanban은 주기 시간을 사용합니다.

팀은 일반적으로 스크럼과 칸반의 측면을 채택하여 가장 효과적으로 작업할 수 있도록 지원합니다. 어떤 특성을 선택하든 팀은 가장 적합한 특성을 찾을 때까지 항상 검토하고 적응할 수 있습니다. 팀은 단순하게 시작해야 하며 사용자에게 정기적으로 가치를 제공하는 것의 중요성을 놓치지 말아야 합니다.

Kanban with GitHub

GitHub는 프로젝트 보드(클래식)를 통해 Kanban 환경을 제공합니다. 이러한 보드는 특정 기능 개발, 포괄적인 로드맵 또는 릴리스 검사 목록에 대한 작업을 구성하고 우선 순위를 지정하는 데 도움이 됩니다. 프로젝트 보드(클래식)를 자동화하여 카드 상태 관련 문제와 동기화하고 요청을 끌어올 수 있습니다.

Azure Boards를 사용하여 Kanban

Azure Boards 는 DevOps 계획을 위한 포괄적인 Kanban 솔루션을 제공합니다. Azure Boards는 Azure DevOps 간에 긴밀한 통합을 가지고 있으며 Azure Boards-GitHub 통합일부일 수도 있습니다.