페이지 트리

이 문서는 Atlassian Jira의 주요 핵심 기능을 소개하기 위해 작성되었다. 



Jira Software 개요

Jira Software?

Jira Software는 이슈 관리와 애자일 프로젝트 관리 기능이 조합된 강력한 플랫폼이다. Jira software를 사용하면 팀을 더 효율적으로 관리하고 프로젝트의 업무를 계획하고, 업무에 대한 워크플로우, 리포트를 체계적으로 관리할 수 있다. 

소프트웨어 개발과 Jira

다음 그림은 소프트웨어 개발에서 Jira, Confluence, Bitbucket, Bamboo에 대한 상호 연계 관계를 보여준다. 

  • Jira
    Jira는 다양한 이슈를 기반으로 프로젝트 계획하고 개발 연계, 릴리즈 관리, 프로젝트 현황을 관리하기 위해 사용된다. 
  • Confluence
    Confluence는 Wiki기반 협업 도구로 Project 문서, 요구사항, UX/UI 문서, 디자인, 기술 문서 등을 관리한다.
  • Bitbucket
    Bitbucket은 소프트웨어 소스 코드에 대한 형상 관리 도구로 Jira 이슈와 Commit 연계, 브랜치 관리, 코드 머지, 코드 리뷰 등을 제공한다.
  • Bamboo
    Bamboo는 CI/CD를 제공하는 도구로 Bitbucket과 연계하여 소스 코드의 빌드를 점검하고 배포를 관리한다.


Jira 사용자 역할

Jira Software에서는 크게 3가지 역할을 구분할 수 있다. 그 역할과 간단한 설명은 다음과 같다. 

  • Jira 시스템 관리자
    Jira 시스템 관리자는 Jira Software를 셋업, 구성하고 인스턴스를 유지관리하는 역할을 한다. 
  • Jira 프로젝트 관리자
    Jira 프로젝트 관리자는 제품 관리자, 개발 관리자, 스크럼 마스터, 팀 리더 등이 될 수 있다. 이는 Jira에서 자신의 프로젝트에 대한 사용자 권한 관리, 이슈 관리(이슈 타입, 워크플로우) 등을 할 수 있다. 
  • Jira 사용자
    프로젝트의 일반 멤버로 개발자, 디자이너, QA 엔지니어, 테크니컬 라이터 등이 될 수 있다. 


Jira Software 기능

Jira 프로젝트 템플릿

Jira의 프로젝트는 권한에 따라 Jira 시스템 관리자 혹은 프로젝트 관리자가 생성할 수 있다. 

기본적으로 라이센스에 따라 Software, Service Desk, Business 타입의 프로젝트를 만들 수 있고 추가적인 플러그인을 설치하여 추가적인 타입의 프로젝트를 얻을 수 있다.

기본 프로젝트 타입은 다음과 같이 설명할 수 있다.

  • Software
    소프트웨어 타입은 Jira Software 제품을 사용할 경우 활성화된다. Scrum, Kanban과 같이 개발과 관련된 프로젝트를 위한 템플릿을 제공한다. 
  • Service Desk
    서비스 데스크 타입은 Jira Service Desk 제품을 사용할 경우 활성화된다. Jira Service Desk를 통해 고객 지원, ITSM과 같은 용도로 사용할 수 있다.
  • Business 
    비지니스 타입은 Jira Core 제품을 사용할 경우 활성화된다. 개발 관련된 기능이 빠진 이슈 기반으로 프로젝트를 관리할 수 있다.

Jira Software 프로젝트

Jira Softwawe는 애자일 스크럼과 칸반과 같은 소프트웨어 개발을 위한 도구를 지원하고 있다. 하위 절에서는 스크럼과 관련된 Jira의 주요 기능에 대해서 살펴보겠다.

백로그 및 스프린트 계획

스크럼 프로젝트에서 백로그는 프로덕트를 출시하기 위해 해야할 모든 일을 의미한다. Jira Software의 스크럼 프로젝트에서는 Jira에서 생성된 모든 처리되지 않은 이슈들은 백로그로 위치하게 된다. 

다음 그림은 Jira에서 백로그 리스트와 특정 스프린트에 백로그를 할당하여 스프린트 계획을 수행하는 예시를 보여준다. 

