주니어 개발팀이 Jira를 사용하는 법

김채은·2022년 8월 3일
27
post-thumbnail

🐇 애자일 방법론

나는 애자일의 자도 모르는 사람이었다. 졸업작품 프로젝트를 할 때 애자일 방식으로 개발을 하기로 하고 Jira도 사용해보았지만 사실상 제대로 되지는 않았다. 애자일과 스크럼에 대한 이해가 부족한 탓이었던 것 같다. 소프트웨어공학 수업을 듣지 않은 나를 원망했지만… 사실 공부하고 싶었으면 얼마든지 할 수 있던 거였다. 돌이켜 생각해보면 개발방법론 공부하기가 귀찮았던 것 같다.

소마에서 애자일 관련으로 멘토님들이 자주 틀어주신 영상이다. 이건 대략적인 설명이고, 자세하게 하나하나 풀어주신 영상도 이해에 도움이 되었다!

[ENG] 5분만에 애자일(Agile)의 대표주자 스크럼(Scrum) 완벽 마스터하기 | 일하는 우리 |

스크럼의 단계

위 영상을 바탕으로 정리한 스크럼 진행 과정이다.

  • 비전 설정 : 비전은 우리 팀의 목표라고 보면 된다. 우리 팀이, 또는 회사가 3-5년 뒤에 어떻게 돼있을지 목표를 세운다.
  • 로드맵 설정 : 팀의 비전 달성을 위한 연간 계획이다.
  • 프로덕트 백로그 정리 : 로드맵을 실행하기 위해 3개월 간 해야 할 일을 정리한다.
  • 릴리즈 플래닝 : 프로덕트 백로그를 실행하기 위한 일정을 계획하는 것이다.
  • 스프린트 플래닝 : 일주일~한달동안 어떻게 일을 할지에 대해 이야기하는 것이다. 프로덕트 백로그에서 이번 스프린트에서 할 일을 정하면 그게 스프린트 백로그가 된다.
  • 데일리 스크럼 : 매일매일 모든 팀원이 모여서 일의 진척도, 문제상황 등을 공유하는 짧은 회의이다.
  • 스프린트 리뷰 : 스프린트 종료후 결과물을 살펴보고 다음 스프린트는 어떻게 진행할지 이야기 하는 것이다. 스프린트 리뷰에서는 모든 이해관계자들이 모인다고 하는데, 소규모 팀에서는 사실상 리뷰와 회고를 동시에 진행하면 된다.
  • 회고 : 팀원들끼리 어떻게 일했는지, 어떻게 하면 더 잘할 수 있는지 이야기 한다.

대충 DFS라고 생각하면 이해가 편하다.

용어 정리

  • 에픽 : 릴리즈 플래닝 단계에서 도출되는 1-3개월짜리 할 일 목록이다.
  • 스토리 : 프로덕트 백로그에 작성되는 목록으로, 에픽 안에 포함된다. 한 스프린트 안에 들어갈 수 있는 크기로 작성되며, 형식은 (유저)가 (필요/욕구)를 위해서 (필요/욕구)를 원한다 이다. 형식은 조금씩 변화해도 되지만 유저 입장에서 작성되어야 한다!
    • 스토리 포인트 : 스토리를 달성하기 위해 필요하다고 생각되는 시간을 포인트로 환산한 것이다(1시간 == 1포인트). 개인이 아닌 팀의 리소스를 소비하는 시간으로 본다.
  • 태스크 : 스토리를 달성하기 위해 개개인이 해야 할 일이다. 여기선 진짜 ‘일'의 개념이라고 보면 된다. 태스크는 최대한 작은 단위로 쪼개어서 개인에게 할당하도록 한다(팀 회의 같은 경우는 예외).

🐇 Jira로 스크럼하기

세팅을 먼저 하면 ‘이걸 왜 하지?’ 싶은 부분이 있어서 세팅을 미리 해둔 상태로 Jira로 스크럼 하는 플로우를 따라가보겠다. 세팅하는 법은 아래에 나온다.

