튜토리얼: 이슈 트리지용 프로젝트 설정

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-Managed, GitLab Dedicated

이슈 트리지는 유형 및 심각도에 따라 분류하는 프로세스입니다. 프로젝트가 성장하고 사람들이 더 많은 이슈를 생성하는 경우, 들어오는 이슈를 어떻게 분류할지에 대한 워크플로우를 만드는 것이 가치가 있습니다.

이 튜토리얼에서는 GitLab 프로젝트를 이슈 트리지용으로 설정하는 방법을 배웁니다.

GitLab에서 프로젝트를 이슈 트리지용으로 설정하는 방법은 다음과 같습니다.

  1. 프로젝트 생성
  2. 유형, 심각도 및 우선 순위 기준 결정
  3. 기준 문서화
  4. 범위가 지정된 레이블 생성
  5. 새 레이블 우선 순위 지정
  6. 이슈 트리지 보드 생성
  7. 기능을 위한 이슈 생성

시작하기 전에

  • 이 튜토리얼에 기존 프로젝트를 사용하는 경우 프로젝트에 적어도 기고자 역할이 있는지 확인하세요.
  • 아래 단계를 따라 하고 나중에 프로젝트의 상위 그룹을 만들기로 결정한다면, 레이블을 최대한 잘 사용하기 위해 프로젝트 레이블을 그룹 레이블로 승격해야 합니다. 먼저 그룹을 만드는 것을 고려하세요.

프로젝트 생성

프로젝트에는 다가올 코드 변경을 계획하는 데 사용되는 이슈가 포함됩니다.

무언가 작업 중인 프로젝트가 이미 있다면 유형, 심각도 및 우선 순위 기준 결정으로 이동하십시오.

빈 프로젝트를 만들려면:

  1. 왼쪽 사이드바의 맨 위에서 새로 만들기 () 및 새 프로젝트/리포지터리 만들기를 선택합니다.
  2. 빈 프로젝트 만들기를 선택합니다.
  3. 프로젝트 세부정보를 입력합니다.
    • 프로젝트 이름이슈 트리지 튜토리얼을 입력합니다.
  4. 프로젝트 만들기를 선택합니다.

유형, 심각도 및 우선 순위 기준 결정

다음으로, 다음을 결정해야 합니다.

  • 인식하려는 이슈의 유형. 보다 세분화된 방법이 필요하다면 각 유형에 대한 하위 유형도 만들 수 있습니다. 유형은 팀에게 요청된 업무의 종류에 대한 이해를 얻기 위해 업무를 분류하는 데 도움이 됩니다.
  • 우선 순위심각도 수준은 들어오는 업무가 최종 사용자에게 미치는 영향을 정의하고 우선 순위를 정하는 데 도움이 됩니다.

이 튜토리얼의 경우 다음을 결정했다고 가정해 봅시다.

  • 유형: 버그, 기능, 유지보수
  • 우선 순위: 1, 2, 3, 4
  • 심각도: 1, 2, 3, 4

영감을 얻으려면 GitLab에서 이러한 것들을 어떻게 정의하는지 확인하세요:

기준 문서화

모든 기준에 동의한 후 팀원들이 항상 액세스할 수 있는 곳에 기록하세요.

예를 들어 프로젝트의 위키나 회사 핸드북에 GitLab Pages로 게시하는 곳에 추가하세요.

범위가 지정된 레이블 생성

Tier: Premium, Ultimate Offering: GitLab.com, Self-Managed, GitLab Dedicated

다음으로, 이슈를 분류하기 위해 이슈에 추가할 레이블을 만듭니다.

가장 적합한 도구는 범위가 지정된 레이블입니다. 이를 사용하여 상호 배타적인 속성을 설정할 수 있습니다.

이전에 결정한 유형, 심각도 및 우선 순위 디렉터리을 확인하고 해당되는 범위가 지정된 레이블을 만들어야 합니다.

범위가 지정된 레이블의 이름에 있는 이중 콜론(::)은 동일한 범위의 레이블 두 개가 함께 사용되는 것을 방지합니다. 예를 들어 type::feature 레이블을 이미 type::bug가 있는 이슈에 추가하면 이전 것이 제거됩니다.

note
범위가 지정된 레이블은 Premium 및 Ultimate 티어에서 사용할 수 있습니다. 프리 티어를 사용하는 경우 일반 레이블을 대신 사용할 수 있습니다. 그러나 이러한 레이블은 상호 배타적이지 않습니다.

각 레이블을 만들려면 다음을 수행하세요.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 관리 > 레이블를 선택합니다.
  3. 새 레이블을 선택합니다.
  4. 제목 필드에 레이블의 이름을 입력합니다. type::bug부터 시작합니다.
  5. 선택 사항. 사용 가능한 색상을 선택하거나 특정 색상을 위해 16진수 색상 값을 입력하여 배경 색상 필드에서 선택된 색상을 선택합니다.
  6. 레이블 만들기를 선택합니다.

모든 필요한 레이블을 만들기 위해 이러한 단계를 반복하세요.

  • type::bug
  • type::feature
  • type::maintenance
  • priority::1
  • priority::2
  • priority::3
  • priority::4
  • severity::1
  • severity::2
  • severity::3
  • severity::4

새 레이블 우선 순위 지정

이제 새 레이블을 우선 순위 레이블로 설정하여 가장 중요한 이슈가 우선순위 높게 표시되도록 만듭니다.

우선순위 또는 레이블 우선순위로 정렬하면 가장 중요한 이슈가 이슈 디렉터리의 맨 위에 표시됩니다.