Jira에 존재하는 백로그를 특정 스프린트로 옮기는 것은 해당 백로그를 선택해 드래근 앤 드롭으로 해결할 수 있다. 그외 추가적으로 에픽 연계, 버전 연계, 스토리 포인트 추정 등을 제공한다. 

스크럼반 보드

스크럼반 보드는 스크럼과 칸반을 합한 용어라고 볼 수 있다. Jira에서 스프린트 계획 수립 후 스프린트를 시작하면, 해당 Actvie 스프린트를 칸반과 같은 형태로 보여준다. 

다음 그림은 Jira에서 제공하는 스크럼반 보드의 예시로 볼 수 있다. 그림에서 확인할 수 있듯이 업무들의 현재 상태를 명확하게 구분할 수 있다. To Do의 업무를 시작하게 되면 In Progress로 이동하고 완료되면 Done으로 이전할 수 있다. 

릴리즈 관리

일반적으로 스크럼 프로젝트에서는 스프린트 동안 개발된 산출물을 고객이 확인할 수 있는 형태로 배포하게 된다. 하지만 전체적인 여러 기능을 포함한 제품을 배포하기에는 스프린트는 짧은 기간일 수 있다. Jira의 릴리즈 관리는 스프린트 산출물과 별개 개발되는 제품의 버전과 출시일, 기능, 버그 개선 등을 관리할 수 있게 해주는 도구이다. 이 릴리즈는 Bitbucket과 같은 소프트웨어 형상 관리 도구가 연계되어 있으면 Commit과 Pull Request를 확인할 수 있고, Bamboo와 같은 빌드 자동화 도구가 연동되어 있다면, 빌드 및 배포 정보를 함께 확인할 수 있다. 

다음 그림은 Jira Software 릴리즈 관리의 예시를 확인할 수 있다. 

리포트

Jira Software는 프로젝트와 관련된 다양한 리포트를 제공하고 있다. 이러한 리포트를 통해 프로젝트 현황을 파악하여 프로젝트가 원하는 형태로 잘 진행되고 있는지를 확인할 수 있다. 

다음 그림은 Jira의 리포트 종료의 예시를 보여주고 있다. 


Jira의 경우 프로젝트 타입에 따라 지원되는 리포트가 달라진다. 먼저 애자일 소프트웨어 프로젝트의 경우 다음 리포트를 지원한다.

  • Burndown Chart
  • Sprint Report
  • Velocity Chart
  • Cumulative Flow Diagram
  • Version Report
  • Epic Report
  • Control Chart
  • Epic Burndown
  • Release Burndown

다음은 일반적인 이슈와 관련된 프로젝트 리포트 리스트이다.

  • Average Age Report
  • Created vs Resolved Issues Report
  • Pie Chart Report
  • Recently Created Issues Report
  • Resolution Time Report
  • Single Level Group by Report
  • Time Since Issues Report
  • Time Tracking Report
  • User Workload Report
  • Version Workload Report

이슈

Jira에서 이슈는 Jira를 구성하고 있는 전체로 볼 수 있다. 이슈는 애자일 프로젝트를 위해 Epic, Story와 같은 형태로 사용될 수 있고 일반 소프트웨어 개발을 위해 Bug, Improvement, New Feature와 같은 형태로 사용되며 비즈니스 프로젝트에서는 단순히 Task로 사용된다. 이러한 이슈의 이름들은 Jira에서 이슈 타입으로 구분된다. 

다음 그림은 애자일 스크럼 프로젝트에서 이슈의 예시를 보여주고 있다. 


Jira에서 이슈는 크게 다음과 같이 구성된다.

  • 필드
    필드는 이슈에 추가적인 정보를 담고 있다. 예로 이슈의 타입, 우선순위, 담당자, 보고자, 생성일, 수정일, 첨부파일과 같은 것들이 필드이다.
  • 워크플로우
    워크플로우는 이슈가 가질 수 있는 상태를 말한다. 준비중인 이슈는 To Do, 진행중인 이슈는 In Progress, 완료된 이슈는 Done이다. Jira는 사용자가 원하는 형태의 이슈에 대한 상태를 정의하고 이동할 수 있는 방향 즉 워크플로우를 설정할 수 있다. 
  • 스크린
    스크린은 사용자에게 보이는 화면이다. 기본적으로 보이는 화면, 생성 시 보이는 화면, 수정 시 보이는 화면 혹은 상태 전의시 화면 등을 설정할 수 있다. 


