튜토리얼: GitLab을 사용하여 스크럼 촉진하기

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

이 튜토리얼은 GitLab의 민첩한 계획 및 추적 기능을 사용하여 핵심 스크럼 의식과 워크플로를 촉진하는 단계별 안내를 제공합니다.

그룹, 프로젝트, 보드 및 기타 기능을 신중하게 설정하여 팀은 투명성, 협업 및 납품 주기를 향상시킬 수 있습니다.

Martin Fowler의 Agile Fluency Model에 따르면, Scrum을 실천하는 팀은 다음과 같이 생각하고 계획합니다:

…그들의 후원자, 고객 및 사용자가 그들의 소프트웨어에서 볼 수 있는 혜택 측면에서 생각하고 계획합니다.

그들은 매월 진행 상황을 시연함으로써 이를 달성하며, 더 많은 비즈니스 및 고객 가치를 제공하기 위해 자신의 프로세스와 작업 습관을 정기적으로 개선합니다.

이 튜토리얼은 다음 주제를 다룹니다:

그룹 및 프로젝트 설정

GitLab에서 스크럼 관행을 촉진하기 위해서는 먼저 그룹과 프로젝트의 기본 구조를 설정해야 합니다.

그룹을 사용하여 해당 그룹에 중첩된 프로젝트가 상속받을 수 있는 보드 및 레이블을 생성합니다.

프로젝트에는 각 스프린트의 실제 작업 항목을 구성하는 문제 및 작업이 포함됩니다.

GitLab의 상속 모델 이해하기

GitLab은 그룹이 프로젝트를 포함하는 계층 구조를 가지고 있습니다.

그룹 수준에서 적용된 설정 및 구성은 하위 프로젝트로 전달되므로 여러 프로젝트에 걸쳐 레이블, 보드 및 반복을 표준화할 수 있습니다:

%%{init: { "fontFamily": "GitLab Sans" }}%% flowchart TD accTitle: GitLab 상속 모델 다이어그램 accDescr: GitLab에서 그룹, 프로젝트, 문제, 레이블, 마일스톤, 반복, 작업 및 에픽이 서로 관련되는 방식을 보여줍니다. Group -->|Contains| Project Group -->|Contains| Epics Group -->|Contains| Labels Group -->|Contains| Boards Group -->|Contains| Iterations Group -->|Contains| Milestones Group -->|Contains| Roadmaps Project -->|Contains| Issues Project -->|Contains| Templates Project -->|Contains| Tasks Project -->|Contains| Milestones Project -->|Contains| Labels Labels .->|Cascades To| Project Issues .->|Rolls up to| Group Iterations .->|Cascades to| Project Milestones .->|Cascades to| Project Templates .->|Cascades to| Project Templates .->|Configured in| Group Issues .->|Child of| Epics Issues .->|Visible in| Boards Issues .->|Visible in| Lists Issues .->|Assigned to| Iterations Issues .->|Assigned to| Milestones Tasks .->|Child of| Issues Tasks .->|Assigned to| Iterations Tasks .->|Assigned to| Milestones Epics .->|Visible in| Boards Epics .->|Visible in| Roadmaps Epics .->|Visible in| Lists
  • 그룹에는 하나 이상의 프로젝트, 에픽, 보드, 레이블 및 반복이 포함됩니다.
    그룹의 사용자 구성원은 그룹의 프로젝트로 전달됩니다.

  • 그룹 또는 프로젝트에서 보드와 레이블을 생성할 수 있습니다.
    이 튜토리얼에서는 많은 프로젝트에 걸쳐 표준화된 계획 워크플로 및 보고를 촉진하기 위해 그룹에서 생성해야 합니다.

  • 프로젝트로 전달될 수 있는 모든 객체는 해당 프로젝트의 문제와 연결될 수 있습니다.
    예를 들어, 그룹의 레이블을 문제에 적용할 수 있습니다.

그룹 만들기

스크럼 활동을 위한 전용 그룹을 만드세요.

이 그룹은 프로젝트와 보드 및 레이블과 같은 구성을 표준화하고자 하는 부모 컨테이너가 됩니다.

이 그룹은 일반적인 스크럼 주기 동안의 다양한 활동을 위한 기본 위치가 됩니다.

이 그룹에는 보드, 기능(에픽), 스토리(이슈) 롤업 및 레이블이 포함됩니다.

그룹을 만들려면:

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

프로젝트 만들기

생성한 그룹에 하나 이상의 프로젝트를 만드세요.