에픽 작성

원래는 프로덕트 백로그를 정리하고 우선순위에 맞게 정리한 뒤에 에픽으로 묶는 것 같은데… 진행하다보면 순서가 뒤죽박죽 되는 것 같다.

에픽은 로드맵에서 촤르륵 볼 수 있다.

스토리 작성

스토리는 스프린트 플래닝 때 작성한다. 에픽의 하위 레벨이다. 설명에는 스토리 설명과 스토리 인수 조건을 적는다. 인수 조건은 스토리가 달성되는 조건, 스토리 목표 정도로 생각하면 된다.

스토리를 누르고 오른쪽을 보면 세부 정보를 볼 수 있고, 밑의 더 많은 필드를 누르면 스토리 포인트 할당이 가능하다. 스토리 포인트는 간단히 말하자면 그 스토리에 소요될 것 같은 시간을 예측해서 적는 것이다. 스프린트 플래닝을 할 때 플래닝 포커를 하면서 정한다. 스토리에 어떤 작업이 들어갈지 모르는 채로 진행되는 거라 아직은 어렵다 ^^… 사실상 시간 예측은 그렇게 중요하지 않다고 느끼기에 여기에 너무 오랜 시간을 쏟는 건 좋지 않다고 생각한다.

하위 작업 작성

하위 작업은 스토리의 하위 레벨이다. 하위 작업은 미리 작성해두어도 되고 그때그때 추가해도 된다. 팀에서는 우선 미리 할 일을 뽑아두었다가 데일리 스크럼 때 할당을 통해 배분한다. 하위 작업을 추가하는 것도 데일리 스크럼 때 논의해서 해당 스프린트에서 해결할 수 있는 부분이면 추가해둔다.

하위 작업에는 담당자가 한명씩 할당되는데 회의 같은 경우는 공동작업으로 빼버린다. 관련 세팅은 밑에서 나온다.

하위 작업 설명에는 개요, 작업 환경, 작업 상세내용, 검증 방법 등을 적는다. 오른쪽에는 이런 창이 뜬다.

자주 쓰는 기능들이 여기에 많아서 쭉 적어보자면 다음과 같다.

  • 개발 : Github 등과 연동해서 이슈와 브랜치, 커밋을 연동해서 관리할 수 있다. 밑에서 세팅법이 나온다.
  • 레이블 : 작업에 태그를 걸 수 있다.
  • 최초 추정치 : 이 일을 하는 데 얼마나 걸릴 것 같은지 추정하는 것이다.
  • 시간 추적 : 실제로 이 일을 하는 데 얼만큼 시간을 썼는지 작성하는 것이다. 작업 설명도 써놓으면 로그를 확인할 수 있다.

작업 진행 관리는 할 일, 진행 중, VERIFY, 완료로 나누었다. 데일리 스크럼 때 할 일에 쌓여있는 태스크를 진행 중으로 가져온 다음, 완료하면 VERIFY로 넘긴다. 다음날 데일리 스크럼 때 한 일에 대해 다같이 검증을 하고 완료로 옮긴다. 개발 같은 경우는 데일리 스크럼에서 검증을 거친 후에 해당 이슈와 관련된 브랜치를 Merge한다.

🐇 Jira 세팅

템플릿과 유형

스페이스를 만들고 프로젝트 세부 사항을 다음과 같이 설정한다.

  • 템플릿 : 스크럼
  • 유형 : 회사에서 관리

팀으로 진행하는 프로젝트이지만 회사에서 관리를 선택해주어야 시간 추적 기능을 사용할 수 있다.

공동 작업 추가

헤더의 설정 아이콘 > 이슈 > 이슈 유형 으로 가서 이슈 유형을 추가할 것이다. 이 부분은 스페이스를 생성한 관리자만 진행할 수 있다.

