튜토리얼: GitLab을 사용하여 스크럼을 용이하게 함

Tier: 프리미엄, 얼티메이트 Offering: GitLab.com, Self-managed, GitLab Dedicated

이 튜토리얼은 GitLab의 민첩한 계획 및 추적 기능을 단계별 안내하여 핵심 스크럼 의식 및 워크플로우를 용이하게 하는 데 도움이 됩니다. 그룹, 프로젝트, 보드 및 기타 기능을 신중하게 설정함으로써 팀은 향상된 투명성, 협업 및 전달 주기를 실현할 수 있습니다.

Martin Fowler의 민첩성 함양 모델에 따르면, 스크럼을 실천하는 팀은 스크럼:

…자신들의 소프트웨어로부터 혜택을 보는 후원자, 고객 및 사용자들의 이점을 생각하고 계획합니다.

이들은 매달 진행 상황을 보여줌으로써 이를 달성하며, 정기적으로 과정을 반성하여 비즈니스 및 고객 가치를 제공하기 위해 작업 방식과 습관을 개선합니다.

이 튜토리얼은 다음을 다룹니다:

그룹 및 프로젝트 설정

GitLab에서 스크럼을 용이하게 하는데에는 먼저 그룹과 프로젝트의 기초적인 구조를 설정해야 합니다. 그룹을 사용하여 해당 그룹에 속한 프로젝트에서 상속될 수 있는 보드와 레이블을 생성합니다. 프로젝트에는 각 스프린트의 실제 작업 항목을 구성하는 이슈 및 작업이 포함됩니다.

GitLab의 상속 모델 이해

GitLab은 그룹이 프로젝트를 포함하는 계층적인 구조를 가지고 있습니다. 그룹 레벨에서 적용된 설정 및 구성은 하위 프로젝트로 계속해서 흘러내려가므로 여러 프로젝트 간에 레이블, 보드 및 이터레이션을 표준화할 수 있습니다.

flowchart TD Group -->|포함함| Project Group -->|포함함| Epics Group -->|포함함| Labels Group -->|포함함| Boards Group -->|포함함| Iterations Project -->|포함함| Issues Labels .->|하여 프로젝트로 흘러내려| Project Issues .->|상위로 흐름| Group Iterations .->|하여 프로젝트로 흘러내려| Project Issues .->|Epics에 할당됨| Epics Issues .->|보드에 표시됨| Boards Issues .->|이터레이션에 할당됨| Iterations
  • 그룹에 하나 이상의 프로젝트, 에픽, 보드, 레이블 및 이터레이션이 포함됩니다. 사용자 멤버십은 그룹의 프로젝트로 계속해서 흘러내려갑니다.
  • 그룹 또는 프로젝트에서 보드와 레이블을 생성할 수 있습니다. 이 튜토리얼에서는 그룹에서 표준화된 계획 워크플로우 및 보고를 가능하게 하기 위해 하나의 그룹에서 이를 만들어야 합니다.
  • 프로젝트로 흘러내려가는 모든 항목은 해당 프로젝트의 이슈와 관련될 수 있습니다. 예를 들어, 그룹에서 레이블을 프로젝트의 이슈에 적용할 수 있습니다.

그룹 생성

스크럼 활동용 전용 그룹을 생성하세요. 이러한 그룹은 프로젝트에 상위 그룹으로 표시되는 스토리를 포함합니다.

그룹은 전형적인 스크럼 주기 동안 다양한 활동의 주요 장소가 될 것입니다. 보드, 기능(에픽), 스토리(이슈) 롤업 및 레이블이 포함됩니다.

그룹을 생성하려면:

  1. 왼쪽 사이드바 상단에서 새로 만들기 () 및 새 그룹을 선택합니다.
  2. 그룹 만들기를 선택합니다.
  3. 그룹 이름 텍스트 상자에 그룹 이름을 입력합니다. 그룹 이름으로 사용할 수 없는 단어 목록은 보호된 이름을 참조하세요.
  4. 그룹 URL 텍스트 상자에 네임스페이스에 사용되는 그룹의 경로를 입력합니다.
  5. 가시성 레벨을 선택합니다.
  6. 선택 사항. GitLab 경험을 개인화하려면:
    • 역할 드롭다운 목록에서 역할을 선택합니다.
    • 이 그룹을 사용할 사용자에서 옵션을 선택합니다.
    • 이 그룹을 사용할 목적 드롭다운 목록에서 옵션을 선택합니다.
  7. 선택 사항. 그룹 멤버를 초대하려면, 이메일 1 텍스트 상자에 초대하려는 사용자의 이메일 주소를 입력합니다. 더 많은 사용자를 초대하려면 다른 멤버 초대를 선택하고 사용자의 이메일 주소를 입력합니다.
  8. 그룹 만들기를 선택합니다.