프로젝트에는 부모 그룹으로 롤업되는 스토리가 포함됩니다.

빈 프로젝트를 만들려면:

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

스크럼 생애 주기의 다양한 단계 지원을 위한 범위 지정 레이블 만들기

다음으로, 생성한 그룹에서 문제에 추가하여 분류할 레이블을 만드세요.

이를 위한 가장 좋은 도구는 범위 지정 레이블로, 상호 배타적인 속성을 설정하는 데 사용할 수 있습니다.

스코프가 같은 두 레이블이 함께 사용되는 것을 방지하기 위해 스코프 레이블의 이름에 이중 콜론(::)이 사용됩니다.

예를 들어, status::in progress 레이블을 이미 status::ready가 있는 이슈에 추가하면 이전 레이블이 제거됩니다.

각 레이블을 만들려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾으세요.
  2. 관리 > 레이블을 선택하세요.
  3. 새 레이블을 선택하세요.
  4. 제목 필드에 레이블의 이름을 입력하세요. priority::now로 시작하세요.
  5. 선택 사항. 사용 가능한 색상에서 선택하거나 특정 색상을 위해 배경 색상 필드에 헥스 색상 값을 입력하여 색상을 선택하세요.
  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::maintenance

반복 주기 생성하기

GitLab에서 스프린트는 반복(iteration)이라고 합니다.

반복 주기는 문제에 대한 계획 및 보고를 위한 개별 연속 반복 타임박스를 포함합니다.

레이블과 유사하게, 반복은 그룹, 하위 그룹 및 프로젝트 계층을 따라 전파됩니다.

그래서 생성한 그룹에서 반복 주기를 만들어야 합니다.

선행 조건:

  • 그룹에 대해 최소한 Reporter 역할을 가져야 합니다.

반복 주기를 생성하려면:

  1. 왼쪽 사이드바에서 Search or go to를 선택하고 그룹을 찾습니다.

  2. Plan > Iterations를 선택합니다.

  3. New iteration cadence를 선택합니다.

  4. 반복 주기의 제목과 설명을 입력합니다.

  5. Enable automatic scheduling 체크박스가 선택되어 있는지 확인합니다.

  6. 자동 스케줄링을 사용하기 위해 필수 필드를 완료합니다.
    • 반복 주기의 자동화 시작 날짜를 선택합니다. 반복은 시작 날짜의 요일과 동일한 요일에 시작되도록 예약됩니다.
    • Duration 드롭다운 목록에서 2를 선택합니다.
    • Upcoming iterations 드롭다운 목록에서 4를 선택합니다.
    • Enable roll over 체크박스를 선택합니다.
  7. Create cadence를 선택합니다. 주기 목록 페이지가 열립니다.

이렇게 반복 주기가 구성되면:

  • 각 스프린트는 2주 길이입니다.

  • GitLab은 미래에 네 개의 스프린트를 자동으로 생성합니다.

  • 한 스프린트의 완료되지 않은 문제는 현재 스프린트가 종료될 때 다음 스프린트로 자동 재배정됩니다.

Automatic scheduling을 비활성화하고

수동으로 반복을 생성하고 관리하기 원할 경우 주기에서 수행할 수 있습니다.

기능 백로그 관리하기

기능 백로그는 에픽의 형태로 아이디어와 원하는 기능을 캡처합니다.

이 백로그를 정제하면서 에픽은 다가오는 스프린트로 흐르도록 우선 순위를 매깁니다.

이 섹션에서는 백로그 관리를 용이하게 하기 위해 에픽 보드를 생성하고 첫 번째 기능 에픽을 작성하는 방법을 다룹니다.

작업 구조를 결정하기

GitLab은 다양한 형태의 백로그 관리를 지원하기 위해 확장 가능합니다.

이 튜토리얼에서는 우리의 결과물을 다음과 같이 구조화할 것입니다:

