튜토리얼: GitLab으로 칸반 활용하기
이 튜토리얼은 GitLab 이슈 보드를 사용하여 칸반 워크플로우에서 태스크를 관리하는 단계를 안내합니다. GitLab 이슈 보드를 사용하여 칸반 워크플로우에서 태스크를 관리하려면: 기타 정보는 이 페이지 하단의 고급 팁 및 트릭을 참조하세요.
이 튜토리얼은 GitLab 이슈 보드를 사용하여 칸반 워크플로우에서 태스크를 관리하는 단계를 안내합니다. 그룹, 프로젝트, 보드를 설정하고 이슈를 구성함으로써 투명성, 협업 및 납기를 향상시킬 수 있습니다.
GitLab 이슈 보드를 사용하여 칸반 워크플로우에서 태스크를 관리하려면:
기타 정보는 이 페이지 하단의 고급 팁 및 트릭을 참조하세요.
그룹 및 프로젝트 설정#
그룹 생성 및 프로젝트 생성에 대한 해당 단계를 따르세요.
팀이 여러 저장소에서 작업하는 경우 그룹의 각 저장소에 대한 프로젝트를 생성합니다.
이슈는 각 프로젝트에 있지만 칸반 보드는 그룹에 있으므로 모든 프로젝트에 대한 가시성을 유지할 수 있습니다. 단일 저장소에서 작업하는 경우 이 단계를 건너뛸 수 있습니다.
레이블 생성#
다음으로 칸반 수명 주기의 각 단계를 나타내는 레이블을 생성합니다:
- 단일 프로젝트에서 작업하는 경우 해당 프로젝트에 레이블을 생성합니다.
- 여러 프로젝트에서 작업하는 경우 그룹에 레이블을 생성합니다. 이를 통해 모든 프로젝트에서 단일 레이블 세트를 사용할 수 있습니다.
두 시나리오 모두에서 레이블 생성 프로세스는 동일합니다. status::to do, status::doing 및 status::done에 대한 범위 레이블을 생성합니다.
칸반 보드 설정#
레이블을 생성한 후 다음 단계는 칸반 보드를 생성하는 것입니다:
- 상단 바에서 Search or go to를 선택하고 그룹 또는 프로젝트를 찾습니다.
- Plan > Issue Boards를 선택합니다.
- 이슈 보드의 왼쪽 상단 모서리에서 현재 보드 이름이 있는 드롭다운 목록을 선택합니다.
- Create new board를 선택합니다.
- 새 보드 이름을 입력한 다음 Create board를 선택합니다.
- + New list를 선택하여 새 레이블 목록을 생성합니다.
- 목록 범위를 Label로, 값을 status::to do로 설정합니다.
- 동일한 레이블 목록 생성 흐름을 반복하여 status::doing 및 status::done 두 레이블 목록을 더 생성합니다.
이제 칸반 보드가 생겼습니다. 이제 각 목록에서 새 이슈를 만들고, 한 워크플로우 단계에서 다른 단계로 이슈를 드래그 앤 드롭하고, 팀 멤버에게 이슈를 할당할 수 있습니다.
선택 사항으로 보드의 각 레이블 목록에 진행 중인 작업(WIP) 한도를 활성화할 수 있습니다. 이렇게 하려면:
- 레이블 목록 오른쪽 상단에 있는 Edit list settings 기어 아이콘을 선택합니다.
- Work in progress limit > Edit를 선택합니다.
- 해당 목록에 허용되는 최대 이슈 수를 입력한 다음 Enter 키를 누릅니다.
이제 한도에 도달하면 목록 배경이 자동으로 빨간색으로 바뀝니다. 또한 목록에서 한도를 초과한 모든 이슈를 시각적으로 표시하기 위해 "진행 중인 작업 한도" 구분선이 표시됩니다.
흐름 및 분포 시각화#
칸반은 전통적으로 누적 흐름 다이어그램을 사용하여 부하를 시각화하고 병목 현상을 식별하는 데 도움을 줍니다. GitLab에서는 가치 스트림 분석(VSA)으로 이를 수행할 수 있습니다. 다음으로 칸반 워크플로우와 일치하는 커스텀 VSA 보고서를 생성합니다.
흐름 시각화#
흐름을 시각화하려면:
- 상단 바에서 Search or go to를 선택하고 그룹 또는 프로젝트를 찾습니다.
- 사이드 네비게이션에서 Analyze > Value stream analytics를 선택합니다.
- 페이지 왼쪽 상단의 Value stream 드롭다운을 선택한 다음 New Value Stream을 선택합니다.
- VSA 보고서에 원하는 이름을 입력한 다음 Create from a template 옵션을 선택합니다.
- 단계 이름으로 To do를 입력합니다.
- 시작 이벤트로 Issue label added를 선택한 다음 status::to do 레이블을 선택합니다.
- 종료 이벤트로 Issue label removed를 선택한 다음 status::to do 레이블을 선택합니다.
- 그 다음 Add a stage를 선택합니다.
- status::in progress 및 status::done에 대한 단계를 생성하기 위해 동일한 프로세스를 반복합니다.
- 세 단계가 모두 추가되면 New value stream을 선택합니다.
칸반 보드와 동일한 워크플로우에 맞는 커스텀 VSA 보고서로 GitLab은 각 이슈가 각 단계에서 보내는 시간을 자동으로 계산하고 모든 단계에 걸쳐 데이터를 집계합니다. 그 결과 리드 타임과 사이클 타임을 얻을 수 있습니다. 각 단계를 자세히 살펴보면 개별 이슈에 대한 특정 타이밍을 볼 수 있습니다.
분포 시각화#
분포를 시각화하려면:
- 생성한 VSA 보고서에서 Tasks by type 차트로 스크롤합니다.
- 오른쪽 상단의 기어 아이콘 드롭다운을 선택한 다음 이슈 유형을 나타내는 레이블을 검색하고 선택합니다.
- type::... 범위 레이블 또는 유사한 것을 아직 생성하지 않은 경우 지금이 작업 항목 유형을 워크플로우에 통합하기 시작하기 좋은 시기입니다(예: feature, bug, maintenance).
- Show issues를 선택한 다음 변경 사항을 적용하기 위해 드롭다운 목록 외부를 선택합니다.
- Tasks by type 차트에 이제 시간이 지남에 따라 선택한 레이블과 일치하는 이슈의 분포가 표시됩니다.
고급 팁 및 트릭#
- 지정된 조건에 따라 이슈를 자동으로 업데이트하는 정책을 생성하려면
gitlab-triage를 설정합니다. 예를 들어 status::done 레이블이 적용될 때 자동으로 이슈를 닫거나 이슈가 생성될 때 자동으로 status::to do 레이블을 추가하는 정책을 생성할 수 있습니다. 오픈 소스gitlab-triagegem은 GitLab 파이프라인과 원활하게 작동하도록 설계되었습니다. - 다양한 유형의 이슈를 보다 효율적이고 표준화되게 만들려면 설명 템플릿을 생성합니다.
- 그룹 또는 프로젝트의 각 팀 멤버에 대한 부하를 시각화하려면 담당자 목록이 있는 추가 이슈 보드를 만듭니다.
- 이슈 T-셔츠 사이즈 조정을 위한 범위 레이블 세트를 만듭니다. 예: size::small, size::medium, size::large.