프로젝트 만들기

생성한 그룹에 하나 이상의 프로젝트를 생성합니다. 프로젝트에는 상위 그룹으로 롤업되는 스토리가 포함됩니다.

빈 프로젝트를 만들려면:

  1. 왼쪽 사이드바 상단에서 새로 만들기 () 및 새 프로젝트/저장소를 선택합니다.
  2. 빈 프로젝트 만들기를 선택합니다.
  3. 프로젝트 세부 정보를 입력합니다:
    • 프로젝트 이름 필드에 프로젝트 이름을 입력합니다. 프로젝트 이름에 대한 제한 사항을 참조하세요.
    • 프로젝트 슬러그 필드에 프로젝트의 경로를 입력합니다. GitLab 인스턴스는 슬러그를 프로젝트의 URL 경로로 사용합니다. 슬러그를 변경하려면 먼저 프로젝트 이름을 입력한 후에 슬러그를 변경합니다.
    • 사용자의 보기 및 액세스 권한을 변경하여 가시성 레벨을 설정합니다.
    • Git 리포지토리를 초기화하고 기본 브랜치가 있는 README 파일을 만들어 클론할 수 있도록 하려면 README 파일로 레포지토리 초기화를 선택합니다.
  4. 프로젝트 만들기를 선택합니다.

스크럼 라이프사이클의 다양한 단계를 지원하는 범위 지정된 라벨 만들기

다음으로 만든 그룹에서 문제에 추가할 라벨을 만들겠습니다.

이를 위한 최상의 도구는 범위 지정된 라벨입니다. 이 도구를 사용하여 상호 배타적인 속성을 설정할 수 있습니다.

스코프 내의 라벨 이름에있는 두 배호(::)는 동일한 스코프의 두 개의 라벨이 함께 사용되는 것을 방지합니다. 예를 들어 status::in progress 라벨을 이미 status::ready가있는 문제에 추가하는 경우 이전 것이 제거됩니다.

각 라벨을 만들려면 다음을 수행하세요.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 관리 > 라벨을 선택합니다.
  3. 새 라벨을 선택합니다.
  4. 제목 필드에 라벨의 이름을 입력하십시오. priority::now로 시작합니다.
  5. 선택 사항. 사용 가능한 색상에서 선택하여 색상을 선택하거나 배경 색상 필드에 특정 색상의 16진수 색상 값을 입력하여 색상을 선택합니다.
  6. 라벨 만들기를 선택합니다.

필요한 모든 라벨을 만들기 위해 이러한 단계를 반복합니다.

  • 우선 순위: 이것들은 에픽 보드에서 기능 수준의 릴리스 우선 순위 지원을 위해 사용됩니다.
    • priority::now
    • priority::next
    • priority::later
  • 상태: 이것들은 이슈 보드에서 스토리의 현재 단계를 이해하는 데 사용됩니다 전체 개발 라이프사이클에서.
    • status::triage
    • status::refine
    • status::ready
    • status::in progress
    • status::in review
    • status::acceptance
    • status::done
  • 유형: 이것들은 일반적으로 단일 이터레이션으로 풀어들어오는 다른 유형의 작업을 나타내는 데 사용됩니다:
    • type::story
    • type::bug
    • type::mantainence

이터레이션 주기 생성

GitLab에서는 스프린트를 이터레이션이라고 부릅니다. 이터레이션 주기에는 문제에 대한 계획 및 보고를 위한 개별 순차 이터레이션 시간 상자가 포함되어 있습니다. 라벨과 유사하게 이터레이션은 그룹, 서브 그룹 및 프로젝트 계층구조를 따라 퍼지게 됩니다. 그래서 만든 그룹에서 이터레이션 주기를 만들게 될 것입니다.