%%{init: { "fontFamily": "GitLab Sans" }}%% flowchart TD accTitle: Deliverables structure accDescr: Flowchart of features (epics) to job stories (issues) to implementation steps (tasks) Epic["Feature (Epic)"] --> Issue["Job Story (Issue)"] Issue --> Task["Implementation Step (Task)"]
  • 에픽은 팀이 단일 반복 내에 제공할 수 있는 기능을 나타냅니다.

  • 각 에픽은 많은 작업 이야기를 포함하게 됩니다.

    • 이야기는 고객에게 실질적인 가치를 제공해야 하며, 명확한 수용 기준을 포함하고, 개인이 하루나 이틀 안에 완료할 수 있을 만큼 작아야 합니다.

    • 팀으로서 스프린트마다 네 개에서 열 개의 이야기를 완료할 수 있어야 합니다.

  • 기능을 나누는 전략은 많지만 훌륭한 전략은 이야기를 수직으로 슬라이스하여 사용자가 목표를 달성하기 위해 수행해야 하는 독립적인 이야기로 나누는 것입니다.

    고객에게 단일 이야기를 배포할 수 없더라도, 팀은 프로덕션 또는 스테이징 환경에서 기능 플래그를 사용하여 각 이야기를 테스트하고 상호작용할 수 있어야 합니다.

    이는 이해관계자에게 이야기 진행 상황에 대한 가시성을 제공하는 데 도움이 될 뿐만 아니라, 더 복잡한 기능을 접근 가능한 개발 목표로 분해하는 메커니즘입니다.

  • 이야기에 따라 복잡성에 따라, 개발자가 이야기를 완료하기 위해 취해야 할 개별 구현 단계로 이야기를 나누기 위해 작업을 사용할 수 있습니다.

시간 관점에서, 작업 항목의 크기 및 범위를 지정하는 다음 가이드라인을 목표로 합니다:

  • 기능은 단일 반복 내에 완료될 수 있습니다.

  • 이야기는 며칠 내에 완료될 수 있습니다.

  • 작업은 몇 시간에서 하루 내에 완료될 수 있습니다.

예시: 기능을 수직으로 slicing하기

다음은 최종 사용자의 여정을 기반으로 기능을 수직으로 분할하는 업무 스토리의 예입니다:

%%{init: { "fontFamily": "GitLab Sans" }}%% flowchart TD accTitle: 기능 slicing accDescr: 최종 사용자의 여정을 사용하여 반복적으로 완료할 작업 조각을 식별하세요 Epic["Epic: 애플리케이션을 사용할 때,<br>계정을 생성해야 합니다,<br>그래야 애플리케이션 기능을 사용할 수 있습니다."] --> Issue1["Issue: 계정을 생성할 때,<br>이메일 주소를 지정해야 합니다,<br>그래야 애플리케이션의 최신 정보를 받을 수 있습니다."] Epic --> Issue2["Issue: 계정을 생성할 때,<br>비밀번호를 지정해야 합니다,<br>그래야 내 계정이 안전하게 유지됩니다."] Epic --> Issue3["Issue: 계정을 생성할 때<br>필수 정보를 입력하고,<br>계정을 생성 완료해야 합니다,<br>그래야 로그인할 수 있습니다."]

당신은 애플리케이션의 수정되지 않은 계정 가입 기능을 세 개의 개별 스토리로 나누었습니다:

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

기능을 스토리로 나눈 후, 스토리를 개별 구현 단계로 더 나눌 수 있습니다:

%%{init: { "fontFamily": "GitLab Sans" }}%% flowchart TD accTitle: 스토리를 더 세분화하기 accDescr: 스토리를 더 작은 단계로 나누기 Issue1["Issue: 계정을 생성할 때,<br>이메일 주소를 지정해야 합니다,<br>그래야 애플리케이션의 최신 정보를 받을 수 있습니다."] Issue1 --> Task2["Task: 백엔드<br>이메일 형식 검증"] Issue1 --> Task3["Task: 백엔드<br>클라이언트의 POST 요청을 수용하는<br>API 엔드포인트"] Issue1 --> Task4["Task: 프론트엔드<br>이메일 입력 표시"] Issue1 --> Task5["Task: 프론트엔드<br>유효성 검사가 실패할 때 오류 메시지 표시"]

릴리즈 계획 보드 설정하기

당신은 전달물 구조를 정의했습니다.

다음 단계는 기능 백로그를 개발하고 유지하는 데 사용할 에픽 보드를 만드는 것입니다.

새로운 에픽 보드를 만들려면:

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

다음으로, priority::later, priority::next, priority::now 레이블에 대한 목록 만들기를 진행합니다.

새 목록을 만들려면:

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

이 목록을 사용하여 기능이 보드를 통해 왼쪽에서 오른쪽으로 이동하도록 돕습니다.

