InfoGrab DocsInfoGrab Docs

튜토리얼: 이슈 트리아지를 위해 여러 프로젝트로 구성된 그룹 설정하기

요약

이슈 트리아지는 유형과 심각도에 따라 분류하는 과정입니다. 이 튜토리얼에서는 이 시나리오를 위해 여러 프로젝트로 구성된 GitLab 그룹을 설정하는 방법을 알아봅니다. 프로젝트에서 이슈 트리아지를 위해 GitLab을 설정하려면 다음 단계를 따릅니다.

이슈 트리아지는 유형과 심각도에 따라 분류하는 과정입니다. 프로젝트가 성장하고 더 많은 이슈가 생성되면서, 들어오는 이슈를 어떻게 트리아지할지에 대한 워크플로를 만들어 두는 것이 좋습니다.

이 튜토리얼에서는 이 시나리오를 위해 여러 프로젝트로 구성된 GitLab 그룹을 설정하는 방법을 알아봅니다.

프로젝트에서 이슈 트리아지를 위해 GitLab을 설정하려면 다음 단계를 따릅니다.

  1. 그룹 만들기
  2. 그룹 안에 프로젝트 만들기
  3. 유형, 심각도, 우선순위 기준 정하기
  4. 기준 문서화하기
  5. 스코프 레이블 만들기
  6. 새 레이블 우선순위 지정하기
  7. 그룹 이슈 트리아지 보드 만들기
  8. 기능 이슈 만들기

시작하기 전에#

  • 이 튜토리얼에 기존 프로젝트를 사용하는 경우, 해당 프로젝트에 대해 Reporter, Developer, Maintainer, Owner 권한이 있는지 확인합니다.

그룹 만들기#

그룹은 본질적으로 여러 프로젝트를 담는 컨테이너입니다. 그룹을 사용하면 여러 프로젝트를 관리하고 그룹 구성원과 한 번에 소통할 수 있습니다.

새 그룹을 만들려면 다음 단계를 따릅니다.

  1. 오른쪽 상단에서 Create new(+)를 선택하고 New group을 선택합니다.
  2. Create group을 선택합니다.
  3. 그룹 세부 정보를 입력합니다.
    • Group name에 triage-tutorial을 입력합니다.
  4. 페이지 하단의 Create group을 선택합니다.

그룹 안에 프로젝트 만들기#

여러 프로젝트에서 이슈 트래킹을 관리하려면 그룹 안에 프로젝트를 최소 두 개 만들어야 합니다.

새 프로젝트를 만들려면 다음 단계를 따릅니다.

  1. 오른쪽 상단에서 Create new(+)를 선택하고 New project/repository를 선택합니다.
  2. Create blank project를 선택합니다.
  3. 프로젝트 세부 정보를 입력합니다.
    • Project name에 test-project-1을 입력합니다. 자세한 내용은 프로젝트 이름 지정 규칙을 참고합니다.
  4. 페이지 하단의 Create project를 선택합니다.
  5. 이 과정을 반복해 test-project-2라는 이름의 두 번째 프로젝트를 만듭니다.

유형, 심각도, 우선순위 기준 정하기#

다음으로 아래 사항을 정해야 합니다.

  • 인식하고자 하는 이슈의 유형. 더 세분화된 접근이 필요하다면 각 유형에 대한 하위 유형도 만들 수 있습니다. 유형은 작업을 분류해 팀에 요청되는 작업의 종류를 파악하는 데 도움이 됩니다.
  • 들어오는 작업이 최종 사용자에게 미치는 영향을 정의하고 우선순위 지정을 돕기 위한 우선순위와 심각도 수준.

이 튜토리얼에서는 다음과 같이 정했다고 가정합니다.

  • 유형: Bug, Feature, Maintenance
  • 우선순위: 1, 2, 3, 4
  • 심각도: 1, 2, 3, 4

참고할 만한 예시로 GitLab 이 이를 어떻게 정의하는지 확인합니다.

기준 문서화하기#

모든 기준에 합의했다면, 팀원이 언제든 접근할 수 있는 곳에 전부 기록해 둡니다.