우선 순위를 지정하려면:

  1. 레이블 페이지에서 우선 순위에 레이블 옆에 있는 별표()를 선택합니다. 선택한 레이블은 이제 우선 순위 레이블 아래에 있는 레이블 디렉터리 맨 위에 표시됩니다.
  2. 이전 단계를 반복하여 생성한 모든 레이블에 우선 순위를 지정합니다. 상대적 우선 순위를 변경하려면 디렉터리을 위로 끌어 올리거나 아래로 끌어내립니다. 디렉터리에서 위에 있는 레이블일수록 더 높은 우선 순위를 가집니다.
  3. 미리 작성한 모든 레이블에 우선 순위와 심각도가 더 낮은 레이블보다 디렉터리 상단에 있는지 확인합니다.

우선 순위 레이블 디렉터리

이슈 트리지 보드 생성

들어오는 이슈 대기열을 준비하기 위해 이슈 보드를 만들어 이슈를 레이블로 구성합니다. 카드를 각각의 디렉터리으로 끌어 이슈를 신속하게 만들고 이슈에 레이블을 추가하는 데 사용합니다.

이슈 보드를 설정하려면:

  1. 보드의 범위를 결정합니다. 예를 들어, 이슈에 심각도를 할당하는 데 사용할 하나를 만듭니다.
  2. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 이슈 트리지 튜토리얼 프로젝트를 찾습니다.
  3. 계획 > 이슈 보드를 선택합니다.
  4. 이슈 보드 페이지의 왼쪽 상단에서 현재 보드 이름이 표시된 드롭다운 디렉터리을 선택합니다.
  5. 새 보드 만들기를 선택합니다.
  6. 제목 필드에 이슈 트리지 (심각도별)를 입력합니다.
  7. 열기 디렉터리 표시 확인란은 선택하고 닫힌 디렉터리 표시 확인란은 지웁니다.
  8. 보드 만들기를 선택합니다. 빈 보드를 볼 수 있어야 합니다.
  9. severity::1 레이블을 위한 디렉터리 만들기:
    1. 이슈 보드 페이지의 오른쪽 상단에서 디렉터리 만들기를 선택합니다.
    2. 나타나는 열에서 드롭다운 디렉터리에서 severity::1 레이블을 선택합니다.
    3. 보드에 추가를 선택합니다.
  10. 이전 단계를 severity::2, severity::3, severity::4 레이블에 대해 반복합니다.

현재 보드의 디렉터리은 모두 비어 있어야 합니다. 다음으로 일부 이슈를 이들 디렉터리으로 채우겠습니다.

기능에 대한 이슈 생성

다가오는 기능 및 버그를 추적하려면 몇 가지 이슈를 작성해야 합니다. 이슈는 프로젝트에 속하지만 이슈 보드에서도 직접 만들 수 있습니다.

먼저 계획된 기능에 대한 몇 가지 이슈를 만들기 시작하세요. 버그를 발견하면 해당 버그에 대한 이슈를 생성할 수 있습니다 (너무 많지 않길 바랍니다!).

다음 방법으로 Issue triage(심각도별) 보드에서 이슈를 생성해 보세요:

  1. Open 디렉터리에서 새 이슈 작성 ()를 선택합니다. Open 디렉터리에는 다른 어떤 보드 디렉터리에도 해당되지 않는 이슈가 표시됩니다.

    이미 어떤 심각도 라벨이 이 문제에 해당하는지 알고 계신다면 해당 라벨 디렉터리에서 직접 생성할 수 있습니다. 라벨 디렉터리에서 생성된 각 이슈에는 해당 라벨이 지정됩니다.

  2. 항목을 완료하세요:
    • 제목 아래에 사용자 등록을 입력합니다.
  3. 이슈 생성을 선택합니다.
  4. 몇 가지 더 만들기 위해 이러한 단계를 반복합니다.

    예를 들어, 앱을 만드는 경우 다음과 같은 이슈를 만들 수 있습니다:

    • 사용자 등록
    • 프로필 생성
    • 검색 기능
    • 즐겨찾기 추가
    • 푸시 알림
    • 소셜 공유
    • 앱 내 메시징
    • 진행 상황 추적
    • 피드백 및 평가
    • 설정 및 기본 설정

첫 번째 triage 이슈 보드가 준비되었습니다! Open 디렉터리에 있는 몇 가지 이슈를 레이블 디렉터리 중 하나로 끌어다놓아 심각도 레이블 중 하나를 추가하는 방법을 시도해 보세요.

예시 이슈를 포함한 triage 이슈 보드

다음 단계

다음으로 다음을 할 수 있습니다:

  • 이슈 보드 사용 방법을 조정합니다. 일부 옵션은 다음과 같습니다:
    • 기존 이슈 보드를 편집하여 우선순위 및 유형 레이블에 대한 디렉터리도 추가합니다. 이렇게 하면 보드가 더 넓어지고 수평 스크롤이 필요할 수 있습니다.
    • 우선순위별 Issue triage유형별 Issue triage라는 별도의 이슈 보드를 만듭니다. 이렇게 하면 각기 다른 유형의 triage 작업을 분리할 수 있지만 보드 간 전환이 필요합니다.
    • 팀 인계를 위한 이슈 보드 설정.
  • 이슈 디렉터리에서 우선순위나 심각도에 따라 이슈를 검색합니다. 각 레이블로 필터링된 이슈 디렉터리을 참조하세요. 가능한 경우 “is one of” 필터 연산자를 사용합니다.
  • 이슈를 작업으로 분해합니다.
  • 프로젝트의 이슈 triage를 자동화하는 데 도움이 되는 정책을 gitlab-triage gem을 사용하여 만듭니다. 다음과 같은 히트맵과 같은 요약 보고서를 생성합니다:

    예시 triage 보고서 히트맵

GitLab에서 issue triage에 대해 자세히 알아보려면 Issue TriageTriage Operations을 참조하세요.