릴리즈 계획 보드의 각 목록을 다음 시간 범위를 나타내는 데 사용합니다:

  • 열림: 아직 우선 순위가 지정되지 않은 기능.
  • 나중에: 나중에 릴리즈에서 우선 순위가 매겨질 기능.
  • 다음: 다음 릴리즈에 잠정적으로 계획된 기능.
  • 현재: 현재 릴리즈를 위해 우선 순위가 매겨진 기능.
  • 종료됨: 완료되었거나 취소된 기능.

처음으로 에픽 생성하기

다음으로, priority::now 목록에 새 에픽을 생성하세요:

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

    애플리케이션을 사용할 때, 애플리케이션 기능을 사용하기 위해 계정을 생성해야 합니다.
    
  3. Create epic을 선택합니다.

이 단계가 완료되면, 보드는 다음과 같아야 합니다:

Example epic board

이제 Release Planning 보드를 사용하여 빠르게 백로그를 구축할 수 있습니다.

많은 기능을 스텁으로 작성하고 Now, Next, Later 목록으로 우선 순위를 매기세요.
다음으로, 각 스토리를 더욱 세분화하여 스토리와 태스크로 나누는 데 시간을 할애하세요.

목록이나 목록 간에 기능 에픽의 순서를 변경하려면 에픽 카드를 드래그하세요.
또한 카드를 목록의 상단이나 하단으로 이동할 수 있습니다.

스토리 백로그 관리

기능이 에픽으로 정의되면, 다음 단계는 그 기능을 더 세분화된 수직 슬라이스로 나누어 이슈로 만드는 것입니다.
그 후, 전용 백로그 보드에서 그러한 이슈들을 다듬고 순서를 정할 것입니다.

기능을 스토리로 나누기

기능을 사전 정의된 수직 슬라이스의 스토리로 나누어 효율적인 스프린트 계획 회의를 준비하세요.
이전 단계에서 첫 번째 기능을 생성했습니다.
이를 스토리로 나누어 보겠습니다.

첫 번째 스토리를 생성하려면:

  1. 왼쪽 사이드바에서 Search or go to를 선택하고 그룹을 찾습니다.
  2. Plan > Epic boards를 선택합니다.
  3. 왼쪽 상단 모서리에서 현재 보드 이름이 Release Planning으로 표시되는지 확인합니다.
    그렇지 않다면, 드롭다운 목록에서 해당 보드를 선택하세요.
  4. 에픽 카드의 제목을 클릭하여 에픽을 엽니다.
  5. Child issues and epics 섹션에서 Add > Add a new issue를 선택합니다.
  6. 이슈 제목으로 다음 내용을 입력하세요:

    계정을 만들 때 애플리케이션의 미래 업데이트를 받을 수 있도록 이메일 주소를 지정해야 합니다.
    
  7. Project 드롭다운 목록에서 이슈를 생성할 프로젝트를 선택합니다.
  8. Create issue를 선택합니다.
  9. 다른 두 개의 수직 슬라이스에 대해서도 이 과정을 반복하세요:

    계정을 만들 때 내 계정이 안전하게 유지되도록 비밀번호를 지정해야 합니다.
    
    필수 정보를 입력하여 계정을 만들 때, 계정 생성을 완료하여 로그인할 수 있어야 합니다.
    

스토리 백로그 다듬기

이전 단계에서 기능을 완성하는 데 필요한 사용자 스토리로 나누었습니다.
다음으로, 스토리 백로그를 관리하고 다듬기 위한 표준 위치로 사용할 이슈 보드를 설정하세요.

그룹에서 Backlog라는 새 이슈 보드를 생성합니다.
이 보드를 사용하여 스토리를 향후 스프린트(반복)로 순서 정리하고 일정에 추가할 것입니다:

  1. 왼쪽 사이드바에서 Search or go to를 선택하고 그룹을 찾습니다.
  2. Plan > Issue boards를 선택합니다.
  3. 왼쪽 상단 모서리에서 현재 보드 이름이 있는 드롭다운 목록을 선택합니다.
  4. Create new board를 선택합니다.
  5. 새 보드 제목으로 Backlog를 입력합니다.
  6. Create board를 선택합니다.

보드를 생성한 후, 각 향후 반복을 위한 새 목록을 생성합니다:

  1. 이슈 보드 페이지의 오른쪽 상단 모서리에서 Create list를 선택합니다.
  2. 나타나는 열에서 Scope 아래에서 Iteration을 선택합니다.
  3. Value 드롭다운 목록에서 반복 중 하나를 선택합니다.
  4. Add to board를 선택합니다.
  5. 다른 향후 반복에 대해서도 이전 단계를 반복합니다.

