이 글은 JIRA 프로젝트 생성이 완료되었다는 전제 하에 진행된다.
프로젝트 액세스 권한
나는 프로젝트 하나를 진행하고 있는 상태에서 다른 프로젝트를 생성했었는데 문제가 발생했다. 바로 A 프로젝트 관련 사람들이 B 프로젝트 상황을 볼 수 있었던 것...! 그래서 팀을 만들기도 해보았는데 딱히 효과는 없었다.
그렇게 헤매다가 액세스 권한을 설정하니 해결되었다. 액세스 권한은 해당 프로젝트 페이지 → 프로젝트 설정 → 액세스 페이지로 들어가면된다.
그렇게 액세스 페이지를 들어가면 아래처럼 뜬다.
1. 우선 프로젝트 액세스 권한을 변경해준다.
2. 사용자를 추가해준다.
Role은 내가 임의로 추가하고 권한도 부여해줄 수 있다. 관리자, 구성원, 조회자로 이미 만들어져있어서 나는 따로 추가한 것은 없다.
이렇게만 하면 끝! 완전 잘 작동한다.
오류...? 실수...?
두 번째 지라 프로젝트를 생성했을 때는 잘 몰랐는데 이 게시글을 적으면서 좀 더 알아보니... 음 좀 잘못 사용하고 있었다. 지라의 사이트는 도메인명을 우리가 정하고 그걸 기반으로 아래처럼 사이트를 만든다.
https://${도메인명}.atlassian.net/jira/software/projects/${프로젝트_이름}
나는 첫 프로젝트를 만들 때, 도메인명을 A 프로젝트 이름으로 했었고, 그 도메인에서 그대로 B 프로젝트를 생성했어서 사이트도 아래처럼 이상하게 설정이 되었었다.
https://${A_프로젝트_이름}.atlassian.net/jira/software/projects/${B_프로젝트_이름}
이럴 경우, 이 사이트에서 새로운 도메인을 만들면 된다. 보통 도메인명은 조직명으로 작성한다. (나도 B 프로젝트 이름으로 새 사이트를 만들었다ㅎㅎ)
이슈 유형
Jira는 기본적으로 에픽, 버그, 스토리, 태스크, 서브 태스크와 같이 여러 이슈 유형을 제공하며, 필요에 따라 추가하거나 삭제할 수 있다. 따라서 어떤 이슈 유형을 몇 개 사용할지, 그리고 어떻게 적용할지는 프로젝트에 맞게 자유롭게 결정하면 된다.
위의 페이지에서 이슈 유형에 대해 필드를 추가하거나 삭제할 수 있다.
우선 기본적으로 제공하는 이슈 유형에 대해 간략하게 설명하자면:
- 에픽 (Epic)
여러 스토리나 태스크를 포괄하는 큰 단위의 작업이다. 큰 기능이나 프로젝트의 주요 목표를 나타내며, 하위 작업들을 그룹화하여 관리할 때 유용하다. (대충 제일 큰 범위라고 생각하면 된다.) - 스토리 (Story)
사용자 관점에서 바라본 기능이나 요구사항을 설명한다. 애자일 방법론에서는 "사용자 스토리"라고도 불리며, 사용자가 얻는 가치를 중심으로 작성된다. - 버그 (Bug)
소프트웨어나 시스템에서 발견된 결함이나 오류를 나타낸다. 버그 수정 작업을 추적하고 관리하는 데 사용된다. - 태스크 (Task)
특정 작업이나 할 일을 나타내며, 개발 이외의 다양한 작업에도 활용할 수 있다. 보통 일반적인 작업을 관리할 때 사용된다. - 서브 태스크 (Sub-task)
상위 이슈를 세분화한 작은 작업 단위로, 상위 이슈의 진행 상황을 더 자세히 추적할 수 있도록 도와준다.
이렇게 쓰면 되는데... 솔직히 첫 프로젝트하느라 공부했을 때 뭐라 말하는지 감이 1도 안 왔었다. (특히 스토리...) 그래서 아래 사진처럼 그냥 에픽과 태스크 두 가지만 사용했다. 이때는 키도 뭔지 몰라서 주어진 거 그대로 사용했었다...ㅎ
태스크가 보통 일반적인 작업을 관리할 때 사용된다고 했는데, 우리는 개발자가 다니깐 개발자 중심으로 가자며 그냥 태스크에 개발 일도 다 넣었었다. 그런데 이건 그냥 뭐 팀 내에서 정하면 되는 거니깐 진짜 뭘 어떻게 하든 자유라고 생각한다.
저렇게 에픽과 태스크 두 가지 이슈 유형을 활용하고, Git Flow를 통해 이슈를 생성하면 Jira에 자동으로 태스크가 생성되고, 이슈가 닫히면 태스크의 상태가 완료로 변경되도록 작동하게 만들었다. 이 부분은 추후에 별도로 글을 작성할 예정!
아무튼 본론으로 돌아와서, 나는 스토리의 큰 필요성을 못 느꼈고 사용하지 않을 예정이다. 스토리의 예시를 보면 "나는 사진이나 텍스트를 포함한 게시물을 작성하여 공유하고 싶다." 이런 식으로 적혀있던데 단순하게 에픽에 "게시물 작성 기능 구현"이라고 명시하는 것이 더 간결하다고 생각했기 때문이다.
게시물을 예시로 이슈를 관리하면 다음과 같이 진행할 수 있다.
에픽
- 요약: 게시물 기능
- 설명: 사용자가 게시물을 작성, 수정, 삭제하고 다른 사용자와 상호작용할 수 있는 기능을 개발한다.
작업(Task)
- 요약: 게시물 작성 기능 구현
- 설명:
- 사진이나 텍스트를 포함한 게시물 작성 폼 구성
- 미디어 파일 업로드 기능 포함
- 작성 후 게시물 확인 및 수정 가능하도록 구현
작업(Task)
- 요약: 게시물 수정 및 삭제 기능 구현
- 설명:
- 기존 게시물 내용을 자동 불러오는 기능 구현
- 삭제 전 확인 대화상자 제공
작업(Task)
- 요약: 댓글 및 좋아요 기능 추가
- 설명:
- 게시물별 댓글 작성 및 답글 기능 구현
- 좋아요 버튼 추가 및 통계 처리
버그(Bug)
- 요약: 게시물 이미지 업로드 실패
- 설명:
-
- 특정 상황에서 이미지 파일 업로드가 실패하는 현상 발생
- 파일 크기 제한 및 서버 업로드 모듈 점검 필요
여기에 더 세세히 나누고 싶으면 서브 태스크를 추가해도 된다.
그리고 앞에서도 말했지만 팀 내에서 합의를 통해 적절하게 아무렇게나 사용해도 된다!!
스프린트
스프린트는 정해진 기간(보통 1~4주)동안 특정 목표를 달성하기 위해 집중하는 개발 주기이다. Jira에서는 1주, 2주, 4주, 사용자 지정 이렇게 선택지가 있다.
.... 곧 추가 예쩡
사용하면서 알게된 점이 있으면 계속 추가할 예정이다.