ALM/JIRA

Atlassian JIRA를 이용한 프로젝트 관리 (기초편)

Terry Cho 2008. 4. 4. 18:09
JIRA는 Atlassian사에서 개발한 Issue Tracking System이다. 원래 이 "이슈 관리 시스템"은 버그 추적 시스템에서 시작되어서 현재는 버그뿐만이 아니라 일반적인 이슈에서 부터 프로젝트 관리까지를 지원한다.

본 프로젝트에서는 JIRA를 프로젝트 스케쥴에 대한 관리도구와 개발원간에 작업을 배분하고 커뮤니케이션하는 도구로 사용한다.

  • Issue

지라에서는 각각의 작업을 이슈라는 단위로 관리하고 이슈의 종류를 다음과 같이 정의하였다.

  • User Story
    사용자의 요구 사항이나 개발의 대상이 되는 기능이다. User Story를 구현하기 위해서 각각의 User Story는 구체적인 작업인 Task를 하위작업으로 가지고 있다.
  • Task
    User Story의 하위 작업으로 User Story를 위해서 개발자가 실제로 작업해야 하는 각각의 단위 작업을 의미한다.
  • Bugs
    개발과정중에 보고된 버그
  • Enhancement Request
    기능 개선 요청으로 기능 추가 작업이다.
  • Issue 단위의 작업 절차 

이 이슈단위로 작업을 진행하는 절차를 정리해보면 다음과 같다.

  • 먼저 PM이 요구 사항을 취합하여 User Story를 작성한다.
  • 다음으로 User Story를 구현하기 위해서 실제 Task들을 해당 User Story 아래에 생성한다.
  • 다음으로 생성된 Task들을 개발자에게 지정(Assign) 한다.
  • 또는 Assign 되지 않은 작업에 대해서 개발자가 스스로 작업을 가지고 가서 작업을 진행한다.

실제로 하나의 예를 들어보자.

프로젝트 진행을 위한 환경 설정을 하기 위해서 개발 환경 설정이라는 이슈를 이슈#1에 User Story 타입으로 생성하였다.
다음으로 JIRA의 환경 설정 SubVersion의 설치, ANT설치를 각각 Task로 생성하고 JIRA 환경 설정은 choi씨에게 지정하였다. choi씨는 지라에 로그인하여 자신에게 "JIRA 환경 설정" 에 대한 Task가 지정되어 있음을 확인하고 해당 이슈를 진행한후 Close 하였다.

이와 같은 시나리오를 거치게 된다.

  • JIRA 사용법

자바스터디 지라 사이트에 접속한다. IP는 http://211.115.216.55:9000/jira 아이디와 비밀번호는 bwcho75@지메일에 신청하여 발급 받는다. 발급받은 아이디와 비밀번호로 로그인을 한다.

사용자 삽입 이미지

로그인후에 HOME 을 보면 위와 같은 화면이 나오는데, 이 화면은 화면 우측 위쪽에 "Configure ON|OFF" 에서 ON을 누르면 HOME 에 자신이 필요한 기능들을 추가하거나 삭제하여 마음대로 초기화면을 구성할 수 있다. 현재 보이는 초기화면은 Calendar를 추가한 화면이다.
오른쪽에 "Open Issues: Assigned To Me"에 이슈가 리스팅 되어 있는 것이 보이는데, 이는 나에게 작업을 하도록 할당된 이슈이다.
또는 Home에서, "Filter Issues:" 메뉴에서

All을 선택하면 전체 이슈
Assigned to me 는 나에게 작업을 하도록 할당되어 있는 이슈
Reported by me 는 내가 보고한 이슈이다.

User Story등은 PM이 생성하고 일반 개발자들이 생성할일이 없으며, 일반 개발자들이 생성할 수 있는 이슈의 종류는 User Story아래에 있는 Task나 Enhancement Request (기능 개선 요청) 또는 버그이다.

아래 화면은 지정된 이슈를 클릭한 화면인데,

사용자 삽입 이미지

  • 왼쪽 상당의 상태는 현재 "Status : In Progress" 상태이다. 이는 현재 Task를 개발자가 받았고 실제로 작업을 진행중인 상태라고 표시되는 것이다.
    처음에 생성되고 개발자에게 지정되거나 또는 지정이 안된 상태의 이슈들은 진행이 아직 안되어 있는 것이기 때문에 "Status : Open" 으로 출력 된다. 이를 진행으로 바꾸기 위해서는 "Avaliable Workflow Actions"에서 "Start Progress"를 누르면 상태가 "In Progress"로 변경된다.
  • 만약에 이슈를 다른 사람에게 할당해야 할 경우에는 좌측 중간의 "Assign this issue"메뉴를 클릭하여 다른 사람에게 Issue를 할당할 수 있다.
  • 만약에 이 이슈가 자신이 해결할 수 없을 경우에는 PM에게 해당 이슈를 할당하여 PM이 적절한 사람에게 이슈를 할당하도록 한다.
  • 이슈에 대한 진행 내용은 빠짐없이 왼쪽 메뉴의 "Comment on this issue"를 이용하여 진행 현황등을 기록하고, 만약 PM이나 다른 사람과 의사소통이 필요할 경우에도 Comment를 단 후에 담당자에게 Assign하는 식으로 의사 소통을 진행한다.
  • 해당 이슈 해결이 끝난 경우에는 "Resolve Issue" 메뉴를 이용하여 이슈가 해결된 상태로 변경하고, 만약 이슈에 대한 검증이 필요할때는 해당 담당자에게 할당한다. 이런 흐름은 예를들어 개발을 완료한후에 QA조직에 테스트를 요청할 경우 이러한 흐름을 따르게 된다.
  • 테스트와 검증이 모두 완료되면 "Close Issue"를 통해서 해당 이슈를 완전히 종료 한다.
  • 본 프로젝트에서는 일반적인 환경 설정등의 작업은 개인이 CLOSE를 해도 되지만 개발에 관련된 Task는 Resolved 상태로 바꾼후에 PM에게 다시 Assign하여 PM이 CLOSE할 수 있도록 한다.

정리하면

  1. PM이 User Story를 만든다.
  2. PM이 거기에 해당되는 Task들을 생성
  3. PM이 Task를 개발자에게 배분
  4. 개발자가 해당 Task를 받은후 "In Progress" 상태로 바꾼다.
  5. 개발자가 진행 내용이나 의사 소통이 필요한 정보를 Comment로 적는다. (이때 필요하면 Attach 메뉴를 이용하여 파일을 첨부할 수 도 있다.)
  6. 개발자가 개발을 완료 하면 상태를 Resolve Issue 를 이용하여 상태를 바꾸고 PM에게 다시 이슈를 Assign한다.
  7. PM은 Resolved된 이슈들이 제대로 반영되었는지를 확인한후에 Close상태로 변경한다.

이번글에서는 이슈 처리에 대한 워크플로우와 프로젝트에서 사용할 이슈의 종류에 대해서 알아보았다. 다음글에서는 "버전" 에 따른 스케쥴 관리 방법에 대해서 알아보겠다.

'ALM > JIRA' 카테고리의 다른 글

Atlassian JIRA를 이용한 애자일 Scrum 프로젝트 관리  (18) 2013.12.20
JIRA 클라이언트  (0) 2008.11.07
JIRA 교육용 자료  (0) 2008.07.29
JIRA와 SVN 연동  (2) 2008.03.03