예를 들어 프로젝트의 위키에 추가하거나, GitLab Pages로 게시한 회사 핸드북에 추가합니다.

스코프 레이블 만들기#

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

이를 위한 가장 좋은 도구는 스코프 레이블이며, 이를 사용해 상호 배타적인 속성을 설정할 수 있습니다.

앞서 정리한 유형, 심각도, 우선순위 목록을 확인하면서 그에 맞는 스코프 레이블을 만듭니다.

스코프 레이블 이름의 이중 콜론(::)은 같은 스코프의 레이블 두 개가 함께 사용되는 것을 방지합니다. 예를 들어 이미 type::bug 레이블이 있는 이슈에 type::feature 레이블을 추가하면 기존 레이블이 제거됩니다.

Note

스코프 레이블은 Premium, Ultimate 등급에서 사용할 수 있습니다. Free 등급이라면 대신 일반 레이블을 사용할 수 있습니다. 단, 일반 레이블은 상호 배타적이지 않습니다.

각 레이블을 만들려면 다음 단계를 따릅니다.

  1. 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
  2. 왼쪽 사이드바에서 Manage > Labels를 선택합니다.
  3. New label을 선택합니다.
  4. Title 텍스트 상자에 레이블 이름을 입력합니다. type::bug부터 시작합니다.
  5. 선택 사항. 사용 가능한 색상 중 하나를 선택하거나, Background color 텍스트 상자에 원하는 색상의 16진수 색상값을 입력합니다.
  6. Create label을 선택합니다.

3~6단계를 반복해 필요한 레이블을 모두 만듭니다. 예시는 다음과 같습니다.

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

새 레이블 우선순위 지정하기#

이제 새 레이블을 우선순위 레이블로 설정합니다. 이렇게 하면 우선순위나 레이블 우선순위로 정렬할 때 가장 중요한 이슈가 이슈 목록 상단에 표시됩니다.

우선순위나 레이블 우선순위로 정렬할 때 어떤 일이 일어나는지 알아보려면 이슈 목록 정렬 및 순서 지정을 참고합니다.

레이블의 우선순위를 지정하려면 다음 단계를 따릅니다.

  1. Labels 페이지에서 우선순위를 지정할 레이블 옆의 Prioritize([star-o])를 선택합니다. 이 레이블은 이제 Prioritized labels 아래, 레이블 목록 맨 위에 표시됩니다.
  2. 이 레이블들의 상대적 우선순위를 변경하려면 목록에서 위아래로 드래그합니다. 목록에서 위에 있을수록 우선순위가 높습니다.
  3. 앞서 만든 모든 레이블의 우선순위를 지정합니다. 우선순위와 심각도 값이 높은 레이블이 낮은 값의 레이블보다 목록 위쪽에 오도록 합니다.

우선순위가 지정된 11개의 스코프 레이블 목록.

그룹 이슈 트리아지 보드 만들기#

들어오는 이슈 백로그에 대비하기 위해 레이블별로 이슈를 정리하는 이슈 보드를 만듭니다. 이 보드를 사용하면 카드를 여러 목록으로 드래그해 이슈를 빠르게 만들고 레이블을 추가할 수 있습니다.

이슈 보드를 설정하려면 다음 단계를 따릅니다.

  1. 보드의 범위를 정합니다. 예를 들어 이슈에 심각도를 지정하는 데 사용할 그룹 이슈 보드를 만듭니다.
  2. 상단 바에서 Search or go to를 선택하고 triage-tutorial 그룹을 찾습니다.
  3. Plan > Issue boards를 선택합니다.
  4. 이슈 보드 페이지의 왼쪽 상단에서 현재 보드 이름이 표시된 드롭다운 목록을 선택합니다.
  5. Create new board를 선택합니다.
  6. Title 텍스트 상자에 Issue triage (by severity)를 입력합니다.
  7. Show the Open list 체크박스는 선택된 상태로 두고 Show the Closed list 체크박스는 선택 해제합니다.
  8. Create board를 선택합니다. 빈 보드가 표시됩니다.
  9. severity::1 레이블에 대한 목록을 만듭니다.
    1. 이슈 보드 페이지의 오른쪽 상단에서 Create list를 선택합니다.
    2. 표시되는 열에서 Value 드롭다운 목록에서 severity::1 레이블을 선택합니다.
    3. 목록 하단에서 Add to board를 선택합니다.
  10. severity::2, severity::3, severity::4 레이블에 대해서도 이전 단계를 반복합니다.