이후 반복이 끝나면 완료된 반복 목록을 제거하고 카운터 설정에 따라 자동으로 생성된 새로운 미래 반복을 위한 새 목록을 추가해야 합니다.

이 시점에서 스토리는 추정되거나 태스크로 세분화되지 않았습니다.
그들을 세분화할 수 있도록 표시합니다:

  1. 보드에서 각 이슈 카드 선택status::refine 라벨을 적용합니다:
    1. 사이드바의 Labels 섹션에서 Edit을 선택합니다.
    2. Assign labels 목록에서 status::refine 라벨을 선택합니다.
    3. Assign labels 옆의 X를 선택하거나 라벨 섹션 외부의 아무 곳이나 선택합니다.
  2. 세 개의 스토리를 원하는 예정 스프린트로 드래그하여 해당 스프린트 시간 박스에 할당합니다.

이 시점에서 튜토리얼의 Backlog 보드는 다음과 같아야 합니다:

Example issue board

실제로 이 보드를 사용하여 향후 반복에 많은 스토리를 순서화할 것입니다.
백로그가 증가하고 여러 기능에 걸쳐 수십 개의 스토리가 생기면, 스토리가 해당 기능의 에픽과 관련된 것을 볼 수 있도록 Group by epic를 활성화하는 것이 유용할 수 있습니다.
스토리가 그룹화되면 이를 향후 스프린트로 순서화하기가 더 쉽습니다.

스프린트 계획 세션

백로그가 준비되었으니, 다가오는 스프린트를 계획할 시간입니다.

GitLab에서 스프린트 계획 회의를 용이하게 하기 위해 동기식 및 비동기식 방법을 사용할 수 있습니다.

동기식 계획

스프린트 계획 세션 시간에 팀과 함께 백로그 보드를 열고 각 스토리를 진행하세요.

현재 스프린트의 마지막 날에 다음 스프린트를 계획하기 시작해야 합니다.

각 문제에 대해 논의할 때:

  • 수용 기준을 검토하고 협력합니다.

    체크리스트나 목록 항목을 사용하여 문제의 설명에 이를 캡처할 수 있습니다.

  • 각 구현 단계에 대해 스토리를 작업으로 더 세분화합니다.

  • 문제의 스토리 포인트 노력 또는 복잡성을 추정하고 이 값을 문제의 Weight 필드에 설정합니다.

  • 팀이 문제의 범위에 만족하고 스토리 포인트 값에 동의하면, 문제에 status::ready 레이블을 적용합니다:

    1. 사이드바의 Labels 섹션에서 Edit를 선택합니다.

    2. Assign labels 목록에서 status::ready 레이블을 선택합니다.

    3. Assign labels 옆에 있는 X를 선택하거나 레이블 섹션 외부의 아무 구역을 선택합니다.

다가오는 반복에서 모든 문제를 순환한 후, 스프린트 계획이 완료됩니다!

팀의 속도를 스프린트 약속에 통합하는 것을 기억하세요.

각 반복 목록 상단에서 각 스프린트에 할당된 총 스토리 포인트(무게)를 확인할 수 있습니다.

이전 스프린트에서 롤오버될 가능성이 있는 스토리 포인트를 확인하는 것도 가치 있습니다.

비동기식 계획

동기식 회의를 여는 대신 문제를 사용하여 스프린트 계획을 진행합니다.

비동기식 스프린트 계획의 특성상, 현재 스프린트가 끝나기 며칠 전에 이를 시작해야 합니다.