사전 조건:

  • 그룹에 대한 적어도 기고자 역할이 있어야 합니다.

이터레이션 주기를 만들려면 다음을 수행하세요.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 계획 > 이터레이션을 선택합니다.
  3. 새 이터레이션 주기를 선택합니다.
  4. 이터레이션 주기의 제목과 설명을 입력합니다.
  5. 자동 일정 설정 활성화 확인란이 선택되어 있는지 확인합니다.
  6. 자동 일정을 사용하려면 필수 필드를 작성합니다.
    • 이터레이션 주기의 자동화 시작 날짜를 선택합니다. 이터레이션은 시작 날짜의 요일과 동일한 요일에 시작되도록 예약됩니다.
    • 기간 드롭다운 목록에서 2를 선택합니다.
    • 다가오는 이터레이션 드롭다운 목록에서 4를 선택합니다.
    • 롤 오버 활성화 확인란을 선택합니다.
  7. 주기 만들기를 선택합니다. 주기 목록 페이지가 엽니다.

이렇게 구성된 이터레이션 주기로:

  • 각 스프린트는 2주 동안입니다.
  • GitLab은 앞으로 4개의 스프린트를 자동으로 생성합니다.
  • 현재 스프린트가 닫힐 때 미완료된 문제는 자동으로 다음 스프린트로 재할당됩니다.

또한 자동 일정 설정을 비활성화하고 수동으로 이터레이션을 만들고 관리할 수도 있습니다.

기능 백로그 관리

기능 백로그는 에픽 형태로 아이디어와 원하는 기능을 포착합니다. 이 백로그를 정제하는 과정에서 에픽은 다가오는 스프린트로 흐르도록 우선 순위가 결정될 것입니다. 이 섹션에서는 백로그 관리를 용이하게 하는 에픽 보드를 만들고 첫 번째 기능 에픽을 작성하는 것을 다룹니다.

작업 구조를 결정

GitLab은 다양한 종류의 백로그 관리를 지원하기 위해 확장 가능합니다. 이 자습서에서는 다음과 같이 우리의 선사를 구조화할 것입니다:

flowchart TD Epic["Feature (Epic)"] --> Issue["Job Story (Issue)"] Issue --> Task["Implementation Step (Task)"]
  • 에픽은 팀이 단일 이터레이션으로 제공할 수 있는 기능을 나타냅니다.
  • 각 에픽에는 작업 스토리가 포함됩니다.
    • 스토리는 명확한 수용 기준이 포함된 명시적인 고객 가치를 제공해야하며 개인이 하루 또는 이틀 동안 완료할 수 있을 정도로 충분히 작아야합니다.
    • 팀 당 스프린트 당 4~10개의 스토리를 완료할 수 있어야합니다.
  • 기능을 나누는 여러 전략이 있지만, 좋은 전략 중 하나는 이야기를 수직으로 나누는 것입니다. 독립적이고 완전히 독립된 이야기를 사용자가 목표를 달성하기 위해 수행해야 하는 개별 이야기로 수직으로 나누는 것입니다. 고객에게 단일 이야기를 배포하지 못할 수도 있지만, 팀은 제작 환경의 기능 플래그를 사용하여 각 이야기와 테스트 및 상호 작용 할 수 있어야합니다. 이는 이해 관계자가 이야기의 진행 상황을 볼 수 있도록 도와주는 것뿐만 아니라 복잡한 기능을 접근 가능한 개발 목표로 분해하는 메커니즘입니다.
  • 이야기의 복잡성에 따라 작업을 사용하여 개발자가 이야기를 완료하기 위해 수행해야 하는 독립적인 구현 단계로 이야기를 나눌 수 있습니다.

시간적인 측면에서 작업 항목의 크기와 범위를 결정하기 위해 다음 가이드라인을 대상으로 하세요:

  • 기능은 단일 이터레이션에서 완료할 수 있어야합니다.
  • 이야기는 유저 스토리 에 수일 내에 완료할 수 있어야합니다.
  • 작업은 몇 시간에서 하루 안에 완료할 수 있어야합니다.

예시: 기능 세로로 나누기

다음은 최종 사용자의 여정에 기반한 세로로 나뉜 작업 스토리를 기반으로 기능을 수직으로 나눈 예시입니다:

