튜토리얼: GitLab을 사용하여 Kanban을 용이하게 하는 방법

이 튜토리얼에서는 GitLab 이슈 보드를 사용하여 Kanban 워크플로우에서 작업을 관리하는 단계를 안내합니다. 그룹, 프로젝트, 보드 설정 및 이슈 정리를 통해 투명성, 협업 및 전달을 향상시킬 수 있습니다.

Kanban 워크플로우에서 작업을 관리하기 위해 GitLab 이슈 보드를 사용하려면:

기타 정보는 이 페이지 하단의 고급 팁과 트릭을 참조하세요.

그룹 및 프로젝트 설정

해당 단계를 따라 그룹을 만드는프로젝트를 만드는 작업을 수행하세요.

팀이 여러 저장소를 걸쳐 작업하는 경우 그룹 내 각 저장소에 대해 프로젝트를 만듭니다.

이슈는 일반적으로 해당 프로젝트에 있지만 칸반 보드는 그룹에 있으므로 모든 프로젝트를 통해 시각성을 유지할 수 있습니다. 하나의 저장소에서 작업하는 경우 이 단계를 건너뛸 수 있습니다.

레이블 작성

다음으로, 칸반 라이프사이클의 각 단계를 나타내는 몇 가지 레이블을 만들어봅시다:

  • 단일 프로젝트에서 작업하는 경우 해당 프로젝트에 레이블을 만듭니다.
  • 여러 프로젝트를 걸쳐 작업하는 경우 그룹의 레이블을 만듭니다. 이렇게 하면 모든 프로젝트에서 동일한 레이블 세트를 사용할 수 있습니다.

두 시나리오 모두에 대해 레이블을 만드는 프로세스는 동일합니다. status::to do, status::doing, status::done을 위한 범위 지정된 레이블을 만듭니다.

Kanban 보드 설정

레이블을 만든 후, 다음 단계는 Kanban 보드를 만드는 것입니다:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹 또는 프로젝트를 찾습니다.
  2. Plan > 이슈 보드를 선택합니다.
  3. 이슈 보드의 왼쪽 상단에서 현재 보드 이름이 표시된 드롭다운 목록을 선택합니다.
  4. 새 보드 만들기를 선택합니다.
  5. 새 보드의 이름을 입력한 다음 보드 만들기를 선택합니다.
  6. + 새 목록을 선택하여 새 레이블 목록을 만듭니다.
  7. 목록 범위를 레이블로 설정하고 값은 status::to do로 설정합니다.
  8. 동일한 레이블 목록을 만드는 흐름을 반복하여 status::doingstatus::done에 대한 레이블 목록을 만듭니다.

축하합니다. 이제 Kanban 보드를 갖게 되었습니다. 이제 각 목록에 새 이슈를 생성하고 작업 흐름 단계별로 이슈를 끌어다 놓고, 이슈를 팀 멤버에게 할당할 수 있습니다.

선택적으로 진행 중 제한 (WIP) 설정을 각 레이블 목록에 적용할 수 있습니다. 다음과 같이 수행하세요:

  1. 레이블 목록 오른쪽 상단의 목록 설정 편집 기어 아이콘을 선택합니다.
  2. 진행 중 제한 > 편집을 선택합니다.
  3. 해당 목록에서 허용된 이슈의 최대 개수를 입력한 다음 Enter 키를 누릅니다.

제한이 설정되면 목록의 배경이 자동으로 빨간색으로 바뀝니다. 제한을 초과하는 모든 이슈를 시각적으로 나타내기 위해 목록에 “진행 중 제한” 절단선이 표시됩니다.

흐름 및 분배 시각화

Kanban은 전통적으로 누적 흐름 다이어그램을 사용하여 작업 부하를 시각화하고 병목 현상을 식별합니다. GitLab에서는 가치 스트림 분석 (VSA)를 사용하여 이를 수행할 수 있습니다. 다음으로, Kanban 워크플로우와 일치하는 사용자 정의 VSA 보고서를 생성합니다.

흐름 시각화

흐름을 시각화하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹 또는 프로젝트를 찾습니다.
  2. 측면 탐색에서 분석 > 가치 스트림 분석을 선택합니다.
  3. 페이지 상단의 가치 스트림 드롭다운을 선택한 다음 새 가치 스트림을 선택합니다.
  4. 원하는 이름을 입력한 다음 템플릿에서 생성 옵션을 선택합니다.
  5. 단계 이름으로 To do를 입력합니다.
  6. 시작 이벤트에 대해 이슈 레이블이 추가됨을 선택한 다음 status::to do 레이블을 선택합니다.
  7. 종료 이벤트에 대해 이슈 레이블이 제거됨을 선택한 다음 status::to do 레이블을 선택합니다.
  8. 다음으로 다른 단계 추가를 선택합니다.
  9. status::in progressstatus::done에 대한 단계를 생성하기 위해 동일한 프로세스를 반복합니다.
  10. 세 단계가 모두 추가되면 새 가치 스트림을 선택합니다.

Kanban 보드와 동일한 워크플로에 맞는 사용자 지정 VSA 보고서를 생성했으므로 GitLab은 자동으로 각 이슈가 각 단계에 머물러 있는 시간을 계산하고 모든 단계를 통합하여 데이터를 집계합니다. 이러한 결과로 이슈의 리드타임과 사이클 타임을 얻게 됩니다. 각 단계를 자세히 살펴보면 개별 이슈의 구체적인 시간을 확인할 수 있습니다.

분배 시각화

분배를 시각화하려면:

  1. 생성한 VSA 보고서에서 아래로 스크롤하여 작업 유형별 차트로 이동합니다.
  2. 오른쪽 상단의 기어 아이콘 드롭다운을 선택하여, 차트에서 작업 유형을 나타내는 레이블을 검색하고 선택합니다.
  3. type::… 범위 레이블 또는 유사한 항목을 만들지 않았다면 이를 시작하기에 좋은 시기입니다 (예: feature, bug, maintenance).
  4. 이슈 표시를 선택한 다음 드롭다운 목록 외부를 선택하여 변경 사항을 적용합니다.
  5. 작업 유형별 차트는 선택한 레이블과 일치하는 이슈의 분포를 시간별로 나타냅니다.

고급 팁과 트릭

  • 지정된 조건에 따라 자동으로 이슈를 업데이트하는 정책을 생성하려면 gitlab-triage를 설정하세요. 예를 들어, status::done 레이블이 적용될 때 자동으로 이슈를 닫거나, 이슈를 생성할 때 자동으로 status::to do 레이블을 추가하는 정책을 만들 수 있습니다. 이 오픈 소스 gitlab-triage 젬은 GitLab 파이프라인과 원활하게 작동하도록 설계되었습니다.
  • 다양한 유형의 이슈를 생성하는 데 효율적이고 표준화된 방법을 만들려면 설명 템플릿을 생성하세요.
  • 그룹이나 프로젝트의 각 팀 멤버에 대한 작업 부하를 시각적으로 나타내려면 담당자 목록이 있는 추가 새 이슈 보드를 만드세요.
  • 티셔츠 사이즈의 이슈를 위한 범위 지정된 레이블 세트를 만듭니다. 예를 들어, size::small, size::medium, size::large을 만듭니다.