Do You Coding?

[Project] Jira 및 JQL 기초 가이드 : 애자일과 데브옵스의 핵심 본문

Growth/Documents

[Project] Jira 및 JQL 기초 가이드 : 애자일과 데브옵스의 핵심

 

개발자 채용 공고를 보면 우대 사항에 빠지지 않고 등장하는 툴이 있습니다. 바로 Jira(지라)입니다.

단순히 할 일을 적는 메모장이 아니라, 프로젝트 관리(PM), 애자일 협업, 데브옵스 문화를 실현하는 핵심 도구이기 때문입니다.

오늘은 Jira를 왜 써야 하는지, 그리고 현업에서 어떻게 활용하는지(JQL 포함) 간단하게 정리해 보겠습니다.


1. Jira를 왜 사용하는가?

 

1) Issue Tracking (이슈 트래킹)
: 혼자 개발할 때는 'Todo 리스트'만 있어도 충분합니다.

하지만 팀 단위 프로젝트에서는 누가, 언제, 무엇을, 어떤 상태로 진행 중인지 투명하게 공유되어야 합니다.

또한, 모든 단계들을 이슈로 생각하고 모든 과정에 Jira가 필요합니다.

 

 

이슈 트래킹을 써야 하는 이유: 구두로 전달된 업무는 누락되거나 이력이 남지 않습니다.

모든 업무를 '티켓(이슈)'화하여 히스토리를 남기고 책임 소재를 명확히 하기 위함입니다.

(티켓이란, Jira에서 생성되는 작업 단위를 의미하고 하나의 업무나 이슈, 버그, 기능 요청 등을 뜻함.)

수많은 도구 중 Jira는 확장성과 연동성이 가장 뛰어나 업계 표준으로 자리 잡았습니다.

 


2) Project Management (프로젝트 관리)
: 관리자나 PM 입장에서 프로젝트 현황을 한눈에 파악하기 위함입니다.
프로젝트의 거시적인 일정과 진행률을 시각적으로 파악하여 리소스 분배를 최적화할 수 있습니다.

 


3) 'Agile & Scrum' VS 'Kanban'
: Jira는 애자일(Agile) 방법론을 가장 강력하게 지원하는 도구입니다.

  • Scrum (스크럼): 정해진 기간(스프린트) 동안 집중해서 목표를 달성하는 방식.
  • Kanban (칸반): 작업의 흐름을 중시하며, To Do -> In Progress -> Done 같은 보드를 통해 업무의 병목 현상을 관리.
  • Sprint (스프린트): 스크럼에서 사용하는 1~4주 단위의 반복 개발 주기.

 

4) Scrum Meeting (스크럼 미팅)
: 팀원이 체크인하고, 하루 업무를 계획하는 짧은 미팅

  • Daily Standup: 어제 한 일, 오늘 할 일, 그리고 방해 요소를 짧게 공유하는 시간.
  • Sprint Planning: 스프린트 시작 전, 백로그에서 어떤 이슈를 이번에 처리할지 선정하고 계획하는 회의.
  • Retrospective (회고): 스프린트 종료 후 좋았던 점, 문제점, 개선할 점을 논의하는 시간.

 

5) Backlog (백로그)
 :  아직 스프린트에 할당되지 않은, 해야 할 모든 업무의 저장소입니다.

아이디어 단계이거나 당장 급하지 않은 일감들이 쌓여 있는 곳으로, 우선순위가 높은 것들을 골라 스프린트로 옮깁니다.

 


6) DevOps와 Silo 현상

  • Silo(사일로) 현상: 곡식을 저장하는 굴뚝(Silo)처럼, 개발팀(Dev)과 운영팀(Ops)이 서로 소통 없이 고립되어
    자기들끼리만 일하는 현상입니다. "내 컴퓨터에선 되는데?"라며 서로 책임을 미루는 원인이 됩니다.
  • DevOps: 개발과 운영의 벽을 허물고 하나의 팀처럼 움직이는 문화입니다.

 

7) DevOps를 잘 수행하기 위한 조건

  • 반복 작업의 자동화: 빌드, 배포, 테스트 등을 툴로 자동화해야 합니다.
  • 공유된 지표: 팀원 모두가 같은 목표와 현재 상태를 봐야 합니다.
  • 투명한 공유: 장애나 이슈 발생 시 개인만 아는 것이 아니라, Jira 티켓을 통해 즉시 전파되어야 합니다.
    • 결론: Jira는 이 모든 과정의 '단일 진실 공급원' 역할을 합니다.

 

8) Atlassian Intelligence & Rovo (AI)

  • Atlassian Intelligence: 생성형 AI를 이용해 이슈 요약, 어조 변경, JQL 자동 생성 등을 지원합니다.
  • Atlassian Rovo: 단순한 검색을 넘어, 흩어진 데이터를 통합 검색하고 지식을 찾아주는 AI 지식 에이전트입니다.
    "우리 회사의 지난달 마케팅 자료 찾아줘" 같은 질문에 답을 해줍니다.

 


2. Jira 실전 사용법