flowchart TD Epic["Epic: 어플리케이션 사용 시 계정을 생성해야 합니다. 그래서 어플리케이션 기능을 사용할 수 있습니다."] --> Issue1["Issue: 계정을 생성할 때 이메일 주소를 지정해야 합니다. 그래서 앞으로의 업데이트를 받을 수 있습니다."] Epic --> Issue2["Issue: 계정을 생성할 때 비밀번호를 지정해야 합니다. 그래서 내 계정이 안전하게 유지됩니다."] Epic --> Issue3["Issue: 계정을 생성하고 필요한 정보를 입력할 때, 계정 생성을 완료해야 합니다. 그래서 로그인할 수 있습니다."]

여러분은 애플리케이션에 대한 수정되지 않은 계정 가입 기능을 세 가지 이야기로 나누었습니다:

  1. 이메일 주소 입력
  2. 비밀번호 입력
  3. 계정 생성을 실행하기 위한 버튼 선택

기능을 이야기로 나누었으면, 해당 이야기를 구체적인 구현 단계로 더 세분화할 수 있습니다:

flowchart TD Issue1["Issue: 계정을 생성할 때 이메일 주소를 지정해야 합니다. 그래서 앞으로의 업데이트를 받을 수 있습니다."] Issue1 --> Task2["Task: Backend - 이메일 형식 확인"] Issue1 --> Task3["Task: Backend - 클라이언트로부터의 POST 요청을 수락하는 API 엔드포인트"] Issue1 --> Task4["Task: Frontend - 이메일 입력 표시"] Issue1 --> Task5["Task: Frontend - 유효성 검사 실패 시 오류 메시지 표시"]

릴리스 계획 보드 설정

납품 구조를 정의했습니다. 다음 단계는 기능 백로그를 개발하고 유지할 때 사용할 에픽 보드를 만드는 것입니다.

새 에픽 보드를 만들려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾으세요.
  2. Plan > 에픽 보드를 선택합니다.
  3. 왼쪽 상단 모서리에서 현재 보드 이름이 있는 드롭다운 목록을 선택합니다.
  4. 새 보드 만들기를 선택합니다.
  5. 새 보드의 제목을 입력하세요: 릴리스 계획.
  6. 보드 만들기를 선택하세요.

다음으로, priority::later, priority::next, priority::now 레이블에 대한 새 목록을 만드세요.

새 목록을 만드는 방법:

  1. 보드의 오른쪽 상단에서 목록 생성을 선택합니다.
  2. 새 목록 열에서 레이블 선택 드롭다운 목록을 확장하고 목록 범위로 사용할 레이블을 선택합니다.
  3. 보드에 추가를 선택합니다.

이러한 목록을 사용하여 보드에서 기능을 좌측에서 우측으로 이동하는 데 도움이 됩니다.

릴리스 계획 보드에서 각 목록을 사용하여 다음의 시간 단위를 나타내세요:

  • Open: 아직 우선 순위를 정하지 않은 기능들
  • Later: 나중에 릴리스의 우선 순위를 정할 기능들
  • Next: 다음 릴리스를 대비해 가정적으로 계획된 기능들
  • Now: 현재 릴리스를 위해 우선 순위를 정한 기능들
  • Closed: 완료되거나 취소된 기능들

첫 번째 에픽 생성

다음으로, priority::now 목록에 새 에픽을 만드세요:

  1. priority::now 목록 상단에서 새 에픽 () 아이콘을 선택합니다.
  2. 새 에픽의 제목을 입력하세요:

    어플리케이션 사용 시 계정을 생성해야 합니다. 그래서 어플리케이션 기능을 사용할 수 있습니다.
    
  3. 에픽 만들기를 선택하세요.

이 단계를 완료하면 보드가 다음과 같이 보일 것입니다:

예시 에픽 보드

이제 릴리스 계획 보드를 사용하여 백로그를 신속하게 구축할 수 있습니다.

많은 기능을 생성하고 이를 Now, Next, Later 목록으로 우선 순위를 정하세요. 다음에 각 이야기를 이야기와 작업으로 더 자세히 나누세요.