Jira 프로젝트 구성

Jira 프로젝트 관리자는 시스템 관리 권한이 없지만 Jira 프로젝트 내에서 이슈 타입, 워크플로우, 사용자 관리 등을 구성할 수 있다. 

다음 그림은 일반적은 프로젝트 관리 메뉴를 보여준다. 


프로젝트 관리의 주요 내용을 다음과 같다. 

  • Details
    프로젝트 명, Key, 타입, 카테고리, 설명 등을 수정할 수 있다. 
  • Re-index project
    벌크 모드는 이슈를 대량 수정했을때, 수동으로 인덱싱을 하여 빠르게 반영할 수 있게 해준다. 
  • Delete Project
  • Issue Types
    프로젝트에서 사용되고 있는 이슈 타입을 확인할 수 있다. 
  • Workflows
    이슈 타입에 대한 워크플로우를 수정할 수 있다. 
  • Screens
    이슈 타입 별 사용하고 있는 스크린 정보를 확인할 수 있다. 
  • Fields
    이슈 타입 별 사용하고 있는 필드를 확인할 수 있다. 
  • Versions
    프로젝트의 버전 리스트를 확인할 수 있다. 
  • Components
    프로젝트의 컴포넌트 리스트를 확인할 수 있다.
  • Users and Roles
    사용자의 역할을 지정한다. 예로 프로젝트 관리자, 개발자, 디자이너 등을 설정할 수 있다. 
  • Permission
    프로젝트의 권한 관리에 대한 설정을 확인할 수 있다. 

이슈 검색

이슈 검색은 상단 Issues 메뉴를 통해 접근할 수 있다. 이는 프로젝트에 종속적이지 않으며 검색 쿼리를 통해 원하는 이슈들의 리스트를 확인할 수 있게 해준다. 

기본 이슈 검색

기본 이슈 검색은 Jira의 존재하는 모든 이슈를 특정 조건에 따라 결과를 확인할 수 있게 해준다. 

다음 그림은 기본 이슈 검색 결과를 보여주는 화면이다. 사용자는 Jira에 존재하는 거의 대부분의 필드에 조건을 주고 검색 결과를 확인할 수 있다. 예로 전체 프로젝트 중에 나에게 할당된 이슈 혹은 오늘까지 끝내야할 이슈 혹은 저번주에 완료된 이슈와 같은 다양한 결과를 도출할 수 있게 해준다. 


JQL 이슈 검색

JQL은 Jira Query Language의 약자이다. Jira는 검색을 위해 자신만의 Query를 가지고 있으며, 원하는 결과를 다양한 함수와 함께 얻을 수 있게 지원한다. 

다음은 지연되고 있는 이슈의 JQL 예시를 보여준다. 

due <= "0" AND assignee in (currentUser())


검색 결과 저장 및 공유

Jira에서는 기본 검색이든 JQL을 이용한 검색이든 검색된 결과를 저장할 수 있게 해준다. 이러한 검색 결과를 Jira에서는 Filter라고 부르고 있으며, 이러한 Filter를 다음 그림과 같이 저장할 수 있다. 

이렇게 저장된 필터는 팀원들과 공유할 수 있으며, 변동 사항이 있거나 혹은 주기적으로 이메일로 Subscription 할 수 있다. 

대시보드

Jira는 자신만의 대시보드를 만드는 것을 지원한다. 사용자들은 Jira에서 제공하는 가젯 기반으로 자신에게 특화된 대시보드를 만들고 이를 팀원들에게 공유할 수 있다. 

다음 그림은 Jira 대시보드의 예시를 보여주고 있다. 

애드온

마지막으로 Jira의 기본적인 기능을 보다 확장하고 싶다면 Atlassian에서 제공하는 Marketplace를 통해 유/무료 애드온을 설치할 수 있다. 

2018년 4월 기준으로 현재 Jira 관련 플러그인은 1600 여개가 있다. 


3 댓글

  1. 수고하셨습니다. (웃음)

  2. 예시 화면을 통해 직관적으로 기능을 이해할 수 있겠네요. 시간이 된다면 업무 흐름 과점에서 Jira의 활용성을 설명하면 좋을것 같습니다.

    1. 추후 추가 하도록 하겠습니다.