모든 팀원이 기여하고 협력할 수 있는 적절한 시간을 제공하세요.

  1. 백로그 이슈 보드를 엽니다:

    1. 왼쪽 사이드바에서 Search or go to를 선택하고 그룹을 찾습니다.

    2. Plan > Issue boards를 선택합니다.

    3. 상단 왼쪽 모서리에서 현재 보드 이름이 있는 드롭다운 목록을 선택합니다.

    4. Backlog를 선택합니다.

  2. 다가오는 스프린트 목록에서 Create new issue ( )를 선택합니다.

  3. 문제의 제목을 입력합니다: Release Planning.

  4. Create issue를 선택합니다.

  5. 해당 이슈를 열고 다가오는 스프린트에 할당된 각 스토리에 대한 토론 스레드를 생성합니다.

    문제 URL 끝에 +를 추가하여 제목을 자동으로 펼칩니다.

    문제 URL 끝에 +s를 추가하여 제목, 마일스톤 및 담당자를 자동으로 펼칩니다.

    다음 템플릿을 사용하여 이러한 스레드를 만들고 체크박스를 생성할 수 있습니다:

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

    예를 들어:

    계획된 스토리에 대한 예시 스레드

  6. 각 스토리에 스레드가 생성되면, 문제 설명을 편집하고 각 팀원을 언급합니다.

    팀원을 언급하면 자동으로 각자의 할 일 목록에서 할 일 항목이 생성됩니다.

  7. 이후, 비동기식으로 다가오는 스프린트 시작 전에 팀원들은:

    • 각 문제에 대해 논의하고 질문하며, 계획된 각 문제에 대한 수용 기준을 조정하기 위해 협력합니다.

    • 스토리 포인트(무게)가 무엇이어야 하는지 투표하기 위해 :one:, :two:, :three:와 같은 리액션 이모지를 사용합니다.

      팀원이 서로 다른 스토리 포인트 값을 설정하면, 합의에 도달할 때까지 추가 논의할 좋은 기회입니다.

      또한 다양한 리액션을 평균내어 어떤 스토리 포인트로 조정할지를 결정할 수도 있습니다.

    • 수직 슬라이스(문제)를 구현 단계(작업)로 나눕니다.

  8. 각 스토리 논의가 끝나면, 수용 기준에 대한 변경 사항을 문제에 업데이트하고 Weight 필드에 스토리 포인트 값을 설정합니다.

  9. 스토리가 업데이트된 후, 각 문제에 status::ready 레이블을 추가합니다.

  10. 그런 다음, 해당 수직 슬라이스의 계획이 완료되었음을 알리기 위해 각 토론 스레드를 해결합니다.

스프린트 진행 상황 추적

스프린트 동안 작업을 시각화하고 관리하기 위해 팀은 현재 스프린트의 범위를 나타내는 전용 이슈 보드를 만들 수 있습니다.

이 보드는 팀의 진행 상황과 잠재적인 차질에 대한 투명성을 제공합니다.

팀은 또한 버너다운 차트를 통해 추가 가시성을 확보하기 위해 반복 분석을 사용할 수 있습니다.

현재 스프린트를 위한 보드 만들기

귀하의 그룹에서 현재 스프린트라는 제목의 새로운 이슈 보드를 만드세요:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 귀하의 그룹을 찾습니다.

  2. 계획 > 이슈 보드를 선택합니다.

  3. 왼쪽 상단 모서리에서 현재 보드 이름이 있는 드롭다운 목록을 선택합니다.

  4. 새 보드 만들기를 선택합니다.

  5. 새 보드의 제목을 입력합니다: Current Sprint.

  6. 범위 옆에서 확장을 선택합니다.

  7. 반복 옆에서 편집을 선택합니다.

  8. 반복 주기 아래에서 현재를 선택합니다.

  9. 보드 생성을 선택합니다.

이제 보드는 현재 반복에 할당된 이슈만 표시하도록 필터링됩니다.

활성 스프린트에서 팀의 진행 상황을 시각화하는 데 사용하세요.

다음으로, 모든 상태에 대한 레이블 목록을 만드세요:

  1. 이슈 보드 페이지의 오른쪽 상단에서 리스트 생성을 선택합니다.

  2. 나타나는 열에서 범위 아래에 레이블을 선택합니다.

  3. 드롭다운 목록에서 다음 레이블 중 하나를 선택합니다:

    • status::refine: 이슈는 개발되기 전에 추가 수정이 필요합니다.

    • status::ready: 이슈는 개발이 준비되었습니다.

    • status::in progress: 이슈는 개발 중입니다.

    • status::review: 이슈에 해당하는 MR이 코드 검토를 진행 중입니다.

    • status::acceptance: 이슈는 이해관계자 수락 및 QA 테스트를 위해 준비되었습니다.

    • status::done: 이슈의 수락 기준이 충족되었습니다.

  4. 보드에 추가를 선택합니다.

  5. 다른 레이블에 대해 이전 단계를 반복합니다.

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

스프린트에 대한 버너다운 및 버너업 차트 보기

스프린트 중에 반복 보고서를 검토하는 것이 유용할 수 있습니다.

반복 보고서는 진행 지표와 버너다운 및 버너업 차트를 제공합니다.

반복 보고서를 보려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 귀하의 그룹을 찾습니다.

  2. 계획 > 반복을 선택하고 반복 주기를 선택합니다.

  3. 반복을 선택합니다.