목록 또는 목록 사이에서 기능 에픽의 순서를 변경하려면 에픽 카드를 드래그하세요. 또한 카드를 목록의 맨 위 또는 맨 아래로 이동할 수도 있습니다.

이야기 백로그 관리

에픽으로 정의된 기능들이 있는 경우, 다음 단계는 해당 기능을 상세하고 수직으로 나눈 이슈로 나누는 것이며, 이를 전용 백로그 보드에서 반복별로 정제하고 순서를 지정해야 합니다.

기능을 이야기로 나누기

스프린트 계획 회의를 효율적으로 진행하기 위해 사전에 기능을 수직으로 나누어 세부적인 이야기로 나누세요. 이전 단계에서 첫 번째 기능을 생성했습니다. 이것을 이야기로 나눕시다.

첫 이야기를 만드는 방법:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾으세요.
  2. Plan > 에픽 보드를 선택합니다.
  3. 왼쪽 상단에서 현재 보드 이름이 릴리스 계획으로 표시되는지 확인하세요. 그렇지 않다면, 해당 보드를 드롭다운 목록에서 선택하세요.
  4. 에픽 카드의 제목을 클릭하여 에픽을 엽니다.
  5. 하위 이슈 및 에픽 섹션에서 추가 > 새 이슈 추가를 선택합니다.
  6. 이슈의 제목으로 다음을 입력하세요:

    내 계정을 생성할 때, 앞으로의 애플리케이션 업데이트를 받기 위해 내 이메일 주소를 지정해야 합니다
    
  7. 이슈를 생성할 프로젝트를 선택하는 프로젝트 드롭다운 목록에서 프로젝트를 선택하세요.
  8. 이슈 생성을 선택하세요.
  9. 다른 두 세로 조각에 대해 이 프로세스를 반복하세요:

    내 계정을 생성할 때, 내 계정이 안전하게 유지되기 위해 비밀번호를 지정해야 합니다
    
    내 계정을 생성하고 필요한 정보를 입력할 때, 내 계정에 로그인하기 위해 계정 생성을 완료해야 합니다
    

스토리 백로그를 정제하세요

이전 단계에서는 기능을 완료하기 위해 필요한 사용자 스토리를 세분화했습니다. 다음으로, 이야기 백로그를 관리하고 정제하는 명시적 위치로 서브 보드를 설정하세요.

그룹에서 새로운 이슈 보드인 백로그를 만드세요. 이 보드를 사용하여 스토리를 다가오는 스프린트(이터레이션)에 순서를 매기고 일정에 넣을 것입니다.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾으세요.
  2. Plan > Issue boards를 선택하세요.
  3. 왼쪽 상단에서 현재 보드 이름이 있는 드롭다운 목록을 선택하세요.
  4. 새 보드 생성을 선택하세요.
  5. 새 보드의 제목을 입력하세요: 백로그.
  6. 보드 생성을 선택하세요.

보드를 만든 후, 다가오는 이터레이션마다 새로운 목록을 만드세요:

  1. 이슈 보드 페이지의 오른쪽 상단에서 목록 생성을 선택하세요.
  2. 나타나는 열에서 Scope 아래에서 Iteration을 선택하세요.
  3. Value 드롭다운 목록에서 이터레이션 중 하나를 선택하세요.
  4. 보드에 추가를 선택하세요.
  5. 다른 다가오는 이터레이션에 대해 이전 단계를 반복하세요.

그런 다음, 이터레이션이 끝나면 완료된 이터레이션 목록을 제거하고 단계 설정에 따라 자동으로 생성된 새로운 미래 이터레이션을 추가하세요.

이 시점에서는 스토리가 추정되거나 작업으로 정제되지 않았습니다. 정제를 위해 이러한 스토리에 표시하세요:

  1. 보드에서 각 이슈의 카드를 선택하고 status::refine 레이블을 적용하세요:
    1. 사이드바의 레이블 섹션에서 편집을 선택하세요.
    2. 할당된 레이블 목록에서 status::refine 레이블을 선택하세요.
    3. 할당된 레이블 옆의 X를 선택하거나 레이블 섹션 외부의 영역을 선택하세요.
  2. 세 가지 이야기를 원하는 다가오는 스프린트로 끌어다가 이야기를 해당 스프린트로 할당하세요.

