왜 Jira를 사용해야 하는가? 4가지 관점에서 볼 수 있음
1. Issue Tracking (Project Management)
- 의미: 이슈 추적 (Issue Tracking)은 프로젝트의 작업 상태를 관리하고 추적하는 과정
- 특징: Jira는 강력한 이슈 추적 기능을 제공하여 이슈 생성, 할당, 우선순위 설정, 진행 상황 추적, 의견 공유 등을 통해 팀의 업무를 효율적으로 조율하고 업무 투명성을 확보 가능
2. Agile
- 의미: 빠른 변경에 대응하고 가치를 신속하게 제공하기 위한 방식
- 특징: Jira는 Agile 방법론을 지원하며 *스크럼, 칸반, 익스트림 프로그래밍 등 다양한 방식으로 프로젝트를 구성하고 관리할 수 있음. Agile 보드를 사용하여 백로그 관리, 스프린트 계획, 작업 추적, 스프린트 리뷰 등을 수행할 수 있어 팀은 작업을 민첩하게 진행하고 변경사항에 신속하게 대응 가능
*Scrum 방법론의 주요 개념
- Scrum meeting (Daily Scrum) (하루에 10분 이내로 끝내도록 권장 - 그래서 일어서서 스크럼 미팅을 하라고 권장, )
: 아침마다 모여서 기분이 어떤지 등 small talk를 한 다음, 어떤일 했고, 어떤 일을 할 건지에 대해 공유하는 시간을 가짐
- burndown chart
: 오늘 어떤 이슈를 해결했는가를 관리해주는 것 / 0이 되면 내 할일이 끝난 것
*Backlog : 남은 할 일을 담아두는 곳 / log는 장작을 의미, 타지 않고 남아있는 장작은 backlog라고 함
*Kanban 방법론의 주요 개념
- Sprint가 없다
- Issue를 상태 관리만 해준다 --> 누군가에게 일이 몰릴 수 있다, 따라서 WIP (Work In Progress) 로 관리
3. DevOps
- 의미: DevOps는 개발과 운영 팀 간의 협업과 통합을 강조하는 방식 / *사일로 현상 방지
- DevOps를 잘 수행하기 위한 조건
- 반복적인 작업들을 Tool을 이용해서 자동화
- 팀원 모두가 알고 있는 하나의 공유된 지표가 필요
- 장애나 이슈가 있을 때 혼자만 알지 말고 팀원들과 공유 필요
*사일로 현상 : 이기적으로 우리 조직만을 생각하는 현상
4. SRE (Site Reliability Engineering)
- 의미: SRE는 시스템의 신뢰성과 안정성을 개선하는 역할을 하는 분야 / 구글 NEXT 발표에서 확인할 수 있는 개념
- 특징: 장애 추적, 복구 작업 조율, 문제의 근본 원인 분석 및 수정 등을 위해 Jira를 활용 가능. 이를 통해 시스템 장애를 추적하고 대응하며, 안정성을 확보 가능
*Error budget : 얼마나 에러 허용치를 둘까 / 일정 수준을 넘으면 개발을 멈추고 품질을 높이는 데 기여하자
JIRA 실제 활용 시 가이드
빨간 박스 개념에는 Task, Story, Bug, Epic 등이 있음
Task : 일반적인 개념
Story : 사용자 관점에서 필요한 기능 / 로그인 기능, 비밀번호 변경 기능 등
Bug : 에러 발생 이슈
Epic : 여러 태스크를 하나로 묶는 큰 개념을 작성 시 사용, 추후 Epic 단위로 관리
어떤 version의 버그를 고치는 지 표시할 때 사용
해당 작업의 난이도 등을 나타내는 지표
Workflow
Ticket이 생성되고 완료될 때까지의 상태 변화
- 해당 기능 이용 시, 프로젝트 진행상황을 한 눈에 파악 가능
- 불필요한 커뮤니케이션 감소
OPEN : 등록은 했는데, 어떻게 할 지 모르는 상태
CLOSED : 상황 종료
관리자가 아닌 이상, workflow를 개개인이 설정 불가능하다 (팀에 일괄 적용이기 때문에, template 유지를 위함)
BULK
여러 개의 이슈를 한 번에 수정하는 방법
JQL 등을 이용해서 이슈를 따고, 일괄 변경을 진행하면 된다.
Components and Labels
프로젝트 구성 요소를 만들 수 있다 (BE, FE 등) / 라벨보다는 컴포넌트를 이용하는 게 좋음
이름에 BE, FE 등 삽입 가능
기본 담당자는 프로젝트 리더 등 선택 가능
컴포넌트를 생성 후, Bulk 작업을 통해 각 이슈에 작업 할당 가능
Releases
버저닝 규칙에 따라 이름 설정
설명에는 이전 버전과 비교점 등을 삽입
JQL (Jira Query Language)
Jira Issue를 구조적으로 검색하기 위해 제공하는 언어 / SQL과 비슷한 문법 (아래 참고)
쌓인 Issue들을 재가공해 유의미한 데이터(ex. Gadget, Agile Board 등)를 도출할 때 활용
Query에는 Basic Query와 Advanced Query가 있음
JQL Operators
- =, !=, >, >=
- in, not in
- ~ (contains), !~ (not contains)
- is empty, is not empty, is not null
- AND, OR, NOT, EMPTY, NULL, ORDER BY
검색은 다음 창처럼, [Filter] - [Advanced issue search]를 통해 접근 가능
JQL Dates
w는 1주, d는 하루, 1시간은 1h, 1분은 1m
사용 요령 : updated > startOfWeek(2d) (이번주 화요일 {일요일 + 2d} 이후로 업데이트된 것) | assignee = currentUser() (담당자가 지금 로그인한 사용자)
추가로
- endofDay(), startOfDay()
- endOfWeek() (토요일), startOfWeek() (일요일)
- endOfMonth(), startOfMonth(), endOfYear(), startOfYear()
- currentUser()
이런 명령어들이 존재
DashBoard 활용
각종 Gadget을 오른쪽에서 검색해 끌고와서 여러 일정을 관리할 수 있음
Filter Results, Assigned to Me 등을 갖고 와서 구성하는 것임
좌측 메인 보드탭을 클릭하면, 아래에 Create board를 통해 위 사진의 창을 띄울 수 있음
Project Management
SW 개발 프로젝트의 문제
1. 프로젝트 결과물이 추상적이다
2. 프로젝트 일정 관리가 쉽지 않다
3. 리소스 역량 양극화
4. 팀 구성원 간 커뮤니케이션이 쉽지 않다
5. 기술적 불확실성이 높다. (잘 될거라 생각했는데, 오류가 많이 발생)
PM 구성요소
3대 제약조건
- Scope Management : 범위 관리; 결과물을 어떤 걸 만들 것인가? 요구사항/기능이 무엇이냐
: 모든 요구사항이 프로젝트 작업에 누락없이 포함되고, 해당 내용이 성공적으로 완료되도록 명확히 하는 것
- Time Management : 일정 관리;
- Cost Management : 원가 관리; 원가 경쟁력이 있어야 한다.
- Quality Management : 품질 관리;
- Resource Management : 자원 관리; 자발적인가 강요/명령인가, 전자여야 PM이 의미가 있다.
- Communication Management : 의사소통 관리;
- Rist Management : 리스크 관리;
- Procurement Management : 조달 관리; 아웃소싱 내용
- Integration Management : 통합 관리;
- Stakeholder Management : 이해관계자관리;
'IT_Study > Team Project' 카테고리의 다른 글
[특화 PJT] 게임 통신 방식에 따른 서버 분류 및 WAN 환경에서 유저 연결 시 문제점 (0) | 2023.09.20 |
---|---|
[특화 PJT] Data Flow 설계기법 (0) | 2023.08.29 |
[공통 PJT] Agile 개발 방법론 정리 (0) | 2023.07.11 |
[공통 PJT] 코드 리뷰 방법 정리 (0) | 2023.07.07 |