Task는 팀원 한명 한명이 나눠가질 수 있도록 쪼개는 게 정석이지만 팀 회의처럼 모든 팀원이 참여하는 경우 한명 한명에게 같은 Task를 할당하는 방법도 있지만 다음과 같이 공동 작업으로 처리할 수 있다.

하위 작업으로 공동 작업을 생성하고 옆의 하위 작업 탭을 누르면 생성한 공동 작업의 아이콘을 편집할 수 있다. 기존 하위 작업과 다른 아이콘을 사용해야 구분이 쉽다.

이렇게 스토리의 하위 작업으로 개인 하위 작업과 공동 작업을 나눌 수 있다.

시간 추적

마찬가지로 이슈 > 이슈 기능 > 시간 추적 에서 시간 추적 설정을 편집할 수 있다. 지라는 기본적으로 주 5일, 하루 8시간 근무로 세팅되어 있다. 하지만 팀원이 3명인데 3시간 회의를 해서 총 9시간을 기록해야 할 때가 있다. 그럴 때 9h로 입력하면 1일 1시간으로 추적된다. 물론 문제는 없지만 보기 불편하므로 시간 추적 설정을 변경해준다.

전역 설정 편집을 누르고 일일 근무 시간을 24로 편집해준다. 주당 근무일도 팀 기준에 맞게 편집하고 저장한다.

팀원이 4명인데 하루에 8시간 씩 일을 한다고 하면 8*4 = 32(시간)을 쓰면 될 것 같다. 물론 하루에 8시간 팀 작업을 하진 않겠지만… 아무튼 유도리있게 하면 될 것 같다.

이제 9시간 로그를 찍어도 문제 없다.

진행 관리 열 추가

앞서서 태스크 진행 관리를 할 일, 진행 중, VERIFY, 완료로 관리하고 있다고 했다. 활성 스프린트에서 보드 설정에서 에 가면 활성 스프린트 보드 열을 추가 할 수 있다.

Github 연동

Jira와 Github를 연동하면 이슈와 커밋&브랜치를 연결해서 관리할 수 있다. Github Links for Jira가 더 위에 있는데 Github for Jira 를 추가해야 한다!!

Connect Github organization 으로 레포지토리 혹은 조직 전체를 연결한다.

이제 세팅 끝! 사용하면 된다. 쉽죠?

브랜치 이름 앞에 이슈 번호를 붙여서(Ex. LEAR-94-quiz) 올리면 브랜치가 연결되고, 사진에 있는 것처럼 커밋 메시지 안에 이슈 번호를 넣으면 커밋이 연결된다. 보니까 Github Action 앱으로 빌드도 연결하고 하던데 어떻게 하는지 한번 알아봐야겠다.

이상 주니어 개발팀이 지라를 사용하는 법 총정리…? 아무튼 삽질하면서 세팅한 내용을 정리해봤다. (이렇게 쓰는 게 맞다!가 아니라 이렇게 쓰고 있다~ 정도의 글이니 이상한 부분이 있으면 댓글 부탁드립니다!)
솔직히 스크럼도 잘 모르겠는데 지라까지 쓰면서 하려니까 머리가 두배로 복잡했다. 하지만 지금은 어느정도 익숙해져서 그냥저냥 잘 쓰고 있는 것 같다. 앞으로도 유용한 내용이 생기면 추가하려고 한다.

지라를 처음 사용해보는 사람은 세팅할 때 욕이 나올 수밖에 없는데… 이 내용을 보고 조금이라도 도움이 되었으면 좋겠다.

profile
배워서 남주는 개발자 김채은입니다 ( •̀ .̫ •́ )✧

4개의 댓글

comment-user-thumbnail
2022년 8월 13일

지라 배워보고 싶은 툴이었는데
올려주신 글 보고 잘 배워볼게요🥰

1개의 답글
comment-user-thumbnail
2022년 9월 24일

처음 지라를 접하면 어떻게 사용할지 막막한데 많은 도움이 될 것 같은 글이네요.
공유해주셔서 감사합니다!

1개의 답글