지금은 보드의 목록이 비어 있을 것입니다. 다음으로 이슈를 채워 넣어 보겠습니다.

기능 이슈 만들기#

예정된 기능과 버그를 추적하려면 이슈를 만들어야 합니다. 이슈는 프로젝트에 속하지만, 그룹 이슈 보드에서 바로 만들 수도 있습니다.

먼저 계획된 기능에 대한 이슈를 몇 개 만드는 것으로 시작합니다. 버그 이슈는 발견할 때마다 만들 수 있습니다(너무 많지 않기를 바랍니다).

Issue triage (by severity) 보드에서 이슈를 만들려면 다음 단계를 따릅니다.

  1. Open 목록으로 이동합니다. 이 목록에는 다른 보드 목록에 속하지 않는 이슈가 표시됩니다. 이슈에 지정할 심각도 레이블을 이미 알고 있다면 해당 레이블의 목록에서 바로 만들 수 있습니다. 레이블 목록에서 만든 이슈에는 해당 레이블이 자동으로 지정된다는 점에 유의합니다.

    지금은 Open 목록으로 진행합니다.

  2. Open 목록에서 Create new issue 아이콘(+)을 선택합니다.

  3. 필드를 작성합니다.

    • Title에 User registration을 입력합니다.
    • 이 이슈가 속할 프로젝트를 선택합니다. 이 예시에서는 test-project-1을 사용합니다.
  4. Create issue를 선택합니다.

  5. 이 단계를 반복해 이슈를 몇 개 더 만듭니다.

    예를 들어 앱을 만들고 있다면 test-project-1과 test-project-2가 각각 애플리케이션의 백엔드와 프론트엔드를 가리킨다고 가정합니다. 다음 이슈를 만들고 적절하다고 생각되는 프로젝트에 할당합니다.

    • User registration
    • Profile creation
    • Search functionality
    • Add to favorites
    • Push notifications
    • Social sharing
    • In-app messaging
    • Track progress
    • Feedback and ratings
    • Settings and preferences

이제 첫 번째 트리아지 이슈 보드가 준비됐습니다. Open 목록에서 레이블 목록 중 하나로 이슈를 드래그해 심각도 레이블을 추가해 봅니다.

레이블이 없는 이슈와 이슈에 레이블을 지정하기 위해 우선순위가 지정된 "severity" 레이블이 있는 이슈 보드.

다음 단계#

다음으로 다음과 같은 작업을 할 수 있습니다.

  • 이슈 보드 사용 방식을 조정합니다. 다음과 같은 옵션이 있습니다.

    • 현재 이슈 보드를 수정해 우선순위와 유형 레이블에 대한 목록도 추가합니다. 이렇게 하면 보드가 넓어지고 가로 스크롤이 필요할 수 있습니다.
    • Issue triage (by priority), Issue triage (by type)라는 이름의 별도 이슈 보드를 만듭니다. 이렇게 하면 여러 유형의 트리아지 작업을 분리할 수 있지만 보드 간 전환이 필요합니다.
    • 팀 인계를 위한 이슈 보드 설정.
  • 이슈 목록에서 각 레이블로 필터링해 우선순위나 심각도별로 이슈를 확인합니다. 사용할 수 있다면 "is one of" 필터 연산자를 활용합니다.

  • 이슈를 태스크로 세분화합니다.

  • gitlab-triage gem을 사용해 프로젝트에서 이슈 트리아지를 자동화하는 데 도움이 되는 정책을 만듭니다. 다음과 같은 히트맵으로 요약 보고서를 생성합니다.

    "priority" 레이블과 "severity" 레이블이 있는 이슈에 대한 대각선 히트맵.

GitLab 에서의 이슈 트리아지에 대해 자세히 알아보려면 이슈 트리아지 와 트리아지 운영을 참고합니다.