1) 이슈(Issue) 만들기: 계층 구조
: Jira의 이슈는 크기에 따라 계층이 나뉩니다.

  • Epic (에픽) : 가장 큰 단위, 장편 소설 같은 큰 서사입니다. (예: '회원가입/로그인 시스템 구축', '결제 시스템 개편') 
  • Story (스토리) : 사용자 관점의 요구사항, "사용자는 ~하기 위해 ~할 수 있다" 형식
    (예: '사용자는 비밀번호를 찾기 위해 이메일 인증을 할 수 있다')
  • Task (태스크) : 기술적인 업무 (예: 'DB 스키마 설계', '서버 구축')
  • Bug (버그) : 오류 수정
  • Sub-task (하위 작업) : 스토리를 완료하기 위해 쪼갠 구체적인 작업 단위


2) 주요 필드 작성법

  • 상태 : 해야할일 / 진행 중 / 완료 등

  • 요약 (Summary) : 명확한 제목 (예: [FE] 로그인 페이지 UI 구현)

  • 컴포넌트 (Component) : 프로젝트의 기능적/구조적 분류 (예: Backend, Frontend, Android, iOS)

(팀 리더가 미리 설정 필요. 이름 / 설명 / 컴포넌트 리드 / 기본담당자 작성)

  • 설명 : 해당 이슈의 설명을 작성
  • 담당자 : 해당 이슈의 담당자를 지정
  • 우선순위 (Priority) : 일의 순서를 정하는 핵심 지표
  • 레이블 (Label) : 해시태그 기능 (이슈를 구분하기 위한 용도 중 하나, 검색을 용이하게 함)
  • 수정 버전 (Fix Version) : 이 작업이 어느 배포 버전에 포함될지 지정.
    (예: Release 1.0.0, 릴리즈에서 만들어놓은 것을 이용)
    (+ 유형이 버그일때는 '영향을 받는 버전' 이라는 선택도 존재, 마찬가지로 릴리즈에서 만든 버전중 선택함)
  • 릴리즈 (Release) : 버전같은 것. 실제 릴리즈를 하는건 아니고, 해당 버전에 대한 내용을 보기 위한 상태 관리 용도
  • 스토리 포인트 : 업무의 시간이 아닌 '복잡도'와 '노력'을 점수화한 것.
    (Story Point - Scrum Poker 라는 것을 이용해서 점수(1, 2, 3, 5, 8...)를 매기는 활동을 통해 산정하기도 함.)

3. JQL (Jira Query Language)

Jira에 쌓인 수천 개의 이슈 중 내가 원하는 데이터만 쏙 뽑아내고 싶을 때 사용하는 강력한 도구입니다.

SQL과 문법이 매우 유사합니다.

 

1) 왜 쓰는가?

  • 기본 필터로는 검색 안 되는 복잡한 조건 검색
  • 나만의 대시보드(Dashboard) 구성
  • 애자일 보드(Kanban/Scrum Board)의 데이터 소스 정의 (쌓인 Issue들을 재가공해 유의미한 데이터를 도출)

2) 핵심 문법 (Cheatsheet)

 

  • Operators : =, !=, >, <, IN, NOT IN, IS EMPTY, ~(포함), !~(미포함)
  • Keywords : AND, OR, NOT, ORDER BY
  • Functions :
    • currentUser(): 현재 로그인한 사람(나)
    • membersOf("Team A"): 특정 그룹 멤버
    • startOfDay(), endOfWeek(): 날짜 관련 함수

Jira 업무에서 JQL을 작성해서 업무들을 특정 날짜 등 원하는 업무들만 보거나 할 수 있습니다.
AI 활용해서 JQL을 작성하도록 할 수도 있습니다. (편리 기능)


4. 현업 활용 꿀팁 (Pro-Tips)

1) 대시보드 (Dashboard)

: JQL로 만든 필터를 시각화하는 곳입니다.

  • Pie Chart: 담당자별 업무 분포도
  • Sprint Health Gadget: 남은 시간 대비 업무 진행률
  • Created vs Resolved: 이슈 처리 속도 그래프.
    팀원 모두가 이 대시보드를 보며 "우리가 지금 잘 가고 있나?"를 판단합니다.

2) Smart Commit (스마트 커밋)

: 현업에서는 소스 코드 저장소(GitHub, GitLab)와 Jira를 연동해서 씁니다.

코드를 커밋할 때 메시지에 Jira 이슈 키를 적으면 마법이 일어납니다.

  • 사용법: [이슈키] #태그 내용
  • 예시: PROJ-123 #comment 로그인 버그 수정 완료 #time 1h 30m
    • 이렇게 커밋하면 Jira 이슈(PROJ-123)에 자동으로 댓글이 달리고, 작업 시간이 기록됩니다.
    • 심지어 #resolve 태그를 쓰면 이슈 상태를 자동으로 '완료'로 바꿀 수도 있습니다.

마무리

Jira는 단순한 메모장이 아닙니다.

팀의 업무 흐름을 시각화하고, 병목을 찾아내며,

궁극적으로는 소프트웨어의 품질과 배포 속도를 높이는 데 기여하는 플랫폼입니다.

 

처음엔 복잡해 보일 수 있지만, '이슈 생성 -> 스프린트 할당 -> JQL로 조회 -> 대시보드로 공유'라는 흐름만 익히면,

여러분도 어떤 팀에서든 환영받는 협업 마스터가 될 수 있습니다.