튜토리얼에서 현재까지의 백로그 보드는 다음과 같아야 합니다:

예시 이슈 보드

실전에서는 이 보드를 사용하여 많은 이야기를 다가오는 이터레이션에 순서를 매길 것입니다. 백로그가 커지거나 여러 기능에 걸쳐 수십 개의 이야기가 있는 경우, Epic별 그룹화를 활성화하여 해당 기능 Epic에 관련된 이야기를 볼 수 있도록 하는 것이 도움이 될 수 있습니다. 이야기가 그룹화되면 다가오는 이터레이션에 순서를 매기는 것이 더 쉬워집니다.

스프린트 계획 세례

백로그가 준비되었으므로 다가오는 스프린트를 계획하는 시간입니다. GitLab에서 동기적 방법과 비동기적 방법을 사용하여 스프린트 계획 미팅을 용이하게 할 수 있습니다.

동기적 방법

스프린트 계획 세례를 진행할 때 팀과 함께 백로그 보드를 열어 각 이야기를 확인하고 작업하세요. 다음 스프린트 계획은 현재 스프린트의 마지막 날에 시작해야 합니다. 각 이슈를 논의할 때:

  • 수용 기준을 검토하고 협업하세요. 이 문제에 체크리스트나 목록 항목을 사용하여 수용 기준을 캡처할 수 있습니다.
  • 각 구현 단계에 대한 이야기를 더 자세히 세분화하세요.
  • 이슈의 이야기 포인트 노력이나 복잡성을 추정하고 이 값을 이슈의 Weight 필드에 설정하세요.
  • 팀이 이 문제의 범위에 만족하고 이야기 포인트 값을 합의하면, 이 문제에 status::ready 레이블을 적용하세요:

    1. 사이드바의 레이블 섹션에서 편집을 선택하세요.
    2. 할당된 레이블 목록에서 status::ready 레이블을 선택하세요.
    3. 할당된 레이블 옆의 X를 선택하거나 레이블 섹션 외부의 영역을 선택하세요.

다가오는 이터레이션의 모든 이슈를 순환했을 때 스프린트 계획이 완료됩니다!

팀의 속도를 스프린트 약정에 통합하는 것을 기억하세요. 각 이터레이션 목록 상단에서 할당된 이야기 포인트(Weight)의 총 수를 찾을 수 있습니다. 또한 이전 스프린트에서 롤오버될 가능성이 있는 이야기 포인트를 확인하는 것도 좋습니다.

비동기적 방법

동기적 미팅을 개최하는 대신, 스프린트 계획을 실행하기 위해 이슈를 사용하세요.

비동기적 스프린트 계획의 성격을 고려하면, 현재 스프린트가 끝나기 며칠 전에 시작해야 합니다. 모든 팀 멤버에게 기여하고 협업할 적절한 시간을 제공하세요.

  1. 백로그 이슈 보드를 열어보세요:
    1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾으세요.
    2. Plan > Issue boards를 선택하세요.
    3. 왼쪽 상단에서 현재 보드 이름이 있는 드롭다운 목록을 선택하세요.
    4. 백로그를 선택하세요.
  2. 다가오는 스프린트를 위한 목록에서 새 이슈 생성()를 선택하세요.
  3. 이슈 제목을 입력하세요: 릴리스 계획.
  4. 이슈 생성을 선택하세요.
  5. 이슈를 열고 각 이야기에 대한 논의 스레드를 만드세요.

    이슈 URL에 +를 추가하여 제목이 자동으로 확장됩니다. 이슈 URL에 +s를 추가하여 제목, 마일스톤, 담당자가 자동으로 확장됩니다. 다음 템플릿을 사용하여 이러한 스레드에 대해 다음과 같이 체크박스를 만들 수 있습니다:

    ## https://gitlab.example.com/my-group/application-b/-/issues/5+
    
    - [ ] 수용 기준 정의됨
    - [ ] 가중치 설정됨
    - [ ] 구현 단계(작업) 생성됨
    

    예:

    계획된 이야기에 대한 예시 스레드

  6. 각 이야기에 스레드가 생성된 후, 이슈 설명을 편집하고 각 팀 멤버를 언급하세요. 팀 멤버를 언급하면 자동으로 각자의 할 일 목록에 대한 to-do 항목이 만들어집니다.
  7. 이야기가 시작되기 전에 팀 멤버는 다음을 비동기적으로 진행해야 합니다:

    • 각 문제를 논의하고, 질문을 하고, 각 계획된 문제의 수용 기준에 맞추기 위해 협업하세요.
    • :one:, :two:, :three:과 같은 반응 이모지를 사용하여 어떤 이야기 포인트(가중치)가 되어야 하는지 투표하세요. 팀 멤버가 서로 다른 이야기 포인트 값을 설정하는 경우, 합의가 이루어질 때까지 논의할 수 있는 좋은 기회입니다. 여러 다양한 반응을 평균하여 이야기 포인트를 맞추는 데도 사용할 수 있습니다.
    • 수직 슬라이스(이슈)를 구현 단계(작업)로 나누세요.
  8. 각 이야기 토의가 끝나면, 수용 기준에 대한 변경 사항을 이슈에 업데이트하고 Weight 필드에 이야기 포인트 값을 설정하세요.
  9. 이야기가 업데이트되면 각 이슈에 status::ready 레이블을 추가하세요.
  10. 그런 다음, 해당 수직 슬라이스에 대한 계획이 완료되었음을 나타내기 위해 계획 이슈에서 각 논의 스레드를 해결하세요.