튜토리얼: 이슈 트리아지를 위해 여러 프로젝트로 구성된 그룹 설정하기

GitLab v19.5
Tier: Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

이슈 트리아지는 유형과 심각도에 따라 분류하는 과정입니다. 이 튜토리얼에서는 이 시나리오를 위해 여러 프로젝트로 구성된 GitLab 그룹을 설정하는 방법을 알아봅니다. 프로젝트에서 이슈 트리아지를 위해 GitLab을 설정하려면 다음 단계를 따릅니다.

이슈 트리아지는 유형과 심각도에 따라 분류하는 과정입니다. 프로젝트가 성장하고 더 많은 이슈가 생성되면서, 들어오는 이슈를 어떻게 트리아지할지에 대한 워크플로를 만들어 두는 것이 좋습니다.

이 튜토리얼에서는 이 시나리오를 위해 여러 프로젝트로 구성된 GitLab 그룹을 설정하는 방법을 알아봅니다.

프로젝트에서 이슈 트리아지를 위해 GitLab을 설정하려면 다음 단계를 따릅니다.

  1. 그룹 만들기
  2. 그룹 안에 프로젝트 만들기
  3. 유형, 심각도, 우선순위 기준 정하기
  4. 기준 문서화하기
  5. 스코프 레이블 만들기
  6. 새 레이블 우선순위 지정하기
  7. 그룹 이슈 트리아지 보드 만들기
  8. 기능 이슈 만들기

시작하기 전에#

  • 이 튜토리얼에 기존 프로젝트를 사용하는 경우, 해당 프로젝트에 대해 Reporter, Developer, Maintainer, Owner 권한이 있는지 확인합니다.

그룹 만들기#

그룹은 본질적으로 여러 프로젝트를 담는 컨테이너입니다. 그룹을 사용하면 여러 프로젝트를 관리하고 그룹 구성원과 한 번에 소통할 수 있습니다.

새 그룹을 만들려면 다음 단계를 따릅니다.

  1. 오른쪽 상단에서 Create new(+)를 선택하고 New group을 선택합니다.
  2. Create group을 선택합니다.
  3. 그룹 세부 정보를 입력합니다.
    • Group name에 triage-tutorial을 입력합니다.
  4. 페이지 하단의 Create group을 선택합니다.

그룹 안에 프로젝트 만들기#

여러 프로젝트에서 이슈 트래킹을 관리하려면 그룹 안에 프로젝트를 최소 두 개 만들어야 합니다.

새 프로젝트를 만들려면 다음 단계를 따릅니다.

  1. 오른쪽 상단에서 Create new(+)를 선택하고 New project/repository를 선택합니다.
  2. Create blank project를 선택합니다.
  3. 프로젝트 세부 정보를 입력합니다.
    • Project name에 test-project-1을 입력합니다. 자세한 내용은 프로젝트 이름 지정 규칙을 참고합니다.
  4. 페이지 하단의 Create project를 선택합니다.
  5. 이 과정을 반복해 test-project-2라는 이름의 두 번째 프로젝트를 만듭니다.

유형, 심각도, 우선순위 기준 정하기#

다음으로 아래 사항을 정해야 합니다.

  • 인식하고자 하는 이슈의 유형. 더 세분화된 접근이 필요하다면 각 유형에 대한 하위 유형도 만들 수 있습니다. 유형은 작업을 분류해 팀에 요청되는 작업의 종류를 파악하는 데 도움이 됩니다.
  • 들어오는 작업이 최종 사용자에게 미치는 영향을 정의하고 우선순위 지정을 돕기 위한 우선순위와 심각도 수준.

이 튜토리얼에서는 다음과 같이 정했다고 가정합니다.

  • 유형: Bug, Feature, Maintenance
  • 우선순위: 1, 2, 3, 4
  • 심각도: 1, 2, 3, 4

참고할 만한 예시로 GitLab 이 이를 어떻게 정의하는지 확인합니다.

기준 문서화하기#

모든 기준에 합의했다면, 팀원이 언제든 접근할 수 있는 곳에 전부 기록해 둡니다.