스프린트 진행 추적

팀은 스프린트 기간 동안의 작업을 시각화하고 관리하기 위해 현재 스프린트 범위를 나타내는 전용 이슈 보드를 만들 수 있습니다. 이 보드는 팀의 진행 상황과 어떠한 잠재적인 차단 요소도 투명하게 제공합니다. 팀은 또한 버레운다운 차트를 통해 추가적인 가시성을 위해 이터레이션 분석을 사용할 수 있습니다.

현재 스프린트를 위한 보드 생성

그룹에서 새로운 이슈 보드를 만들어 현재 스프린트라는 제목을 붙입니다.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 계획 > 이슈 보드를 선택합니다.
  3. 왼쪽 상단 모서리에서 현재 보드 이름이 나열된 드롭다운 목록을 선택합니다.
  4. 새 보드 만들기를 선택합니다.
  5. 새 보드의 제목을 입력하세요: 현재 스프린트.
  6. 범위 옆에서 확장을 선택합니다.
  7. 이터레이션 옆에서 편집을 선택합니다.
  8. 이터레이션 주기 아래에서 현재를 선택합니다.
  9. 보드 만들기를 선택합니다.

이제 보드는 현재 이터레이션에 할당된 이슈만 표시됩니다. 이를 사용하여 활성 스프린트의 팀 진행 상황을 시각화할 수 있습니다.

그런 다음, 다양한 상태에 대한 레이블 목록을 만듭니다:

  1. 이슈 보드 페이지의 오른쪽 상단에서 목록 만들기를 선택합니다.
  2. 나타나는 열에서 범위 아래에서 레이블을 선택합니다.
  3. 드롭다운 목록에서 다음 중 하나의 레이블을 선택합니다:

    • status::refine: 이슈는 개발되기 전에 추가적인 정제가 필요합니다.
    • status::ready: 이슈는 개발 준비가 되어 있습니다.
    • status::in progress: 이슈는 개발 중입니다.
    • status::review: 이슈의 해당 MR(Merge Request)은 코드 리뷰를 거치고 있습니다.
    • status::acceptance: 이슈는 이해관계자 승인 및 QA 테스트를 위해 준비되어 있습니다.
    • status::done: 이슈의 승인 기준이 충족되었습니다.
  4. 보드에 추가를 선택합니다.
  5. 다른 레이블에 대해 이전 단계를 반복합니다.

그런 다음, 스프린트가 진행됨에 따라 이슈를 다른 목록으로 끌어서 status:: 레이블을 변경합니다.

스프린트를 위한 버레운다운 및 버너업 차트 보기

스프린트 중에는 이터레이션 보고서를 검토하는 것이 도움이 될 수 있습니다. 이터레이션 보고서는 진행 메트릭과 버레운다운 및 버너업 차트를 제공합니다.

보고서를 보려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 계획 > 이터레이션을 선택하고 이터레이션 주기를 선택합니다.
  3. 이터레이션을 선택합니다.