예를 들어 프로젝트의 위키에 추가하거나, GitLab Pages로 게시한 회사 핸드북에 추가합니다.

스코프 레이블 만들기#

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

이를 위한 가장 좋은 도구는 스코프 레이블이며, 이를 사용해 상호 배타적인 속성을 설정할 수 있습니다.

앞서 정리한 유형, 심각도, 우선순위 목록을 확인하면서 그에 맞는 스코프 레이블을 만듭니다.

스코프 레이블 이름의 이중 콜론(::)은 같은 스코프의 레이블 두 개가 함께 사용되는 것을 방지합니다. 예를 들어 이미 type::bug 레이블이 있는 이슈에 type::feature 레이블을 추가하면 기존 레이블이 제거됩니다.

Note

스코프 레이블은 Premium, Ultimate 등급에서 사용할 수 있습니다. Free 등급이라면 대신 일반 레이블을 사용할 수 있습니다. 단, 일반 레이블은 상호 배타적이지 않습니다.

각 레이블을 만들려면 다음 단계를 따릅니다.

  1. 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
  2. 왼쪽 사이드바에서 Manage > Labels를 선택합니다.
  3. New label을 선택합니다.
  4. Title 텍스트 상자에 레이블 이름을 입력합니다. type::bug부터 시작합니다.
  5. 선택 사항. 사용 가능한 색상 중 하나를 선택하거나, Background color 텍스트 상자에 원하는 색상의 16진수 색상값을 입력합니다.
  6. Create label을 선택합니다.

3~6단계를 반복해 필요한 레이블을 모두 만듭니다. 예시는 다음과 같습니다.

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

새 레이블 우선순위 지정하기#

이제 새 레이블을 우선순위 레이블로 설정합니다. 이렇게 하면 우선순위나 레이블 우선순위로 정렬할 때 가장 중요한 이슈가 이슈 목록 상단에 표시됩니다.

우선순위나 레이블 우선순위로 정렬할 때 어떤 일이 일어나는지 알아보려면 이슈 목록 정렬 및 순서 지정을 참고합니다.

레이블의 우선순위를 지정하려면 다음 단계를 따릅니다.

  1. Labels 페이지에서 우선순위를 지정할 레이블 옆의 Prioritize([star-o])를 선택합니다. 이 레이블은 이제 Prioritized labels 아래, 레이블 목록 맨 위에 표시됩니다.
  2. 이 레이블들의 상대적 우선순위를 변경하려면 목록에서 위아래로 드래그합니다. 목록에서 위에 있을수록 우선순위가 높습니다.
  3. 앞서 만든 모든 레이블의 우선순위를 지정합니다. 우선순위와 심각도 값이 높은 레이블이 낮은 값의 레이블보다 목록 위쪽에 오도록 합니다.

우선순위가 지정된 11개의 스코프 레이블 목록.

그룹 이슈 트리아지 보드 만들기#

들어오는 이슈 백로그에 대비하기 위해 레이블별로 이슈를 정리하는 이슈 보드를 만듭니다. 이 보드를 사용하면 카드를 여러 목록으로 드래그해 이슈를 빠르게 만들고 레이블을 추가할 수 있습니다.

이슈 보드를 설정하려면 다음 단계를 따릅니다.

  1. 보드의 범위를 정합니다. 예를 들어 이슈에 심각도를 지정하는 데 사용할 그룹 이슈 보드를 만듭니다.
  2. 상단 바에서 Search or go to를 선택하고 triage-tutorial 그룹을 찾습니다.
  3. Plan > Issue boards를 선택합니다.
  4. 이슈 보드 페이지의 왼쪽 상단에서 현재 보드 이름이 표시된 드롭다운 목록을 선택합니다.
  5. Create new board를 선택합니다.
  6. Title 텍스트 상자에 Issue triage (by severity)를 입력합니다.
  7. Show the Open list 체크박스는 선택된 상태로 두고 Show the Closed list 체크박스는 선택 해제합니다.
  8. Create board를 선택합니다. 빈 보드가 표시됩니다.
  9. severity::1 레이블에 대한 목록을 만듭니다.
    1. 이슈 보드 페이지의 오른쪽 상단에서 Create list를 선택합니다.
    2. 표시되는 열에서 Value 드롭다운 목록에서 severity::1 레이블을 선택합니다.
    3. 목록 하단에서 Add to board를 선택합니다.
  10. severity::2, severity::3, severity::4 레이블에 대해서도 이전 단계를 반복합니다.

지금은 보드의 목록이 비어 있을 것입니다. 다음으로 이슈를 채워 넣어 보겠습니다.

기능 이슈 만들기#

예정된 기능과 버그를 추적하려면 이슈를 만들어야 합니다. 이슈는 프로젝트에 속하지만, 그룹 이슈 보드에서 바로 만들 수도 있습니다.

먼저 계획된 기능에 대한 이슈를 몇 개 만드는 것으로 시작합니다. 버그 이슈는 발견할 때마다 만들 수 있습니다(너무 많지 않기를 바랍니다).

Issue triage (by severity) 보드에서 이슈를 만들려면 다음 단계를 따릅니다.

  1. Open 목록으로 이동합니다. 이 목록에는 다른 보드 목록에 속하지 않는 이슈가 표시됩니다. 이슈에 지정할 심각도 레이블을 이미 알고 있다면 해당 레이블의 목록에서 바로 만들 수 있습니다. 레이블 목록에서 만든 이슈에는 해당 레이블이 자동으로 지정된다는 점에 유의합니다.

    지금은 Open 목록으로 진행합니다.

  2. Open 목록에서 Create new issue 아이콘(+)을 선택합니다.

  3. 필드를 작성합니다.

    • Title에 User registration을 입력합니다.
    • 이 이슈가 속할 프로젝트를 선택합니다. 이 예시에서는 test-project-1을 사용합니다.
  4. Create issue를 선택합니다.

  5. 이 단계를 반복해 이슈를 몇 개 더 만듭니다.

    예를 들어 앱을 만들고 있다면 test-project-1과 test-project-2가 각각 애플리케이션의 백엔드와 프론트엔드를 가리킨다고 가정합니다. 다음 이슈를 만들고 적절하다고 생각되는 프로젝트에 할당합니다.

    • User registration
    • Profile creation
    • Search functionality
    • Add to favorites
    • Push notifications
    • Social sharing
    • In-app messaging
    • Track progress
    • Feedback and ratings
    • Settings and preferences

이제 첫 번째 트리아지 이슈 보드가 준비됐습니다. Open 목록에서 레이블 목록 중 하나로 이슈를 드래그해 심각도 레이블을 추가해 봅니다.

레이블이 없는 이슈와 이슈에 레이블을 지정하기 위해 우선순위가 지정된 "severity" 레이블이 있는 이슈 보드.

다음 단계#

다음으로 다음과 같은 작업을 할 수 있습니다.

  • 이슈 보드 사용 방식을 조정합니다. 다음과 같은 옵션이 있습니다.

    • 현재 이슈 보드를 수정해 우선순위와 유형 레이블에 대한 목록도 추가합니다. 이렇게 하면 보드가 넓어지고 가로 스크롤이 필요할 수 있습니다.
    • Issue triage (by priority), Issue triage (by type)라는 이름의 별도 이슈 보드를 만듭니다. 이렇게 하면 여러 유형의 트리아지 작업을 분리할 수 있지만 보드 간 전환이 필요합니다.
    • 팀 인계를 위한 이슈 보드 설정.
  • 이슈 목록에서 각 레이블로 필터링해 우선순위나 심각도별로 이슈를 확인합니다. 사용할 수 있다면 "is one of" 필터 연산자를 활용합니다.

  • 이슈를 태스크로 세분화합니다.

  • gitlab-triage gem을 사용해 프로젝트에서 이슈 트리아지를 자동화하는 데 도움이 되는 정책을 만듭니다. 다음과 같은 히트맵으로 요약 보고서를 생성합니다.

    "priority" 레이블과 "severity" 레이블이 있는 이슈에 대한 대각선 히트맵.

GitLab 에서의 이슈 트리아지에 대해 자세히 알아보려면 이슈 트리아지 와 트리아지 운영을 참고합니다.